{
  "generated_at": "2026-05-20T13:50:56.310666+00:00",
  "type": "spark-writes",
  "summary": {
    "pass": 6643,
    "fail": 1,
    "skip": 125,
    "pending": 893,
    "total": 7662,
    "by_status": {
      "pass": 6638,
      "fail": 6,
      "skip": 125,
      "partial": 0,
      "pending": 893
    },
    "by_format": {
      "delta": {
        "pass": 3749,
        "fail": 6,
        "skip": 125,
        "partial": 0,
        "pending": 0
      },
      "iceberg": {
        "pass": 2889,
        "fail": 0,
        "skip": 0,
        "partial": 0,
        "pending": 893
      }
    },
    "by_skip_cause": {
      "spark_oss_limitation": 122,
      "unknown": 3
    },
    "executable": {
      "total": 6644,
      "pass": 6638,
      "fail": 6,
      "pass_rate": 0.9990969295605057
    }
  },
  "tests": [
    {
      "id": "spark-writes/delta/01_basic_data_files_parquet",
      "num": 1,
      "name": "basic_data_files_parquet",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/01_basic_data_files_parquet.py",
      "read_script": "generator/df-reads-spark/01_basic_data_files_parquet.sql",
      "description": "No UPDATE or DELETE. 9 columns. order_number = 'ORD' + str(10000 + i) category = ['Electronics','Clothing','Books','Home','Sports'][i % 5] amount = 10.0 + (i * 73) % 990 (DOUBLE) quantity = (i % 5) + 1 status = ['shipped','delivered'][i % 2]",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 7023,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/02_deletion_vector_files_external",
      "num": 2,
      "name": "deletion_vector_files_external",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/02_deletion_vector_files_external.py",
      "read_script": "generator/df-reads-spark/02_deletion_vector_files_external.sql",
      "description": "Two INSERT batches (1-1000 + 1001-2000) = 2000 rows. Four DELETE operations (implemented via Spark SQL on the Delta table): 1. active=false AND region='North' 2. customer_id % 100 = 0 3. points < 100 AND tier='Bronze' 4. email LIKE '%test%' (matches 0 rows -- emails are...",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 7285,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/03_change_data_capture_files",
      "num": 3,
      "name": "change_data_capture_files",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/03_change_data_capture_files.py",
      "read_script": "generator/df-reads-spark/03_change_data_capture_files.sql",
      "description": "Initial INSERT 500 products (1-500). Multiple UPDATEs. DELETE 10. INSERT 50 new. 12 columns with CDC enabled.",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 9373,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/04_delta_log_json_entries",
      "num": 4,
      "name": "delta_log_json_entries",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/04_delta_log_json_entries.py",
      "read_script": "generator/df-reads-spark/04_delta_log_json_entries.sql",
      "description": "Event tracking table with 14 columns. 4 INSERT batches (1000+500+500+500=2500). Updates, DELETEs, OPTIMIZE ZORDER. Final: ~2000-2200 rows.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 6555,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/05_checkpoint_v1_classic_single",
      "num": 5,
      "name": "checkpoint_v1_classic_single",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/05_checkpoint_v1_classic_single.py",
      "read_script": "generator/df-reads-spark/05_checkpoint_v1_classic_single.sql",
      "description": "Sensor readings table. 19 versions: INSERT 1000, 5x UPDATE status=normal, 5x APPEND 50 each (1001-1250), 5x DELETE modulo, 3x UPDATE status=checked, OPTIMIZE.",
      "status": "pass",
      "duration_ms": 20,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 20,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 16888,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:checkpoint-v1",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/06_checkpoint_v2_spec_format",
      "num": 6,
      "name": "checkpoint_v2_spec_format",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/06_checkpoint_v2_spec_format.py",
      "read_script": "generator/df-reads-spark/06_checkpoint_v2_spec_format.sql",
      "description": "IoT sensor readings. 50000 initial rows, DELETE 250 rows (sensor_1..5), 3 no-op updates, APPEND 100 rows, 7x UPDATE status='maintenance'.",
      "status": "pass",
      "duration_ms": 27,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 27,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 9847,
      "tags": [
        "type:boolean",
        "type:date",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:checkpoint-v2",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/07_checkpoint_multipart_split",
      "num": 7,
      "name": "checkpoint_multipart_split",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/07_checkpoint_multipart_split.py",
      "read_script": "generator/df-reads-spark/07_checkpoint_multipart_split.sql",
      "description": "Payment transactions. 26 columns. 100000 initial rows + 500 append.",
      "status": "pass",
      "duration_ms": 58,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 58,
      "read_warm_ms": 37,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 10689,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:checkpoint-multipart",
        "delta:deletion-vectors",
        "delta:optimize",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/08_checkpoint_uuid_named_v2",
      "num": 8,
      "name": "checkpoint_uuid_named_v2",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/08_checkpoint_uuid_named_v2.py",
      "read_script": "generator/df-reads-spark/08_checkpoint_uuid_named_v2.sql",
      "description": "Supply chain shipments. 23 columns. 30000 initial rows + 500 append. Multiple UPDATEs (status, method, carrier) and 2 DELETEs.",
      "status": "pass",
      "duration_ms": 67,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 67,
      "read_warm_ms": 25,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 13858,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/09_checkpoint_with_sidecar_files",
      "num": 9,
      "name": "checkpoint_with_sidecar_files",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/09_checkpoint_with_sidecar_files.py",
      "read_script": "generator/df-reads-spark/09_checkpoint_with_sidecar_files.sql",
      "description": "Customer journey analytics. 28 columns. 60000 initial + 500 append. UPDATEs, DELETEs, OPTIMIZE. Final: ~57000-58500 rows.",
      "status": "pass",
      "duration_ms": 55,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 55,
      "read_warm_ms": 32,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 13184,
      "tags": [
        "type:boolean",
        "type:date",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:checkpoint-sidecar",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1000_update_ultimate",
      "num": 1000,
      "name": "update_ultimate",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1000_update_ultimate.py",
      "read_script": "generator/df-reads-spark/1000_update_ultimate.sql",
      "description": "200 rows across 4 partitions (US/EU/APAC/LATAM x 50). CDC + constraint + schema evolution + OPTIMIZE + 6 sequential UPDATEs.",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 19,
      "read_warm_ms": 1,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1001_insert_int_types",
      "num": 1001,
      "name": "insert_int_types",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1001_insert_int_types.py",
      "read_script": "generator/df-reads-spark/1001_insert_int_types.sql",
      "description": "100 rows. Deterministic formulas (i = 1..100): val_int = (i * 37) % 2000 val_small = (i * 13) % 100 val_tiny = i % 127 val_big = i * 1_000_000",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 14439,
      "write_warm_ms": 2938,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1002_insert_float_double",
      "num": 1002,
      "name": "insert_float_double",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1002_insert_float_double.py",
      "read_script": "generator/df-reads-spark/1002_insert_float_double.sql",
      "description": "INSERT FLOAT and DOUBLE precision values. 100 rows. Deterministic formulas (i = 1..100): val_float = CAST(ROUND(i * 3.14159, 2) AS FLOAT) val_double = ROUND(i * 2.71828182845, 10)",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1003_insert_decimal_four_precisions",
      "num": 1003,
      "name": "insert_decimal_four_precisions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1003_insert_decimal_four_precisions.py",
      "read_script": "generator/df-reads-spark/1003_insert_decimal_four_precisions.sql",
      "description": "INSERT DECIMAL at 4 different precision/scale combos. 50 rows. Deterministic formulas (i = 1..50): dec_5_2 = ROUND((i * 9.99) % 1000, 2) as DECIMAL(5,2) dec_10_4 = ROUND(i * 47.1234, 4) as DECIMAL(10,4) dec_18_8 = ROUND(i * 1.23456789, 8) as DECIMAL(18,8)",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1004_insert_decimal_negative",
      "num": 1004,
      "name": "insert_decimal_negative",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1004_insert_decimal_negative.py",
      "read_script": "generator/df-reads-spark/1004_insert_decimal_negative.sql",
      "description": "INSERT negative DECIMAL values. 100 rows. Deterministic formulas (i = 1..100): amount = ROUND((i - 50) * 10.01, 2) as DECIMAL(12,2) label = 'negative' if amount < 0 'zero' if amount = 0 'positive' otherwise",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1005_insert_decimal_zero",
      "num": 1005,
      "name": "insert_decimal_zero",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1005_insert_decimal_zero.py",
      "read_script": "generator/df-reads-spark/1005_insert_decimal_zero.sql",
      "description": "INSERT DECIMAL with exact zeros and near-zeros. 100 rows. Deterministic formulas (i = 1..100): i % 10 == 0 -> amount = 0 tag = 'exact_zero' (10 rows) i % 10 == 1 -> amount = 0.0001 tag = 'tiny_positive' (10 rows) i % 10 == 2 -> amount = -0.0001 tag = 'tiny_negative' (10 rows)",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1006_insert_decimal_max_precision",
      "num": 1006,
      "name": "insert_decimal_max_precision",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1006_insert_decimal_max_precision.py",
      "read_script": "generator/df-reads-spark/1006_insert_decimal_max_precision.sql",
      "description": "INSERT DECIMAL(38,0) and DECIMAL(38,18) at maximum scale. 30 rows. Deterministic formulas (i = 1..30): big_int_dec = i * 1_000_000_000_000 as DECIMAL(38,0) full_prec = ROUND(float(i)/7.0, 18) as DECIMAL(38,18)",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1007_insert_timestamp_microsecond",
      "num": 1007,
      "name": "insert_timestamp_microsecond",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1007_insert_timestamp_microsecond.py",
      "read_script": "generator/df-reads-spark/1007_insert_timestamp_microsecond.sql",
      "description": "INSERT TIMESTAMP with microsecond precision. 100 rows. Each row is exactly 1 microsecond apart starting from 2024-01-01 00:00:00 UTC (epoch_us = 1_704_067_200_000_000). ts = base_us + i (microseconds since unix epoch) label = 'micro_' || i",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1008_insert_timestamp_daily",
      "num": 1008,
      "name": "insert_timestamp_daily",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1008_insert_timestamp_daily.py",
      "read_script": "generator/df-reads-spark/1008_insert_timestamp_daily.sql",
      "description": "INSERT TIMESTAMP at daily intervals. 365 rows. One row per day starting from 2024-01-02 (i=1) through 2024-12-31 (i=365). event_ts = 2024-01-01 00:00:00 UTC + i days name = 'day_' || i",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1009_insert_timestamp_fixed",
      "num": 1009,
      "name": "insert_timestamp_fixed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1009_insert_timestamp_fixed.py",
      "read_script": "generator/df-reads-spark/1009_insert_timestamp_fixed.sql",
      "description": "INSERT where all rows have identical TIMESTAMP. 100 rows. All have ts = 2024-01-01 00:00:00 UTC. value = ROUND(i * 1.5, 2)",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/100_multipart_checkpoint_missing_parts",
      "num": 100,
      "name": "multipart_checkpoint_missing_parts",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/100_multipart_checkpoint_missing_parts.py",
      "read_script": "generator/df-reads-spark/100_multipart_checkpoint_missing_parts.sql",
      "description": "Minimal table for testing multipart checkpoint handling. 100 initial records (id 0-99) + 15 append batches of 20 (id 100-399) = 400 rows.",
      "status": "pass",
      "duration_ms": 111,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 111,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 15884,
      "write_warm_ms": 7890,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:checkpoint-multipart",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "robust:checkpoint-missing",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1010_insert_date_type",
      "num": 1010,
      "name": "insert_date_type",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1010_insert_date_type.py",
      "read_script": "generator/df-reads-spark/1010_insert_date_type.sql",
      "description": "INSERT DATE values. 100 rows. Day numbers from epoch 1970-01-01 are 19723+i (i=1..100), spanning 2024-01-02 through 2024-04-11. event_date = 1970-01-01 + (19723 + i) days score = (i * 7) % 100",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1011_insert_boolean_patterns",
      "num": 1011,
      "name": "insert_boolean_patterns",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1011_insert_boolean_patterns.py",
      "read_script": "generator/df-reads-spark/1011_insert_boolean_patterns.sql",
      "description": "INSERT BOOLEAN with various distribution patterns. 200 rows. Deterministic formulas (i = 1..200): all_true = True all_false = False alternating = (i % 2 == 0) sparse_true = (i % 10 == 0)",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1012_insert_string_patterns",
      "num": 1012,
      "name": "insert_string_patterns",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1012_insert_string_patterns.py",
      "read_script": "generator/df-reads-spark/1012_insert_string_patterns.sql",
      "description": "INSERT STRING with various content patterns. 100 rows. Deterministic formulas (i = 1..100): empty_str = '' if i%10==0 else 's_' || i single_char = {0:'a', 1:'b', 2:'c', 3:'d', 4:'e'}[i%5] numeric_str = str(i * 1000) long_str = 'prefix_{i}_middle_{i*i}_suffix",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1013_insert_null_per_type",
      "num": 1013,
      "name": "insert_null_per_type",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1013_insert_null_per_type.py",
      "read_script": "generator/df-reads-spark/1013_insert_null_per_type.sql",
      "description": "INSERT with NULL for each data type column at different mod offsets. 100 rows. For i = 1..100: s = NULL if i%7==1 else 's_' || i i = NULL if i%7==2 else (i*37) % 100 d = NULL if i%7==3 else round(i*2.5, 2) b = NULL if i%7==4 else (i%2==0)",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:null-handling",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1014_insert_all_null_row",
      "num": 1014,
      "name": "insert_all_null_row",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1014_insert_all_null_row.py",
      "read_script": "generator/df-reads-spark/1014_insert_all_null_row.sql",
      "description": "INSERT rows that are entirely NULL except id. 50 rows. For i = 1..50: ids 1..10 -> all typed columns NULL ids 11..50 -> s='val_'||i, i_col=i*3, d=round(i*1.1,2), b=(i%2==0), dec=round(i*5.55,2) as DECIMAL(10,2)",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:null-handling",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1015_insert_struct_basic",
      "num": 1015,
      "name": "insert_struct_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1015_insert_struct_basic.py",
      "read_script": "generator/df-reads-spark/1015_insert_struct_basic.sql",
      "description": "INSERT with simple STRUCT type. 100 rows. Deterministic formulas (i = 1..100): profile.name = 'user_' || i profile.age = 20 + (i % 40) as INT tag = 'tag_' || (i % 10)",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1016_insert_struct_nested",
      "num": 1016,
      "name": "insert_struct_nested",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1016_insert_struct_nested.py",
      "read_script": "generator/df-reads-spark/1016_insert_struct_nested.sql",
      "description": "INSERT with 2-level nested STRUCT. 50 rows. Deterministic formulas (i = 1..50): meta.source = 'src_' || i meta.details.version = i % 5 as INT meta.details.active = (i % 2 == 0) value = round(i * 3.33, 2)",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:nested-types",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1017_insert_struct_with_null",
      "num": 1017,
      "name": "insert_struct_with_null",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1017_insert_struct_with_null.py",
      "read_script": "generator/df-reads-spark/1017_insert_struct_with_null.sql",
      "description": "INSERT STRUCT where some fields are NULL. 100 rows. Every 5th row (i % 5 == 0) has both struct fields NULL. info.name = NULL if i%5==0 else 'n_' || i info.score = NULL if i%5==0 else (i % 100) as INT label = 'label_' || i",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1018_insert_values_clause",
      "num": 1018,
      "name": "insert_values_clause",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1018_insert_values_clause.py",
      "read_script": "generator/df-reads-spark/1018_insert_values_clause.sql",
      "description": "INSERT using literal VALUES with 5 exact known rows. Tests literal-value INSERT path with DECIMAL, BOOLEAN, TIMESTAMP.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1019_insert_multi_batch_same_schema",
      "num": 1019,
      "name": "insert_multi_batch_same_schema",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1019_insert_multi_batch_same_schema.py",
      "read_script": "generator/df-reads-spark/1019_insert_multi_batch_same_schema.sql",
      "description": "10 separate INSERT batches of 20 rows each into the same table (200 rows total). Tests type consistency across multiple INSERT operations and creates 11+ table versions (1 create/initial write + 9 appends).",
      "status": "pass",
      "duration_ms": 20,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 20,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:many-batches",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/101_schema_evolution_column_drops",
      "num": 101,
      "name": "schema_evolution_column_drops",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/101_schema_evolution_column_drops.py",
      "read_script": "generator/df-reads-spark/101_schema_evolution_column_drops.sql",
      "description": "GDPR compliance table. 16 columns (PII already dropped). 3 INSERT batches (1-1000, 1001-1500, 1501-2000) = 2000 rows. 2 UPDATE operations.",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:drop-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 4372,
      "write_warm_ms": 3762
    },
    {
      "id": "spark-writes/delta/1020_insert_multi_batch_growing",
      "num": 1020,
      "name": "insert_multi_batch_growing",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1020_insert_multi_batch_growing.py",
      "read_script": "generator/df-reads-spark/1020_insert_multi_batch_growing.sql",
      "description": "5 INSERT batches of growing size: 10, 20, 50, 100, 200 rows. 380 rows total. Per row (i = global id): Batch 1 (id 1..10): name='b1_'||i, value=round(i*1.5, 2) Batch 2 (id 11..30): name='b2_'||i, value=round(i*2.5, 2) Batch 3 (id 31..80): name='b3_'||i, value=round(i*3.5, 2)",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:many-batches",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1021_insert_overwrite_typed",
      "num": 1021,
      "name": "insert_overwrite_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1021_insert_overwrite_typed.py",
      "read_script": "generator/df-reads-spark/1021_insert_overwrite_typed.sql",
      "description": "INSERT OVERWRITE with all types. First INSERT 50 rows (gen1), then INSERT OVERWRITE 80 rows (gen2). Final table contains only gen2.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1022_insert_cte_complex",
      "num": 1022,
      "name": "insert_cte_complex",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1022_insert_cte_complex.py",
      "read_script": "generator/df-reads-spark/1022_insert_cte_complex.sql",
      "description": "INSERT using multi-level CTE with computed typed expressions. 100 rows. Deterministic formulas (i = 1..100): name = 'base_' || i computed_dec = round(i * 9.99, 2) as DECIMAL(10,2) computed_bool = (i % 2 == 0) computed_str = 'c_' || i || '_base_' || i",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1023_insert_union_all",
      "num": 1023,
      "name": "insert_union_all",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1023_insert_union_all.py",
      "read_script": "generator/df-reads-spark/1023_insert_union_all.sql",
      "description": "INSERT from UNION ALL of two ranges. 100 rows total (50 batch_a + 50 batch_b).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1024_insert_cross_join_typed",
      "num": 1024,
      "name": "insert_cross_join_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1024_insert_cross_join_typed.py",
      "read_script": "generator/df-reads-spark/1024_insert_cross_join_typed.sql",
      "description": "INSERT using modular expressions for combinatorial data. 150 rows. Deterministic formulas (i = 1..150): region = {0:'US', 1:'EU', 2:'AP'}[i % 3] product = {0:'A', 1:'B', 2:'C', 3:'D', 4:'E'}[i % 5] amount = round(i * 7.77, 2) as DECIMAL(10,2)",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1025_insert_large_typed",
      "num": 1025,
      "name": "insert_large_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1025_insert_large_typed.py",
      "read_script": "generator/df-reads-spark/1025_insert_large_typed.sql",
      "description": "INSERT 5000 rows with multiple typed columns in a single large batch. name = 'item_' || i amount = round(i * 3.33, 2) as DECIMAL(10,2) score = (i * 17) % 1000 as INT active = (i % 2 == 0) event_ts = 2024-01-01 UTC + i minutes",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1026_insert_decimal_cdc",
      "num": 1026,
      "name": "insert_decimal_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1026_insert_decimal_cdc.py",
      "read_script": "generator/df-reads-spark/1026_insert_decimal_cdc.sql",
      "description": "INSERT 100 rows into a CDC-enabled Delta table with two DECIMAL columns. amount = CAST(i * 12.34 AS DECIMAL(10,2)) precise_amount = CAST(i * 0.123456 AS DECIMAL(15,6)) label = 'item_' + i",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1027_insert_timestamp_cdc",
      "num": 1027,
      "name": "insert_timestamp_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1027_insert_timestamp_cdc.py",
      "read_script": "generator/df-reads-spark/1027_insert_timestamp_cdc.sql",
      "description": "INSERT 100 rows into CDC-enabled Delta table with TIMESTAMP column. event_ts = 2024-01-01T00:00:00Z + i hours name = 'event_' + i",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1028_insert_typed_partition",
      "num": 1028,
      "name": "insert_typed_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1028_insert_typed_partition.py",
      "read_script": "generator/df-reads-spark/1028_insert_typed_partition.sql",
      "description": "INSERT DECIMAL + TIMESTAMP into a table partitioned by region (east/west/central). 120 rows total (40 per partition).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1029_insert_decimal_partition",
      "num": 1029,
      "name": "insert_decimal_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1029_insert_decimal_partition.py",
      "read_script": "generator/df-reads-spark/1029_insert_decimal_partition.sql",
      "description": "INSERT DECIMAL across partitions with different magnitudes. 90 rows total (30 per tier).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/102_partition_null_value_serialization",
      "num": 102,
      "name": "partition_null_value_serialization",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/102_partition_null_value_serialization.py",
      "read_script": "generator/df-reads-spark/102_partition_null_value_serialization.sql",
      "description": "Customer feedback table with nullable partition columns. INSERT 1500 records, 3 UPDATEs, 1 DELETE, INSERT 300 appended.",
      "status": "pass",
      "duration_ms": 505,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 505,
      "read_warm_ms": 200,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 8040,
      "write_warm_ms": 6938
    },
    {
      "id": "spark-writes/delta/1030_insert_constraint_decimal",
      "num": 1030,
      "name": "insert_constraint_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1030_insert_constraint_decimal.py",
      "read_script": "generator/df-reads-spark/1030_insert_constraint_decimal.sql",
      "description": "INSERT into table with CHECK constraint on DECIMAL column.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1031_insert_constraint_int",
      "num": 1031,
      "name": "insert_constraint_int",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1031_insert_constraint_int.py",
      "read_script": "generator/df-reads-spark/1031_insert_constraint_int.sql",
      "description": "INSERT into table with CHECK constraint on INT column.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1032_insert_colmap_typed",
      "num": 1032,
      "name": "insert_colmap_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1032_insert_colmap_typed.py",
      "read_script": "generator/df-reads-spark/1032_insert_colmap_typed.sql",
      "description": "INSERT 100 rows with DECIMAL, TIMESTAMP, BOOLEAN using column mapping mode=name. amount = CAST(i * 9.99 AS DECIMAL(10,2)) event_ts = 2024-01-01T00:00:00Z + i days active = (i % 2 == 0) name = 'entry_' + i",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1033_insert_evolve_decimal",
      "num": 1033,
      "name": "insert_evolve_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1033_insert_evolve_decimal.py",
      "read_script": "generator/df-reads-spark/1033_insert_evolve_decimal.sql",
      "description": "Three-step build: name = 'item_' + id score = (id * 7) % 100 amount = CAST(id * 3.14 AS DECIMAL(10,2))",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1034_insert_evolve_timestamp",
      "num": 1034,
      "name": "insert_evolve_timestamp",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1034_insert_evolve_timestamp.py",
      "read_script": "generator/df-reads-spark/1034_insert_evolve_timestamp.sql",
      "description": "Three-step build: name = 'rec_' + id value = id * 11 event_ts = 2024-01-01T00:00:00Z + id * 3600 seconds",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1035_insert_evolve_boolean",
      "num": 1035,
      "name": "insert_evolve_boolean",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1035_insert_evolve_boolean.py",
      "read_script": "generator/df-reads-spark/1035_insert_evolve_boolean.sql",
      "description": "Three-step build: name = 'obj_' + id count = id * 3 flag = (id % 2 == 0)",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1036_insert_evolve_multi",
      "num": 1036,
      "name": "insert_evolve_multi",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1036_insert_evolve_multi.py",
      "read_script": "generator/df-reads-spark/1036_insert_evolve_multi.sql",
      "description": "Multi-step build: name = 'row_' + id value = id * 5 amount = CAST(id * 2.50 AS DECIMAL(10,2)) event_ts = 2024-01-01T00:00:00Z + id * 7200 seconds active = (id % 3 == 0)",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1037_insert_overwrite_decimal",
      "num": 1037,
      "name": "insert_overwrite_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1037_insert_overwrite_decimal.py",
      "read_script": "generator/df-reads-spark/1037_insert_overwrite_decimal.sql",
      "description": "Two-step build (verifier checks final state only):",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1038_insert_overwrite_timestamp",
      "num": 1038,
      "name": "insert_overwrite_timestamp",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1038_insert_overwrite_timestamp.py",
      "read_script": "generator/df-reads-spark/1038_insert_overwrite_timestamp.sql",
      "description": "Two-step build: base2 = epoch 1710000000 (~2024-03-09)",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1039_insert_optimize_typed",
      "num": 1039,
      "name": "insert_optimize_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1039_insert_optimize_typed.py",
      "read_script": "generator/df-reads-spark/1039_insert_optimize_typed.sql",
      "description": "4 batches of 50 rows + OPTIMIZE. Deterministic per-row formulas (id = 1..200, batch = ceil(id/50)): amount = CAST(id * 1.23 AS DECIMAL(10,2)) event_ts = 2024-01-01T00:00:00Z + id * 60 seconds flag = (id % 2 == 0) name = 'b<batch>_<i>' where i = ((id-1) % 50) + 1",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/103_statistics_string_truncation",
      "num": 103,
      "name": "statistics_string_truncation",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/103_statistics_string_truncation.py",
      "read_script": "generator/df-reads-spark/103_statistics_string_truncation.sql",
      "description": "Legal document management table testing string statistics truncation. INSERT 1000 records, UPDATE pending->active (page_count > 100), INSERT 100 edge cases.",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "storage:statistics",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 2292,
      "write_warm_ms": 2121
    },
    {
      "id": "spark-writes/delta/1040_insert_many_batches_decimal",
      "num": 1040,
      "name": "insert_many_batches_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1040_insert_many_batches_decimal.py",
      "read_script": "generator/df-reads-spark/1040_insert_many_batches_decimal.sql",
      "description": "20 INSERT batches of 10 rows each = 200 rows. amount = CAST(id * 4.56 AS DECIMAL(10,2)) label = 'b<batch:02d>_<local_i>' batch = ceil(id/10), local_i = ((id-1)%10)+1",
      "status": "pass",
      "duration_ms": 43,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 43,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:many-batches",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1041_insert_many_batches_timestamp",
      "num": 1041,
      "name": "insert_many_batches_timestamp",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1041_insert_many_batches_timestamp.py",
      "read_script": "generator/df-reads-spark/1041_insert_many_batches_timestamp.sql",
      "description": "20 INSERT batches of 10 rows each = 200 rows. event_ts = 2024-01-01T00:00:00Z + id * 1 second name = 'b<batch:02d>_<local_i>",
      "status": "pass",
      "duration_ms": 46,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 46,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:many-batches",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1042_insert_partial_columns",
      "num": 1042,
      "name": "insert_partial_columns",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1042_insert_partial_columns.py",
      "read_script": "generator/df-reads-spark/1042_insert_partial_columns.sql",
      "description": "Two-step build: name = 'item_' + id score, amount, flag, tag = NULL name = 'item_' + id score = (id - 50) * 10 amount = CAST((id - 50) * 5.50 AS DECIMAL(10,2)) flag, tag = NULL",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1043_insert_int_boundary_values",
      "num": 1043,
      "name": "insert_int_boundary_values",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1043_insert_int_boundary_values.py",
      "read_script": "generator/df-reads-spark/1043_insert_int_boundary_values.sql",
      "description": "100 normal rows + 5 boundary rows = 105 total rows. Normal rows (id 1..100): val = (id * 47) % 10000 label = 'normal_<id>",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1044_insert_bigint_boundary",
      "num": 1044,
      "name": "insert_bigint_boundary",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1044_insert_bigint_boundary.py",
      "read_script": "generator/df-reads-spark/1044_insert_bigint_boundary.sql",
      "description": "100 normal rows + 5 boundary rows = 105 total rows. Normal rows (id 1..100): val = id * 100000000 label = 'normal_<id>",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1045_insert_double_special",
      "num": 1045,
      "name": "insert_double_special",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1045_insert_double_special.py",
      "read_script": "generator/df-reads-spark/1045_insert_double_special.sql",
      "description": "50 rows with extreme DOUBLE values. tiny = 1.0 / (i * i * i) # very small (down to ~8e-6) huge = i * 1e14 # very large (up to 5e15) normal = round(i * 2.5, 1) # ordinary",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1046_insert_string_empty_null",
      "num": 1046,
      "name": "insert_string_empty_null",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1046_insert_string_empty_null.py",
      "read_script": "generator/df-reads-spark/1046_insert_string_empty_null.sql",
      "description": "INSERT a mix of empty strings, NULL strings, and normal strings. 100 rows. Deterministic formulas (i = 1..100): i % 3 == 0 -> val = '' (empty string) i % 3 == 1 -> val = NULL i % 3 == 2 -> val = 'str_<i>",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1047_insert_mixed_nulls",
      "num": 1047,
      "name": "insert_mixed_nulls",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1047_insert_mixed_nulls.py",
      "read_script": "generator/df-reads-spark/1047_insert_mixed_nulls.sql",
      "description": "INSERT where every column has a different NULL pattern. 100 rows. Deterministic formulas (i = 1..100): a INT: NULL when i%2==0 else i b DOUBLE: NULL when i%3==0 else i * 1.5 c STRING: NULL when i%5==0 else 'c_<i>' d BOOLEAN: NULL when i%7==0 else (i % 2 == 0)",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:null-handling",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1048_insert_all_same_values",
      "num": 1048,
      "name": "insert_all_same_values",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1048_insert_all_same_values.py",
      "read_script": "generator/df-reads-spark/1048_insert_all_same_values.sql",
      "description": "INSERT where every row has identical typed values (except id). 100 rows. Deterministic formulas (i = 1..100): const_str = 'same' const_int = 42 const_dec = 3.14 (DECIMAL(10,2)) const_bool = true const_ts = 2024-01-01T00:00:00Z (epoch micros 1704067200000000)",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1049_insert_monotonic_decimal",
      "num": 1049,
      "name": "insert_monotonic_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1049_insert_monotonic_decimal.py",
      "read_script": "generator/df-reads-spark/1049_insert_monotonic_decimal.sql",
      "description": "INSERT DECIMAL(10,4) with strictly monotonic increasing values. 500 rows. Deterministic formula (i = 1..500): amount = ROUND(i * 0.0001, 4) as DECIMAL(10,4) Values span 0.0001, 0.0002, ..., 0.0500.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/104_concurrent_writer_conflict_detection",
      "num": 104,
      "name": "concurrent_writer_conflict_detection",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/104_concurrent_writer_conflict_detection.py",
      "read_script": "generator/df-reads-spark/104_concurrent_writer_conflict_detection.sql",
      "description": "Multi-warehouse inventory table. INSERT 3000 records, 7 UPDATEs, 1 MERGE (25 updates + 25 inserts). Partitioned by region. Final: 3025 rows.",
      "status": "pass",
      "duration_ms": 35,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 35,
      "read_warm_ms": 14,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "robust:concurrent-writes",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 10243,
      "write_warm_ms": 9199
    },
    {
      "id": "spark-writes/delta/1050_insert_cdc_multi_batch",
      "num": 1050,
      "name": "insert_cdc_multi_batch",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1050_insert_cdc_multi_batch.py",
      "read_script": "generator/df-reads-spark/1050_insert_cdc_multi_batch.sql",
      "description": "INSERT 4 batches of 30 rows each, each batch as a separate Delta commit so the change data feed captures 4 distinct commit versions (120 insert records total).",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "scale:many-batches",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1051_insert_int_to_bigint",
      "num": 1051,
      "name": "insert_int_to_bigint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1051_insert_int_to_bigint.py",
      "read_script": "generator/df-reads-spark/1051_insert_int_to_bigint.sql",
      "description": "INSERT INT-range values into a BIGINT column. 100 rows. Deterministic formula (i = 1..100): value = i * 500 (BIGINT)",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:type-widening",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1052_insert_cast_expressions",
      "num": 1052,
      "name": "insert_cast_expressions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1052_insert_cast_expressions.py",
      "read_script": "generator/df-reads-spark/1052_insert_cast_expressions.sql",
      "description": "INSERT with various CAST expressions in the SELECT. 100 rows. Deterministic formulas (i = 1..100): from_int = str(i) from_double = str(round(i * 3.14, 2)) (kept as STRING; verify parses as float) from_bool = 'true' if i%2==0 else 'false",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1053_insert_round_expressions",
      "num": 1053,
      "name": "insert_round_expressions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1053_insert_round_expressions.py",
      "read_script": "generator/df-reads-spark/1053_insert_round_expressions.sql",
      "description": "INSERT with ROUND at various decimal places (0, 1, 2, 4, 8). 100 rows. Deterministic formulas (i = 1..100): raw = i * 3.14159265 r0 = ROUND(raw, 0) r1 = ROUND(raw, 1) r2 = ROUND(raw, 2) r4 = ROUND(raw, 4) r8 = ROUND(raw, 8)",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1054_insert_case_to_typed",
      "num": 1054,
      "name": "insert_case_to_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1054_insert_case_to_typed.py",
      "read_script": "generator/df-reads-spark/1054_insert_case_to_typed.sql",
      "description": "INSERT with CASE expressions producing typed values. 200 rows. Deterministic formula on i % 4 (i = 1..200): i%4 == 0 -> tier='gold', amount=1000.00, priority=4 i%4 == 1 -> tier='silver', amount= 500.00, priority=3 i%4 == 2 -> tier='bronze', amount= 100.00, priority=2",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1055_insert_concat_expressions",
      "num": 1055,
      "name": "insert_concat_expressions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1055_insert_concat_expressions.py",
      "read_script": "generator/df-reads-spark/1055_insert_concat_expressions.sql",
      "description": "INSERT with CONCAT expressions building typed strings. 100 rows. Deterministic formulas (i = 1..100): label = 'L<i>' region = ['US','EU','AP'][i % 3] (mapping: 0->US, 1->EU, 2->AP) code = '<region>-<i*100>' category = ['A','B','C','D','E'][i % 5]",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1056_insert_arithmetic_expressions",
      "num": 1056,
      "name": "insert_arithmetic_expressions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1056_insert_arithmetic_expressions.py",
      "read_script": "generator/df-reads-spark/1056_insert_arithmetic_expressions.sql",
      "description": "INSERT with arithmetic expressions producing DOUBLE and DECIMAL. 100 rows. Deterministic formulas (i = 1..100): sum_val = i + i*i (DOUBLE) product_val = i * (i + 1) / 2.0 (DOUBLE) ratio = i / (i + 1) (DOUBLE)",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1057_insert_boolean_expressions",
      "num": 1057,
      "name": "insert_boolean_expressions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1057_insert_boolean_expressions.py",
      "read_script": "generator/df-reads-spark/1057_insert_boolean_expressions.sql",
      "description": "INSERT with boolean comparison expressions. 200 rows. Deterministic formulas (i = 1..200): gt_50 = i > 50 is_even = i % 2 == 0 in_range = 30 <= i <= 70 combined = gt_50 AND is_even",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1058_insert_timestamp_expressions",
      "num": 1058,
      "name": "insert_timestamp_expressions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1058_insert_timestamp_expressions.py",
      "read_script": "generator/df-reads-spark/1058_insert_timestamp_expressions.sql",
      "description": "INSERT with computed TIMESTAMP expressions at three different intervals. 100 rows. Deterministic formulas (i = 1..100): base = 2024-01-01T00:00:00Z (epoch micros 1704067200000000) daily = base + i days hourly = base + i hours minutely = base + i minutes",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1059_insert_decimal_from_int",
      "num": 1059,
      "name": "insert_decimal_from_int",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1059_insert_decimal_from_int.py",
      "read_script": "generator/df-reads-spark/1059_insert_decimal_from_int.sql",
      "description": "INSERT DECIMAL columns computed from INT expressions. 100 rows. Deterministic formulas (i = 1..100): score = (i * 37) % 1000 (INT) as_dec_2 = CAST(score AS DECIMAL(10,2)) as_dec_4 = CAST(score / 100.0 AS DECIMAL(10,4)) scaled = CAST(score * 1.0825 AS DECIMAL(12,2))",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/105_log_file_corruption_recovery",
      "num": 105,
      "name": "log_file_corruption_recovery",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/105_log_file_corruption_recovery.py",
      "read_script": "generator/df-reads-spark/105_log_file_corruption_recovery.sql",
      "description": "Financial ledger with 30 daily INSERT batches, 10 reconciliation UPDATEs, status transitions, reversals, OPTIMIZE, post-checkpoint updates, final 100 append.",
      "status": "pass",
      "duration_ms": 50,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 50,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "robust:log-corruption",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 30055,
      "write_warm_ms": 29725
    },
    {
      "id": "spark-writes/delta/1060_insert_struct_cdc",
      "num": 1060,
      "name": "insert_struct_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1060_insert_struct_cdc.py",
      "read_script": "generator/df-reads-spark/1060_insert_struct_cdc.sql",
      "description": "INSERT STRUCT values with the change data feed enabled. 100 rows. Deterministic formulas (i = 1..100): info.name = 'user_<i>' info.score = (i * 13) % 100 label = 'label_<i>",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1061_insert_struct_partition",
      "num": 1061,
      "name": "insert_struct_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1061_insert_struct_partition.py",
      "read_script": "generator/df-reads-spark/1061_insert_struct_partition.sql",
      "description": "INSERT STRUCT into a region-partitioned table. 90 rows (30 per region: east, west, central). region=east -> id=1..30, details.label='east_<j>' where j=1..30, details.level=id%5 region=west -> id=31..60, details.label='west_<j>' where j=1..30, details.level=id%5",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1062_insert_struct_colmap",
      "num": 1062,
      "name": "insert_struct_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1062_insert_struct_colmap.py",
      "read_script": "generator/df-reads-spark/1062_insert_struct_colmap.sql",
      "description": "INSERT STRUCT with column mapping mode=name. 100 rows. Deterministic formulas (i = 1..100): profile.name = 'person_<i>' profile.age = 18 + (i % 50) tag = 'tag_<i % 8>",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1063_insert_decimal_colmap_cdc",
      "num": 1063,
      "name": "insert_decimal_colmap_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1063_insert_decimal_colmap_cdc.py",
      "read_script": "generator/df-reads-spark/1063_insert_decimal_colmap_cdc.sql",
      "description": "INSERT DECIMAL with column mapping mode=name and the change data feed enabled. 100 rows. Deterministic formulas (i = 1..100): amount = ROUND(i * 15.75, 2) as DECIMAL(10,2) precise = ROUND(i * 0.987654, 6) as DECIMAL(15,6) name = 'entry_<i>",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1064_insert_typed_partition_cdc",
      "num": 1064,
      "name": "insert_typed_partition_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1064_insert_typed_partition_cdc.py",
      "read_script": "generator/df-reads-spark/1064_insert_typed_partition_cdc.sql",
      "description": "INSERT typed columns into a region-partitioned table with the change data feed enabled. 120 rows (40 per region: east, west, central). Deterministic formulas (global id i = 1..120): amount = ROUND(i * 4.50, 2) as DECIMAL(10,2)",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1065_insert_constraint_cdc",
      "num": 1065,
      "name": "insert_constraint_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1065_insert_constraint_cdc.py",
      "read_script": "generator/df-reads-spark/1065_insert_constraint_cdc.sql",
      "description": "INSERT with a CHECK constraint added between two batches, with the change data feed enabled. 150 rows total. Deterministic formulas (global id i = 1..150): score = (i * 7) % 100 (always >= 0, satisfies the constraint) name = 'row_<i>",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1066_insert_evolve_cdc",
      "num": 1066,
      "name": "insert_evolve_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1066_insert_evolve_cdc.py",
      "read_script": "generator/df-reads-spark/1066_insert_evolve_cdc.sql",
      "description": "INSERT + schema evolution + CDC. Two-way feature combo. Per-row formulas (i = 1..100): id = i name = f\"item_{i}\" score = (i * 11) % 100 amount = NULL for i <= 50 = Decimal((i * 2.50)).quantize(.01) for i > 50",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1067_insert_colmap_evolve",
      "num": 1067,
      "name": "insert_colmap_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1067_insert_colmap_evolve.py",
      "read_script": "generator/df-reads-spark/1067_insert_colmap_evolve.sql",
      "description": "INSERT + column mapping + schema evolution. Two-way feature combo.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1068_insert_partition_evolve",
      "num": 1068,
      "name": "insert_partition_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1068_insert_partition_evolve.py",
      "read_script": "generator/df-reads-spark/1068_insert_partition_evolve.sql",
      "description": "INSERT + partition + schema evolution. Per-row layout (id 1..120): id = i name = f\"item_{i}\" score = (i * 7) % 100 region = 'east' for i in [1..20] or [61..80] = 'west' for i in [21..40] or [81..100] = 'central' for i in [41..60] or [101..120]",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1069_insert_constraint_partition",
      "num": 1069,
      "name": "insert_constraint_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1069_insert_constraint_partition.py",
      "read_script": "generator/df-reads-spark/1069_insert_constraint_partition.sql",
      "description": "INSERT + CHECK constraint + partition. Per-row formulas (i = 1..120): id = i score = (i * 7) % 100 name = f\"row_{i}\" region = 'east' for i in [1..30] = 'west' for i in [31..60] = 'central' for i in [61..90] = (V4 batch) i in [91..120]: based on local j = i - 90 in [1..30]",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/106_parquet_rowgroup_vs_delta_stats",
      "num": 106,
      "name": "parquet_rowgroup_vs_delta_stats",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/106_parquet_rowgroup_vs_delta_stats.py",
      "read_script": "generator/df-reads-spark/106_parquet_rowgroup_vs_delta_stats.sql",
      "description": "Scientific research data. 100,000 initial + 2 UPDATEs + 5,000 high-temp append = 105,000 rows.",
      "status": "pass",
      "duration_ms": 85,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 85,
      "read_warm_ms": 30,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "storage:rowgroup-stats",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 9147,
      "write_warm_ms": 7962
    },
    {
      "id": "spark-writes/delta/1070_insert_colmap_partition",
      "num": 1070,
      "name": "insert_colmap_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1070_insert_colmap_partition.py",
      "read_script": "generator/df-reads-spark/1070_insert_colmap_partition.sql",
      "description": "INSERT + column mapping + partition. 120 rows (40 per region: east/west/central).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1071_insert_optimize_cdc",
      "num": 1071,
      "name": "insert_optimize_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1071_insert_optimize_cdc.py",
      "read_script": "generator/df-reads-spark/1071_insert_optimize_cdc.sql",
      "description": "INSERT batches + OPTIMIZE + CDC. Three-way feature combo. 4 batches of 50, OPTIMIZE, then 50 more. Total 250 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1072_insert_overwrite_cdc",
      "num": 1072,
      "name": "insert_overwrite_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1072_insert_overwrite_cdc.py",
      "read_script": "generator/df-reads-spark/1072_insert_overwrite_cdc.sql",
      "description": "INSERT OVERWRITE + CDC. Two-way feature combo. Per-row formulas (final state, i = 1..80): id = i value = i * 11 label = f\"new_{i}",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1073_insert_values_typed",
      "num": 1073,
      "name": "insert_values_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1073_insert_values_typed.py",
      "read_script": "generator/df-reads-spark/1073_insert_values_typed.sql",
      "description": "3 hand-crafted rows exercising all 7 types:",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1074_insert_values_boundary",
      "num": 1074,
      "name": "insert_values_boundary",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1074_insert_values_boundary.py",
      "read_script": "generator/df-reads-spark/1074_insert_values_boundary.sql",
      "description": "10 hand-crafted boundary-value rows. val_dbl DOUBLE, val_str STRING",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1075_insert_ten_batches_typed",
      "num": 1075,
      "name": "insert_ten_batches_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1075_insert_ten_batches_typed.py",
      "read_script": "generator/df-reads-spark/1075_insert_ten_batches_typed.sql",
      "description": "10 INSERT batches each with all 7 types. 200 rows total (10 x 20).",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:many-batches",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1076_insert_colmap_cdc_partition",
      "num": 1076,
      "name": "insert_colmap_cdc_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1076_insert_colmap_cdc_partition.py",
      "read_script": "generator/df-reads-spark/1076_insert_colmap_cdc_partition.sql",
      "description": "3-way combo: column mapping (name) + CDC + partitioning. 120 rows across 3 partitions (east/west/central x 40).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1077_insert_constraint_evolve_cdc",
      "num": 1077,
      "name": "insert_constraint_evolve_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1077_insert_constraint_evolve_cdc.py",
      "read_script": "generator/df-reads-spark/1077_insert_constraint_evolve_cdc.sql",
      "description": "3-way combo: constraint + schema evolution + CDC. INSERT 80, add constraint (score >= 0), evolve (add extra DECIMAL), INSERT 40 more.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1078_insert_colmap_constraint",
      "num": 1078,
      "name": "insert_colmap_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1078_insert_colmap_constraint.py",
      "read_script": "generator/df-reads-spark/1078_insert_colmap_constraint.sql",
      "description": "2-way combo: column mapping (name) + CHECK constraint (amount > 0). INSERT 100, add constraint, INSERT 50 more.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1079_insert_optimize_partition",
      "num": 1079,
      "name": "insert_optimize_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1079_insert_optimize_partition.py",
      "read_script": "generator/df-reads-spark/1079_insert_optimize_partition.sql",
      "description": "OPTIMIZE on a partitioned table after multiple INSERT batches. 3 batches of 50 (east/west/central), OPTIMIZE, then 50 more mixed.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/107_timestamp_timezone_handling",
      "num": 107,
      "name": "timestamp_timezone_handling",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/107_timestamp_timezone_handling.py",
      "read_script": "generator/df-reads-spark/107_timestamp_timezone_handling.sql",
      "description": "Global meeting scheduler. 1000 meetings (with pre-computed UPDATE effects) + 6 edge cases.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 1058,
      "write_warm_ms": 980
    },
    {
      "id": "spark-writes/delta/1080_insert_colmap_optimize",
      "num": 1080,
      "name": "insert_colmap_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1080_insert_colmap_optimize.py",
      "read_script": "generator/df-reads-spark/1080_insert_colmap_optimize.sql",
      "description": "Column mapping (name) + OPTIMIZE after 4 INSERT batches of 50.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1081_insert_four_way_combo",
      "num": 1081,
      "name": "insert_four_way_combo",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1081_insert_four_way_combo.py",
      "read_script": "generator/df-reads-spark/1081_insert_four_way_combo.sql",
      "description": "4-way combo: CDC + partition + constraint + schema evolution. INSERT 90 (30 per region), add constraint (score >= 0), evolve (add extra), INSERT 30 more.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1082_insert_five_way_combo",
      "num": 1082,
      "name": "insert_five_way_combo",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1082_insert_five_way_combo.py",
      "read_script": "generator/df-reads-spark/1082_insert_five_way_combo.sql",
      "description": "5-way combo: CDC + colmap + partition + constraint + schema evolution. INSERT 90 (30 per region), add constraint (amount > 0), evolve (add tag STRING), INSERT 30 more.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1083_insert_decimal_eight_cols",
      "num": 1083,
      "name": "insert_decimal_eight_cols",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1083_insert_decimal_eight_cols.py",
      "read_script": "generator/df-reads-spark/1083_insert_decimal_eight_cols.sql",
      "description": "8 DECIMAL columns at varying precisions, 50 rows. Per-row formulas (i = 1..50): d1 = i * 100 as DECIMAL(5,0) d2 = i * 1.23 as DECIMAL(5,2) d3 = i * 12.345 as DECIMAL(8,3) d4 = i * 1.2345 as DECIMAL(10,4)",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1084_insert_mixed_twelve_types",
      "num": 1084,
      "name": "insert_mixed_twelve_types",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1084_insert_mixed_twelve_types.py",
      "read_script": "generator/df-reads-spark/1084_insert_mixed_twelve_types.sql",
      "description": "12 different column types in one table, 100 rows. Per-row formulas (i = 1..100): s = f\"row_{i}\" i = i * 17 (INT) sm = i % 200 (SMALLINT) ti = i % 127 (TINYINT) f = float(i * 1.5) (FLOAT)",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1085_insert_wide_twenty_cols",
      "num": 1085,
      "name": "insert_wide_twenty_cols",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1085_insert_wide_twenty_cols.py",
      "read_script": "generator/df-reads-spark/1085_insert_wide_twenty_cols.sql",
      "description": "20 columns mixed types, 100 rows. Per-row formulas (i = 1..100): s1 = f\"a_{i}\", s2 = f\"b_{i % 50}\", s3 = f\"c_{i % 25}\", s4 = f\"d_{i % 10}\", s5 = f\"e_{i % 5}\" i1 = i * 3, i2 = i * 7, i3 = i * 13, i4 = i * 19 d1 = round(i * 1.111, 3), d2 = round(i * 2.222, 3),",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1086_insert_sparse_wide",
      "num": 1086,
      "name": "insert_sparse_wide",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1086_insert_sparse_wide.py",
      "read_script": "generator/df-reads-spark/1086_insert_sparse_wide.sql",
      "description": "INSERT into 15-column sparse table where most columns are NULL per row. 200 rows. Deterministic formulas (i = 1..200): id = i name = 'row_' || i c1 = i*3 if i%5 = 0 else NULL INT c2 = i*11 if i%7 = 0 else NULL INT c3 = ROUND(i*1.618, 3) if i%4 = 0 else NULL DOUBLE",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:null-handling",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1087_insert_single_row_all_types",
      "num": 1087,
      "name": "insert_single_row_all_types",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1087_insert_single_row_all_types.py",
      "read_script": "generator/df-reads-spark/1087_insert_single_row_all_types.sql",
      "description": "INSERT exactly 1 row with all 7 types. Tests min==max stats.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1088_insert_two_rows_all_types",
      "num": 1088,
      "name": "insert_two_rows_all_types",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1088_insert_two_rows_all_types.py",
      "read_script": "generator/df-reads-spark/1088_insert_two_rows_all_types.sql",
      "description": "INSERT exactly 2 rows with all 7 types. Tests min!=max stats.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1089_insert_thousand_rows_typed",
      "num": 1089,
      "name": "insert_thousand_rows_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1089_insert_thousand_rows_typed.py",
      "read_script": "generator/df-reads-spark/1089_insert_thousand_rows_typed.sql",
      "description": "INSERT 1000 rows with DECIMAL + TIMESTAMP + BOOLEAN. 1000 rows. Deterministic formulas (i = 1..1000): id = i amount = i * 3.33 DECIMAL(10,2) event_ts = 2024-01-01T00:00:00Z + i*60s flag = (i % 2 = 0) name = 'r_' || i",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/108_schema_field_id_reuse_after_drop",
      "num": 108,
      "name": "schema_field_id_reuse_after_drop",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/108_schema_field_id_reuse_after_drop.py",
      "read_script": "generator/df-reads-spark/108_schema_field_id_reuse_after_drop.sql",
      "description": "Column mapping mode='name'. 1000 rows final. UPDATE effects pre-computed into single INSERT. permanent_column_b DECIMAL(18,4), permanent_column_c BOOLEAN, permanent_column_d BIGINT, permanent_column_e STRING, new_column_x STRING, new_column_y INT, new_column_z BOOLEAN,",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:field-id-reuse",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 975,
      "write_warm_ms": 1036
    },
    {
      "id": "spark-writes/delta/1090_insert_five_thousand_typed",
      "num": 1090,
      "name": "insert_five_thousand_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1090_insert_five_thousand_typed.py",
      "read_script": "generator/df-reads-spark/1090_insert_five_thousand_typed.sql",
      "description": "INSERT 5000 rows with all major types. 5000 rows. Deterministic formulas (i = 1..5000): id = i s = 'row_' || i i = (i * 13) % 10000 INT d = ROUND(i * 0.12345, 5) DOUBLE b = (i % 2 = 0) dec = i * 1.99 DECIMAL(10,2)",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1091_insert_ten_thousand_typed",
      "num": 1091,
      "name": "insert_ten_thousand_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1091_insert_ten_thousand_typed.py",
      "read_script": "generator/df-reads-spark/1091_insert_ten_thousand_typed.sql",
      "description": "INSERT 10000 rows with DECIMAL + INT. 10000 rows. Deterministic formulas (i = 1..10000): id = i amount = i * 2.47 DECIMAL(10,2) score = (i * 31) % 1000 INT name = 'item_' || i",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1092_insert_overwrite_multi",
      "num": 1092,
      "name": "insert_overwrite_multi",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1092_insert_overwrite_multi.py",
      "read_script": "generator/df-reads-spark/1092_insert_overwrite_multi.sql",
      "description": "Three sequential writes; only the last 60 rows survive.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1093_insert_struct_cdc_partition",
      "num": 1093,
      "name": "insert_struct_cdc_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1093_insert_struct_cdc_partition.py",
      "read_script": "generator/df-reads-spark/1093_insert_struct_cdc_partition.sql",
      "description": "3-way combo: STRUCT type + CDC + partitioning, written across 3 partition batches. 90 rows total (30 per region: east, west, central).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1094_insert_decimal_constraint_partition",
      "num": 1094,
      "name": "insert_decimal_constraint_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1094_insert_decimal_constraint_partition.py",
      "read_script": "generator/df-reads-spark/1094_insert_decimal_constraint_partition.sql",
      "description": "3-way combo: DECIMAL + CHECK constraint + partitioning. INSERT 90 rows (30 east, 30 west, 30 central), add CHECK (amount > 0), INSERT 30 more rows (distributed by i%3 over j=1..30 -> east 10, west 10, central 10).",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1095_insert_timestamp_colmap_partition",
      "num": 1095,
      "name": "insert_timestamp_colmap_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1095_insert_timestamp_colmap_partition.py",
      "read_script": "generator/df-reads-spark/1095_insert_timestamp_colmap_partition.sql",
      "description": "3-way combo: TIMESTAMP + colmap (name) + partitioning. 120 rows (40 per region: east, west, central).",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1096_insert_evolve_three_columns",
      "num": 1096,
      "name": "insert_evolve_three_columns",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1096_insert_evolve_three_columns.py",
      "read_script": "generator/df-reads-spark/1096_insert_evolve_three_columns.sql",
      "description": "ADD COLUMN three times sequentially with INSERTs between each step.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1097_insert_decimal_negative_cdc",
      "num": 1097,
      "name": "insert_decimal_negative_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1097_insert_decimal_negative_cdc.py",
      "read_script": "generator/df-reads-spark/1097_insert_decimal_negative_cdc.sql",
      "description": "INSERT negative DECIMAL values with CDC enabled. 100 rows. Deterministic formulas (i = 1..100): amount = (i * 9.91) - 500.00 DECIMAL(10,2) label = 'item_' + i",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1098_insert_typed_constraint_colmap",
      "num": 1098,
      "name": "insert_typed_constraint_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1098_insert_typed_constraint_colmap.py",
      "read_script": "generator/df-reads-spark/1098_insert_typed_constraint_colmap.sql",
      "description": "3-way combo: typed columns + CHECK constraint + colmap (name). INSERT 100 rows, add CHECK (score >= 0), INSERT 50 more.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1099_insert_all_features",
      "num": 1099,
      "name": "insert_all_features",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1099_insert_all_features.py",
      "read_script": "generator/df-reads-spark/1099_insert_all_features.sql",
      "description": "CDC + colmap (name) + partition + constraint + schema evolution + OPTIMIZE.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/109_malformed_json_log_entries",
      "num": 109,
      "name": "malformed_json_log_entries",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/109_malformed_json_log_entries.py",
      "read_script": "generator/df-reads-spark/109_malformed_json_log_entries.sql",
      "description": "Static documentation table of malformed JSON scenarios. 35 literal rows. Schema: 12 columns.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "robust:malformed-input",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 511,
      "write_warm_ms": 496
    },
    {
      "id": "spark-writes/delta/10_log_compaction_compacted_deltas",
      "num": 10,
      "name": "log_compaction_compacted_deltas",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/10_log_compaction_compacted_deltas.py",
      "read_script": "generator/df-reads-spark/10_log_compaction_compacted_deltas.sql",
      "description": "Inventory management. 15 columns. 5000 SKUs. Single INSERT with pre-computed final state after 30 UPDATE operations.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 665,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:log-compaction",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1100_insert_ultimate",
      "num": 1100,
      "name": "insert_ultimate",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1100_insert_ultimate.py",
      "read_script": "generator/df-reads-spark/1100_insert_ultimate.sql",
      "description": "THE ULTIMATE INSERT TEST -- every type + every INSERT pattern + every feature. Colmap (name) + partition (4 regions) + constraint + schema evolution + OPTIMIZE. (DELTA_BLOCK_COLUMN_MAPPING_AND_CDC_OPERATION).",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1101_delete_where_int",
      "num": 1101,
      "name": "delete_where_int",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1101_delete_where_int.py",
      "read_script": "generator/df-reads-spark/1101_delete_where_int.sql",
      "description": "INSERT 200 rows then DELETE on INT predicate twice. DV-enabled table.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1102_delete_where_bigint",
      "num": 1102,
      "name": "delete_where_bigint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1102_delete_where_bigint.py",
      "read_script": "generator/df-reads-spark/1102_delete_where_bigint.sql",
      "description": "INSERT 200 rows then DELETE on BIGINT predicate. DV-enabled table.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1103_delete_where_smallint",
      "num": 1103,
      "name": "delete_where_smallint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1103_delete_where_smallint.py",
      "read_script": "generator/df-reads-spark/1103_delete_where_smallint.sql",
      "description": "INSERT 100 rows then DELETE on SMALLINT predicate. DV-enabled table.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1104_delete_where_double",
      "num": 1104,
      "name": "delete_where_double",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1104_delete_where_double.py",
      "read_script": "generator/df-reads-spark/1104_delete_where_double.sql",
      "description": "INSERT 200 rows then DELETE on DOUBLE predicate twice. DV-enabled table.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1105_delete_where_float",
      "num": 1105,
      "name": "delete_where_float",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1105_delete_where_float.py",
      "read_script": "generator/df-reads-spark/1105_delete_where_float.sql",
      "description": "INSERT 100 rows then DELETE on FLOAT predicate. DV-enabled table.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1106_delete_where_decimal_gt",
      "num": 1106,
      "name": "delete_where_decimal_gt",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1106_delete_where_decimal_gt.py",
      "read_script": "generator/df-reads-spark/1106_delete_where_decimal_gt.sql",
      "description": "INSERT 200 rows then DELETE WHERE price > 500.00. DV-enabled table.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1107_delete_where_decimal_lt",
      "num": 1107,
      "name": "delete_where_decimal_lt",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1107_delete_where_decimal_lt.py",
      "read_script": "generator/df-reads-spark/1107_delete_where_decimal_lt.sql",
      "description": "INSERT 200 rows then DELETE WHERE amount < 200.00. DV-enabled table.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1108_delete_where_decimal_between",
      "num": 1108,
      "name": "delete_where_decimal_between",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1108_delete_where_decimal_between.py",
      "read_script": "generator/df-reads-spark/1108_delete_where_decimal_between.sql",
      "description": "INSERT 200 rows then DELETE WHERE price BETWEEN 300.00 AND 600.00. DV-enabled table.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1109_delete_where_decimal_negative",
      "num": 1109,
      "name": "delete_where_decimal_negative",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1109_delete_where_decimal_negative.py",
      "read_script": "generator/df-reads-spark/1109_delete_where_decimal_negative.sql",
      "description": "INSERT 200 rows then DELETE WHERE balance < 0. DV-enabled table.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/110_parquet_encoding_variations",
      "num": 110,
      "name": "parquet_encoding_variations",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/110_parquet_encoding_variations.py",
      "read_script": "generator/df-reads-spark/110_parquet_encoding_variations.sql",
      "description": "Multi-modal sensor data. 50,000 initial + 1,000 extreme pattern records = 51,000 rows.",
      "status": "pass",
      "duration_ms": 59,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 59,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:binary",
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "storage:parquet-encoding",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 4353,
      "write_warm_ms": 4075
    },
    {
      "id": "spark-writes/delta/1110_delete_where_decimal_zero",
      "num": 1110,
      "name": "delete_where_decimal_zero",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1110_delete_where_decimal_zero.py",
      "read_script": "generator/df-reads-spark/1110_delete_where_decimal_zero.sql",
      "description": "INSERT 100 rows then DELETE WHERE amount = 0. DV-enabled table.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1111_delete_where_decimal_precision",
      "num": 1111,
      "name": "delete_where_decimal_precision",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1111_delete_where_decimal_precision.py",
      "read_script": "generator/df-reads-spark/1111_delete_where_decimal_precision.sql",
      "description": "INSERT 100 rows then DELETE WHERE d2 < 50 AND d4 < 50. DV-enabled table.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1112_delete_where_timestamp_lt",
      "num": 1112,
      "name": "delete_where_timestamp_lt",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1112_delete_where_timestamp_lt.py",
      "read_script": "generator/df-reads-spark/1112_delete_where_timestamp_lt.sql",
      "description": "INSERT 200 rows then DELETE WHERE event_ts < cutoff. DV-enabled table.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 0,
      "write_warm_ms": 9030
    },
    {
      "id": "spark-writes/delta/1113_delete_where_timestamp_gt",
      "num": 1113,
      "name": "delete_where_timestamp_gt",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1113_delete_where_timestamp_gt.py",
      "read_script": "generator/df-reads-spark/1113_delete_where_timestamp_gt.sql",
      "description": "INSERT 200 rows then DELETE WHERE ts > cutoff. DV-enabled table.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 0,
      "write_warm_ms": 2335
    },
    {
      "id": "spark-writes/delta/1114_delete_where_timestamp_between",
      "num": 1114,
      "name": "delete_where_timestamp_between",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1114_delete_where_timestamp_between.py",
      "read_script": "generator/df-reads-spark/1114_delete_where_timestamp_between.sql",
      "description": "INSERT 200 rows then DELETE WHERE event_ts in [hour 50, hour 100]. DV-enabled table.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1115_delete_where_date",
      "num": 1115,
      "name": "delete_where_date",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1115_delete_where_date.py",
      "read_script": "generator/df-reads-spark/1115_delete_where_date.sql",
      "description": "INSERT 100 rows then DELETE WHERE event_date > day 80. DV-enabled table.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1116_delete_where_boolean_true",
      "num": 1116,
      "name": "delete_where_boolean_true",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1116_delete_where_boolean_true.py",
      "read_script": "generator/df-reads-spark/1116_delete_where_boolean_true.sql",
      "description": "INSERT 200 rows then DELETE WHERE active = true. DV-enabled table.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1117_delete_where_boolean_false",
      "num": 1117,
      "name": "delete_where_boolean_false",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1117_delete_where_boolean_false.py",
      "read_script": "generator/df-reads-spark/1117_delete_where_boolean_false.sql",
      "description": "INSERT 200 rows then DELETE WHERE verified = false. DV-enabled table.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1118_delete_where_boolean_compound",
      "num": 1118,
      "name": "delete_where_boolean_compound",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1118_delete_where_boolean_compound.py",
      "read_script": "generator/df-reads-spark/1118_delete_where_boolean_compound.sql",
      "description": "INSERT 200 rows then DELETE WHERE active = false AND score < 30. DV-enabled table.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1119_delete_where_string_eq",
      "num": 1119,
      "name": "delete_where_string_eq",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1119_delete_where_string_eq.py",
      "read_script": "generator/df-reads-spark/1119_delete_where_string_eq.sql",
      "description": "INSERT 200 rows then DELETE WHERE category = 'A'. DV-enabled table.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/111_parquet_compression_types",
      "num": 111,
      "name": "parquet_compression_types",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/111_parquet_compression_types.py",
      "read_script": "generator/df-reads-spark/111_parquet_compression_types.sql",
      "description": "Multi-tier storage data testing compression. 20,000 initial + 2,000 compressible + 2,000 incompressible = 24,000 rows.",
      "status": "pass",
      "duration_ms": 49,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 49,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:binary",
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "storage:parquet-compression",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 3516,
      "write_warm_ms": 3402
    },
    {
      "id": "spark-writes/delta/1120_delete_where_string_empty",
      "num": 1120,
      "name": "delete_where_string_empty",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1120_delete_where_string_empty.py",
      "read_script": "generator/df-reads-spark/1120_delete_where_string_empty.sql",
      "description": "INSERT 100 rows then DELETE WHERE name = ''. DV-enabled table.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1121_delete_where_is_null",
      "num": 1121,
      "name": "delete_where_is_null",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1121_delete_where_is_null.py",
      "read_script": "generator/df-reads-spark/1121_delete_where_is_null.sql",
      "description": "INSERT 100 rows with multi-type nullable columns, then DELETE WHERE str_v IS NULL. DV-enabled table.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1122_delete_where_is_not_null",
      "num": 1122,
      "name": "delete_where_is_not_null",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1122_delete_where_is_not_null.py",
      "read_script": "generator/df-reads-spark/1122_delete_where_is_not_null.sql",
      "description": "INSERT 100 rows then DELETE WHERE nullable_col IS NOT NULL. DV-enabled table. Only NULL rows survive.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1123_delete_where_in_list",
      "num": 1123,
      "name": "delete_where_in_list",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1123_delete_where_in_list.py",
      "read_script": "generator/df-reads-spark/1123_delete_where_in_list.sql",
      "description": "INSERT 100 rows then DELETE WHERE id IN (1, 5, 10, 25, 50, 75, 99, 100). DV-enabled table.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1124_delete_preserves_int_types",
      "num": 1124,
      "name": "delete_preserves_int_types",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1124_delete_preserves_int_types.py",
      "read_script": "generator/df-reads-spark/1124_delete_preserves_int_types.sql",
      "description": "INSERT 100 rows then DELETE WHERE id % 3 = 0. DV-enabled table. Verifies INT/SMALLINT/TINYINT/BIGINT survive intact on remaining rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1125_delete_preserves_decimal",
      "num": 1125,
      "name": "delete_preserves_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1125_delete_preserves_decimal.py",
      "read_script": "generator/df-reads-spark/1125_delete_preserves_decimal.sql",
      "description": "INSERT 50 rows then DELETE WHERE id % 4 = 0. DV-enabled table. Verifies DECIMAL(5,2), DECIMAL(10,4), DECIMAL(18,8), DECIMAL(38,18) survive intact.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1126_delete_preserves_timestamp",
      "num": 1126,
      "name": "delete_preserves_timestamp",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1126_delete_preserves_timestamp.py",
      "read_script": "generator/df-reads-spark/1126_delete_preserves_timestamp.sql",
      "description": "INSERT 100 rows then DELETE WHERE id % 3 = 0. DV-enabled table. Verifies TIMESTAMP microsecond precision survives on remaining rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1127_delete_preserves_date",
      "num": 1127,
      "name": "delete_preserves_date",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1127_delete_preserves_date.py",
      "read_script": "generator/df-reads-spark/1127_delete_preserves_date.sql",
      "description": "INSERT 100 rows then DELETE WHERE id % 3 = 0. DV-enabled table. Verifies DATE values survive intact on remaining rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1128_delete_preserves_boolean",
      "num": 1128,
      "name": "delete_preserves_boolean",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1128_delete_preserves_boolean.py",
      "read_script": "generator/df-reads-spark/1128_delete_preserves_boolean.sql",
      "description": "INSERT 200 rows then DELETE WHERE id % 5 = 0. DV-enabled table. Verifies 3 BOOLEAN column distributions survive intact.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1129_delete_preserves_string",
      "num": 1129,
      "name": "delete_preserves_string",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1129_delete_preserves_string.py",
      "read_script": "generator/df-reads-spark/1129_delete_preserves_string.sql",
      "description": "INSERT 100 rows then DELETE WHERE id % 4 = 0. DV-enabled table. Verifies empty/short/medium/long STRING patterns survive intact.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/112_cross_version_compatibility",
      "num": 112,
      "name": "cross_version_compatibility",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/112_cross_version_compatibility.py",
      "read_script": "generator/df-reads-spark/112_cross_version_compatibility.sql",
      "description": "Protocol version evolution table. 5 epochs x 500 + 250 recent = 2750 rows.",
      "status": "pass",
      "duration_ms": 22,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 22,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "robust:cross-version",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 2821,
      "write_warm_ms": 2770
    },
    {
      "id": "spark-writes/delta/1130_delete_preserves_struct",
      "num": 1130,
      "name": "delete_preserves_struct",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1130_delete_preserves_struct.py",
      "read_script": "generator/df-reads-spark/1130_delete_preserves_struct.sql",
      "description": "INSERT 100 rows then DELETE WHERE id % 3 = 0. DV-enabled table. Verifies STRUCT fields survive via dot-notation access.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1131_delete_preserves_float_double",
      "num": 1131,
      "name": "delete_preserves_float_double",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1131_delete_preserves_float_double.py",
      "read_script": "generator/df-reads-spark/1131_delete_preserves_float_double.sql",
      "description": "INSERT 100 rows then DELETE WHERE id % 5 = 0. DV-enabled table. Verifies FLOAT and DOUBLE values survive intact on remaining rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1132_delete_preserves_all_types",
      "num": 1132,
      "name": "delete_preserves_all_types",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1132_delete_preserves_all_types.py",
      "read_script": "generator/df-reads-spark/1132_delete_preserves_all_types.sql",
      "description": "INSERT 100 rows then DELETE WHERE id % 3 = 0. DV-enabled table. Verifies STRING, INT, DOUBLE, BOOLEAN, DECIMAL, TIMESTAMP, DATE all survive.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1133_delete_compound_decimal_int",
      "num": 1133,
      "name": "delete_compound_decimal_int",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1133_delete_compound_decimal_int.py",
      "read_script": "generator/df-reads-spark/1133_delete_compound_decimal_int.sql",
      "description": "INSERT 200 rows then DELETE WHERE amount > 500 AND score < 50. DV-enabled table.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1134_delete_compound_timestamp_boolean",
      "num": 1134,
      "name": "delete_compound_timestamp_boolean",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1134_delete_compound_timestamp_boolean.py",
      "read_script": "generator/df-reads-spark/1134_delete_compound_timestamp_boolean.sql",
      "description": "INSERT 200 rows then DELETE WHERE event_ts < '2024-01-02 02:00:00' AND active = true. DV-enabled table.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1135_delete_compound_three_types",
      "num": 1135,
      "name": "delete_compound_three_types",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1135_delete_compound_three_types.py",
      "read_script": "generator/df-reads-spark/1135_delete_compound_three_types.sql",
      "description": "INSERT 200 rows then DELETE WHERE amount > 300 AND score < 40 AND active = false. DV-enabled table.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1136_delete_compound_or_typed",
      "num": 1136,
      "name": "delete_compound_or_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1136_delete_compound_or_typed.py",
      "read_script": "generator/df-reads-spark/1136_delete_compound_or_typed.sql",
      "description": "INSERT 200 rows then DELETE WHERE amount < 100 OR event_ts > '2024-01-08 00:00:00'. DV-enabled table.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 0,
      "write_warm_ms": 2154
    },
    {
      "id": "spark-writes/delta/1137_delete_expression_modular",
      "num": 1137,
      "name": "delete_expression_modular",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1137_delete_expression_modular.py",
      "read_script": "generator/df-reads-spark/1137_delete_expression_modular.sql",
      "description": "INSERT 500 rows then two sequential modular DELETEs. DV-enabled table.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1138_delete_expression_range",
      "num": 1138,
      "name": "delete_expression_range",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1138_delete_expression_range.py",
      "read_script": "generator/df-reads-spark/1138_delete_expression_range.sql",
      "description": "INSERT 200 rows then DELETE WHERE amount BETWEEN 200.00 AND 400.00. DV-enabled table.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1139_delete_sequential_typed",
      "num": 1139,
      "name": "delete_sequential_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1139_delete_sequential_typed.py",
      "read_script": "generator/df-reads-spark/1139_delete_sequential_typed.sql",
      "description": "INSERT 500 rows then 5 sequential DELETEs on different typed columns. DV-enabled table.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/113_large_single_file_millions_rows",
      "num": 113,
      "name": "large_single_file_millions_rows",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/113_large_single_file_millions_rows.py",
      "read_script": "generator/df-reads-spark/113_large_single_file_millions_rows.sql",
      "description": "High-volume transaction processing. 2,000,000 rows in 20 batches of 100,000 each.",
      "status": "pass",
      "duration_ms": 503,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 503,
      "read_warm_ms": 206,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 45719,
      "write_warm_ms": 44949
    },
    {
      "id": "spark-writes/delta/1140_delete_sequential_same_type",
      "num": 1140,
      "name": "delete_sequential_same_type",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1140_delete_sequential_same_type.py",
      "read_script": "generator/df-reads-spark/1140_delete_sequential_same_type.sql",
      "description": "INSERT 300 rows then 3 sequential DELETEs all on the DECIMAL amount column. DV-enabled table.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1141_delete_leaves_one_typed",
      "num": 1141,
      "name": "delete_leaves_one_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1141_delete_leaves_one_typed.py",
      "read_script": "generator/df-reads-spark/1141_delete_leaves_one_typed.sql",
      "description": "INSERT 100 rows then DELETE WHERE id != 42. Verify all types on single surviving row. DV-enabled table.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1142_delete_leaves_zero",
      "num": 1142,
      "name": "delete_leaves_zero",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1142_delete_leaves_zero.py",
      "read_script": "generator/df-reads-spark/1142_delete_leaves_zero.sql",
      "description": "INSERT 50 rows then DELETE WHERE true (all rows). DV-enabled table. Schema survives even with 0 rows.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 0,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1143_delete_large_typed",
      "num": 1143,
      "name": "delete_large_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1143_delete_large_typed.py",
      "read_script": "generator/df-reads-spark/1143_delete_large_typed.sql",
      "description": "INSERT 2000 rows then DELETE WHERE id % 10 != 0. DV-enabled table. 90% of rows deleted; keeps every 10th row.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1144_delete_small_typed",
      "num": 1144,
      "name": "delete_small_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1144_delete_small_typed.py",
      "read_script": "generator/df-reads-spark/1144_delete_small_typed.sql",
      "description": "INSERT 100 rows then DELETE WHERE id = 50. DV-enabled table. Tests minimum DV creation (1 row deleted).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1145_delete_typed_then_insert",
      "num": 1145,
      "name": "delete_typed_then_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1145_delete_typed_then_insert.py",
      "read_script": "generator/df-reads-spark/1145_delete_typed_then_insert.sql",
      "description": "INSERT 100 rows (gen=1), DELETE first 30, then INSERT 30 new rows (gen=2). DV-enabled. Tests type consistency across delete+insert cycle.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1146_delete_typed_where_cast",
      "num": 1146,
      "name": "delete_typed_where_cast",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1146_delete_typed_where_cast.py",
      "read_script": "generator/df-reads-spark/1146_delete_typed_where_cast.sql",
      "description": "INSERT 100 rows then DELETE WHERE CAST(score AS DOUBLE) > 80.0. DV-enabled table. Tests type coercion in WHERE clause.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1147_delete_decimal_max_precision",
      "num": 1147,
      "name": "delete_decimal_max_precision",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1147_delete_decimal_max_precision.py",
      "read_script": "generator/df-reads-spark/1147_delete_decimal_max_precision.sql",
      "description": "INSERT 50 rows then DELETE WHERE full_prec > 5.0. DV-enabled table. Tests DELETE on max-precision DECIMAL(38,18) column.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1148_delete_timestamp_microsecond",
      "num": 1148,
      "name": "delete_timestamp_microsecond",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1148_delete_timestamp_microsecond.py",
      "read_script": "generator/df-reads-spark/1148_delete_timestamp_microsecond.sql",
      "description": "INSERT 100 rows with timestamps 1 microsecond apart, then DELETE WHERE ts > cutoff. DV-enabled table.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 0,
      "write_warm_ms": 2116
    },
    {
      "id": "spark-writes/delta/1149_delete_int_boundary",
      "num": 1149,
      "name": "delete_int_boundary",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1149_delete_int_boundary.py",
      "read_script": "generator/df-reads-spark/1149_delete_int_boundary.sql",
      "description": "INSERT 105 rows (100 normal + 5 boundary) then DELETE WHERE val > 2147483000. DV-enabled table. Tests DELETE at INT min/max boundaries.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/114_deletion_vector_inline_bitmap",
      "num": 114,
      "name": "deletion_vector_inline_bitmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/114_deletion_vector_inline_bitmap.py",
      "read_script": "generator/df-reads-spark/114_deletion_vector_inline_bitmap.sql",
      "description": "Real-time data corrections. 10,000 initial records in 100 batches of 100, then multiple DELETE operations and 1 UPDATE + more targeted deletes.",
      "status": "pass",
      "duration_ms": 24,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 24,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 13015,
      "write_warm_ms": 12086
    },
    {
      "id": "spark-writes/delta/1150_delete_double_extreme",
      "num": 1150,
      "name": "delete_double_extreme",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1150_delete_double_extreme.py",
      "read_script": "generator/df-reads-spark/1150_delete_double_extreme.sql",
      "description": "INSERT 50 rows then two sequential DELETEs on extreme DOUBLE values. DV-enabled table.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1151_delete_decimal_cdc",
      "num": 1151,
      "name": "delete_decimal_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1151_delete_decimal_cdc.py",
      "read_script": "generator/df-reads-spark/1151_delete_decimal_cdc.sql",
      "description": "INSERT 100 rows then DELETE WHERE amount > 500. DV + CDC enabled table.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1152_delete_timestamp_cdc",
      "num": 1152,
      "name": "delete_timestamp_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1152_delete_timestamp_cdc.py",
      "read_script": "generator/df-reads-spark/1152_delete_timestamp_cdc.sql",
      "description": "INSERT 100 rows then DELETE WHERE event_ts < cutoff. DV + CDC enabled table.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1153_delete_boolean_cdc",
      "num": 1153,
      "name": "delete_boolean_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1153_delete_boolean_cdc.py",
      "read_script": "generator/df-reads-spark/1153_delete_boolean_cdc.sql",
      "description": "INSERT 200 rows then DELETE WHERE active = true. DV + CDC enabled table.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1154_delete_int_cdc",
      "num": 1154,
      "name": "delete_int_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1154_delete_int_cdc.py",
      "read_script": "generator/df-reads-spark/1154_delete_int_cdc.sql",
      "description": "INSERT 200 rows then DELETE WHERE score > 80. DV + CDC enabled table.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1155_delete_decimal_partition",
      "num": 1155,
      "name": "delete_decimal_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1155_delete_decimal_partition.py",
      "read_script": "generator/df-reads-spark/1155_delete_decimal_partition.sql",
      "description": "INSERT 120 rows (40 per region) then DELETE WHERE amount < 100 AND region = 'US'. DV-enabled partitioned table.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1156_delete_timestamp_partition",
      "num": 1156,
      "name": "delete_timestamp_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1156_delete_timestamp_partition.py",
      "read_script": "generator/df-reads-spark/1156_delete_timestamp_partition.sql",
      "description": "DELETE on TIMESTAMP predicate within EU partition (DV table). 120 rows (40 per region: US/EU/AP).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1157_delete_typed_partition_all",
      "num": 1157,
      "name": "delete_typed_partition_all",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1157_delete_typed_partition_all.py",
      "read_script": "generator/df-reads-spark/1157_delete_typed_partition_all.sql",
      "description": "DELETE with different typed predicates per partition (DV table). 120 rows (40 per region: US/EU/AP). amount = i * 8.50 DECIMAL(10,2) score = (i * 11) % 100 INT active = (i % 2 == 0) BOOLEAN",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1158_delete_decimal_constraint",
      "num": 1158,
      "name": "delete_decimal_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1158_delete_decimal_constraint.py",
      "read_script": "generator/df-reads-spark/1158_delete_decimal_constraint.sql",
      "description": "DELETE on DECIMAL predicate with CHECK constraint (DV table). 100 rows: amount = CAST(i * 5.25 AS DECIMAL(10,2)), i=1..100",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1159_delete_int_constraint",
      "num": 1159,
      "name": "delete_int_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1159_delete_int_constraint.py",
      "read_script": "generator/df-reads-spark/1159_delete_int_constraint.sql",
      "description": "DELETE on INT predicate with CHECK constraint (DV table). 100 rows: score = (i * 7) % 100, i=1..100",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/115_checkpoint_v1_vs_v2_migration",
      "num": 115,
      "name": "checkpoint_v1_vs_v2_migration",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/115_checkpoint_v1_vs_v2_migration.py",
      "read_script": "generator/df-reads-spark/115_checkpoint_v1_vs_v2_migration.sql",
      "description": "Entity management table. 3 INSERT batches, many UPDATEs, 1 DELETE, 1 OPTIMIZE.",
      "status": "pass",
      "duration_ms": 36,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 36,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:checkpoint-v1",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 31854,
      "write_warm_ms": 31483
    },
    {
      "id": "spark-writes/delta/1160_delete_decimal_colmap",
      "num": 1160,
      "name": "delete_decimal_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1160_delete_decimal_colmap.py",
      "read_script": "generator/df-reads-spark/1160_delete_decimal_colmap.sql",
      "description": "DELETE on DECIMAL predicate with column mapping mode=name (DV table). 100 rows: amount = CAST(i * 10.25 AS DECIMAL(10,2)), i=1..100",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1161_delete_timestamp_colmap",
      "num": 1161,
      "name": "delete_timestamp_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1161_delete_timestamp_colmap.py",
      "read_script": "generator/df-reads-spark/1161_delete_timestamp_colmap.sql",
      "description": "DELETE on TIMESTAMP predicate with column mapping mode=name (DV table). 100 rows: event_ts = 2024-01-01 + i days, i=1..100",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1162_delete_typed_evolve",
      "num": 1162,
      "name": "delete_typed_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1162_delete_typed_evolve.py",
      "read_script": "generator/df-reads-spark/1162_delete_typed_evolve.sql",
      "description": "DELETE after schema evolution on typed table (DV table). spark-reads-df/verify_1162_delete_typed_evolve.py df-sql/1162_delete_typed_evolve.sql",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1163_delete_decimal_optimize",
      "num": 1163,
      "name": "delete_decimal_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1163_delete_decimal_optimize.py",
      "read_script": "generator/df-reads-spark/1163_delete_decimal_optimize.sql",
      "description": "DELETE on DECIMAL predicate after OPTIMIZE (DV table). 200 rows in 4 batches of 50: amount = i * 5.15 DECIMAL(10,2)",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1164_delete_timestamp_optimize",
      "num": 1164,
      "name": "delete_timestamp_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1164_delete_timestamp_optimize.py",
      "read_script": "generator/df-reads-spark/1164_delete_timestamp_optimize.sql",
      "description": "DELETE on TIMESTAMP predicate after OPTIMIZE (DV table). 200 rows in 4 batches of 50: event_ts = 2024-01-01 + i hours, i=1..200",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1165_delete_typed_no_dv",
      "num": 1165,
      "name": "delete_typed_no_dv",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1165_delete_typed_no_dv.py",
      "read_script": "generator/df-reads-spark/1165_delete_typed_no_dv.sql",
      "description": "DELETE on typed table without deletion vectors. enableDeletionVectors=false forces full file rewrite on DELETE. 100 rows: amount=i*10.25, event_ts=2024-01-01+i days, active=(i%2==0)",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1166_delete_typed_not_null",
      "num": 1166,
      "name": "delete_typed_not_null",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1166_delete_typed_not_null.py",
      "read_script": "generator/df-reads-spark/1166_delete_typed_not_null.sql",
      "description": "DELETE on NOT NULL typed table (DV table). 100 rows: amount = i * 12.50 DECIMAL(10,2), i=1..100 Columns id and name are NOT NULL.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1167_delete_decimal_cdc_partition",
      "num": 1167,
      "name": "delete_decimal_cdc_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1167_delete_decimal_cdc_partition.py",
      "read_script": "generator/df-reads-spark/1167_delete_decimal_cdc_partition.sql",
      "description": "120 rows (40 per region: US/EU/AP), amount = i * 8.75 per partition. DELETE WHERE amount > 300.00 AND region = 'US' => US i=35..40 deleted (6 rows)",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1168_delete_typed_colmap_cdc",
      "num": 1168,
      "name": "delete_typed_colmap_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1168_delete_typed_colmap_cdc.py",
      "read_script": "generator/df-reads-spark/1168_delete_typed_colmap_cdc.sql",
      "description": "100 rows: amount = i * 4.50 DECIMAL(10,2), active = (i % 2 == 0) DELETE WHERE active = false AND amount < 200.00 => odd i AND i*4.50 < 200 => odd i AND i < 44.44 => 22 deleted (DELTA_BLOCK_COLUMN_MAPPING_AND_CDC_OPERATION).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1169_delete_typed_constraint_evolve",
      "num": 1169,
      "name": "delete_typed_constraint_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1169_delete_typed_constraint_evolve.py",
      "read_script": "generator/df-reads-spark/1169_delete_typed_constraint_evolve.sql",
      "description": "spark-reads-df/verify_1169_delete_typed_constraint_evolve.py df-sql/1169_delete_typed_constraint_evolve.sql",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/116_unicode_column_names",
      "num": 116,
      "name": "unicode_column_names",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/116_unicode_column_names.py",
      "read_script": "generator/df-reads-spark/116_unicode_column_names.sql",
      "description": "International data platform with unicode column names. 600 rows (500 + 100 append). Column mapping mode='name'. UPDATE applied inline for id < 100.",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "type:unicode",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 1200,
      "write_warm_ms": 1092
    },
    {
      "id": "spark-writes/delta/1170_delete_decimal_colmap_partition",
      "num": 1170,
      "name": "delete_decimal_colmap_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1170_delete_decimal_colmap_partition.py",
      "read_script": "generator/df-reads-spark/1170_delete_decimal_colmap_partition.sql",
      "description": "120 rows (40 per region: US/EU/AP), amount = i * 3.75 per partition. DELETE WHERE amount < 100.00 across all partitions => i=1..26 deleted per partition (26*3=78 total)",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1171_delete_typed_optimize_cdc",
      "num": 1171,
      "name": "delete_typed_optimize_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1171_delete_typed_optimize_cdc.py",
      "read_script": "generator/df-reads-spark/1171_delete_typed_optimize_cdc.sql",
      "description": "200 rows in 4 batches: amount = i * 2.75 DECIMAL(10,2), i=1..200",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1172_delete_typed_partition_evolve",
      "num": 1172,
      "name": "delete_typed_partition_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1172_delete_typed_partition_evolve.py",
      "read_script": "generator/df-reads-spark/1172_delete_typed_partition_evolve.sql",
      "description": "spark-reads-df/verify_1172_delete_typed_partition_evolve.py df-sql/1172_delete_typed_partition_evolve.sql",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1173_delete_struct_typed",
      "num": 1173,
      "name": "delete_struct_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1173_delete_struct_typed.py",
      "read_script": "generator/df-reads-spark/1173_delete_struct_typed.sql",
      "description": "DELETE on table with STRUCT column + typed DECIMAL predicate (DV table). 100 rows: info = struct(name='user_'+i, level=(i*3)%50), amount = i * 3.50 DECIMAL(10,2)",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1174_delete_four_way",
      "num": 1174,
      "name": "delete_four_way",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1174_delete_four_way.py",
      "read_script": "generator/df-reads-spark/1174_delete_four_way.sql",
      "description": "120 rows (40 per region US/EU/AP), amount = i * 8.75 DECIMAL(10,2)",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1175_delete_five_way",
      "num": 1175,
      "name": "delete_five_way",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1175_delete_five_way.py",
      "read_script": "generator/df-reads-spark/1175_delete_five_way.sql",
      "description": "120 rows (40 per region US/EU/AP), amount = i * 8.75 DECIMAL(10,2) Column mapping mode=name. Constraint preserved. Partition dirs present. (DELTA_BLOCK_COLUMN_MAPPING_AND_CDC_OPERATION).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1176_delete_then_insert_typed",
      "num": 1176,
      "name": "delete_then_insert_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1176_delete_then_insert_typed.py",
      "read_script": "generator/df-reads-spark/1176_delete_then_insert_typed.sql",
      "description": "spark-reads-df/verify_1176_delete_then_insert_typed.py df-sql/1176_delete_then_insert_typed.sql",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1177_delete_then_update_typed",
      "num": 1177,
      "name": "delete_then_update_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1177_delete_then_update_typed.py",
      "read_script": "generator/df-reads-spark/1177_delete_then_update_typed.sql",
      "description": "spark-reads-df/verify_1177_delete_then_update_typed.py df-sql/1177_delete_then_update_typed.sql",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1178_delete_then_merge_typed",
      "num": 1178,
      "name": "delete_then_merge_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1178_delete_then_merge_typed.py",
      "read_script": "generator/df-reads-spark/1178_delete_then_merge_typed.sql",
      "description": "spark-reads-df/verify_1178_delete_then_merge_typed.py df-sql/1178_delete_then_merge_typed.sql",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1179_delete_chain_three",
      "num": 1179,
      "name": "delete_chain_three",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1179_delete_chain_three.py",
      "read_script": "generator/df-reads-spark/1179_delete_chain_three.sql",
      "description": "500 rows: score = (i*7)%100, amount = i * 2.50 DECIMAL(10,2), active = (i%2==0)",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/117_deeply_nested_100_levels",
      "num": 117,
      "name": "deeply_nested_100_levels",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/117_deeply_nested_100_levels.py",
      "read_script": "generator/df-reads-spark/117_deeply_nested_100_levels.sql",
      "description": "Corporate org structure. 100 initial + UPDATE + 50 appended = 150 rows.",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:array",
        "type:boolean",
        "type:integer",
        "type:map",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:nested-types",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 2431,
      "write_warm_ms": 2125
    },
    {
      "id": "spark-writes/delta/1180_delete_chain_same_decimal",
      "num": 1180,
      "name": "delete_chain_same_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1180_delete_chain_same_decimal.py",
      "read_script": "generator/df-reads-spark/1180_delete_chain_same_decimal.sql",
      "description": "500 rows: amount = i * 1.00 DECIMAL(10,2), i=1..500 spark-reads-df/verify_1180_delete_chain_same_decimal.py df-sql/1180_delete_chain_same_decimal.sql",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1181_delete_multi_type_schema",
      "num": 1181,
      "name": "delete_multi_type_schema",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1181_delete_multi_type_schema.py",
      "read_script": "generator/df-reads-spark/1181_delete_multi_type_schema.sql",
      "description": "8-type wide schema preserved after DELETE. 100 rows with all 8 types: s = 'str_' + i STRING i = (i * 13) % 1000 INT d = i * 3.14159 DOUBLE b = (i % 2 == 0) BOOLEAN dec = i * 7.77 DECIMAL(10,2) ts = 2024-01-01 + i days TIMESTAMP dt = 2024-01-01 + i days DATE",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1182_delete_decimal_then_decimal",
      "num": 1182,
      "name": "delete_decimal_then_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1182_delete_decimal_then_decimal.py",
      "read_script": "generator/df-reads-spark/1182_delete_decimal_then_decimal.sql",
      "description": "200 rows: price = i * 5.00 DECIMAL(10,2), cost = i * 1.25 DECIMAL(10,2)",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1183_delete_timestamp_then_boolean",
      "num": 1183,
      "name": "delete_timestamp_then_boolean",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1183_delete_timestamp_then_boolean.py",
      "read_script": "generator/df-reads-spark/1183_delete_timestamp_then_boolean.sql",
      "description": "200 rows: event_ts = base + i hours, active = (i % 2 == 0) spark-reads-df/verify_1183_delete_timestamp_then_boolean.py df-sql/1183_delete_timestamp_then_boolean.sql",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1184_delete_typed_all_match",
      "num": 1184,
      "name": "delete_typed_all_match",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1184_delete_typed_all_match.py",
      "read_script": "generator/df-reads-spark/1184_delete_typed_all_match.sql",
      "description": "100 rows: amount = i * 10.00 DECIMAL(10,2), i=1..100 (all > 0)",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 0,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1185_delete_typed_no_match",
      "num": 1185,
      "name": "delete_typed_no_match",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1185_delete_typed_no_match.py",
      "read_script": "generator/df-reads-spark/1185_delete_typed_no_match.sql",
      "description": "100 rows: amount = i * 10.00 DECIMAL(10,2), i=1..100 (all > 0)",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1186_delete_decimal_exact_value",
      "num": 1186,
      "name": "delete_decimal_exact_value",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1186_delete_decimal_exact_value.py",
      "read_script": "generator/df-reads-spark/1186_delete_decimal_exact_value.sql",
      "description": "100 rows: amount = ROUND(i * 9.99, 2) DECIMAL(10,2), i=1..100",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1187_delete_timestamp_exact",
      "num": 1187,
      "name": "delete_timestamp_exact",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1187_delete_timestamp_exact.py",
      "read_script": "generator/df-reads-spark/1187_delete_timestamp_exact.sql",
      "description": "100 rows: ts = base + i hours, i=1..100 spark-reads-df/verify_1187_delete_timestamp_exact.py df-sql/1187_delete_timestamp_exact.sql",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1188_delete_boolean_only_true",
      "num": 1188,
      "name": "delete_boolean_only_true",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1188_delete_boolean_only_true.py",
      "read_script": "generator/df-reads-spark/1188_delete_boolean_only_true.sql",
      "description": "100 rows: flag = true for ALL rows spark-reads-df/verify_1188_delete_boolean_only_true.py df-sql/1188_delete_boolean_only_true.sql",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 0,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1189_delete_string_pattern",
      "num": 1189,
      "name": "delete_string_pattern",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1189_delete_string_pattern.py",
      "read_script": "generator/df-reads-spark/1189_delete_string_pattern.sql",
      "description": "200 rows: name = 'item_' + i, score = (i*7)%100 => 5 rows deleted (ids 1, 10, 100, 150, 200)",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/118_thousands_of_partitions",
      "num": 118,
      "name": "thousands_of_partitions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/118_thousands_of_partitions.py",
      "read_script": "generator/df-reads-spark/118_thousands_of_partitions.sql",
      "description": "Web analytics table. 72 initial + UPDATE + 6 recent append = 78 rows. Partitioned by year, month, day, region (4-level).",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 1811,
      "write_warm_ms": 1770
    },
    {
      "id": "spark-writes/delta/1190_delete_decimal_cdc_exact",
      "num": 1190,
      "name": "delete_decimal_cdc_exact",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1190_delete_decimal_cdc_exact.py",
      "read_script": "generator/df-reads-spark/1190_delete_decimal_cdc_exact.sql",
      "description": "100 rows: amount = i * 5.00 DECIMAL(10,2), i=1..100 delta.enableChangeDataFeed = true",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1191_delete_typed_cdc_partition_constraint",
      "num": 1191,
      "name": "delete_typed_cdc_partition_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1191_delete_typed_cdc_partition_constraint.py",
      "read_script": "generator/df-reads-spark/1191_delete_typed_cdc_partition_constraint.sql",
      "description": "120 rows (40 per region US/EU/AP), amount = i * 8.75 DECIMAL(10,2)",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1192_delete_typed_colmap_cdc_partition",
      "num": 1192,
      "name": "delete_typed_colmap_cdc_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1192_delete_typed_colmap_cdc_partition.py",
      "read_script": "generator/df-reads-spark/1192_delete_typed_colmap_cdc_partition.sql",
      "description": "120 rows (40 per region US/EU/AP), amount = i * 2.50 DECIMAL(10,2) (DELTA_BLOCK_COLUMN_MAPPING_AND_CDC_OPERATION).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1193_delete_typed_optimize_partition_cdc",
      "num": 1193,
      "name": "delete_typed_optimize_partition_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1193_delete_typed_optimize_partition_cdc.py",
      "read_script": "generator/df-reads-spark/1193_delete_typed_optimize_partition_cdc.sql",
      "description": "120 rows in 2 batches (3 regions): amount > 300 -> i+20 > 34.28 -> i=15..20 = 6 per region = 18 total",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1194_delete_typed_evolve_cdc_partition",
      "num": 1194,
      "name": "delete_typed_evolve_cdc_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1194_delete_typed_evolve_cdc_partition.py",
      "read_script": "generator/df-reads-spark/1194_delete_typed_evolve_cdc_partition.sql",
      "description": "extra = (id) * 3.14 DECIMAL(10,2) Schema (after evolve): id BIGINT, name STRING, score INT, region STRING, extra DECIMAL(10,2) delta.enableChangeDataFeed = true",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1195_delete_typed_five_way",
      "num": 1195,
      "name": "delete_typed_five_way",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1195_delete_typed_five_way.py",
      "read_script": "generator/df-reads-spark/1195_delete_typed_five_way.sql",
      "description": "(DELTA_BLOCK_COLUMN_MAPPING_AND_CDC_OPERATION). Schema (after evolve): id BIGINT, score INT, name STRING, region STRING, extra DECIMAL(10,2) delta.columnMapping.mode = name delta.minReaderVersion = 2 delta.minWriterVersion = 5",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1196_delete_decimal_partition_multi_pred",
      "num": 1196,
      "name": "delete_decimal_partition_multi_pred",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1196_delete_decimal_partition_multi_pred.py",
      "read_script": "generator/df-reads-spark/1196_delete_decimal_partition_multi_pred.sql",
      "description": "150 rows (50 per region US/EU/AP), amount = i * 5.00 DECIMAL(10,2) US ids 1-50, EU ids 51-100, AP ids 101-150",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1197_delete_typed_colmap_evolve",
      "num": 1197,
      "name": "delete_typed_colmap_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1197_delete_typed_colmap_evolve.py",
      "read_script": "generator/df-reads-spark/1197_delete_typed_colmap_evolve.sql",
      "description": "Schema (after evolve): id BIGINT, name STRING, score INT, amount DECIMAL(10,2) delta.columnMapping.mode = name delta.minReaderVersion = 2 delta.minWriterVersion = 5",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1198_delete_all_types_cdc",
      "num": 1198,
      "name": "delete_all_types_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1198_delete_all_types_cdc.py",
      "read_script": "generator/df-reads-spark/1198_delete_all_types_cdc.sql",
      "description": "All 7 types + CDC. CDF delete records preserve all typed columns. 100 rows: label = 'label_' + i STRING score = (i * 7) % 100 INT rating = i * 2.718 DOUBLE active = (i % 2 == 0) BOOLEAN amount = i * 9.99 DECIMAL(10,2) event_ts = base + i hours TIMESTAMP",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1199_delete_typed_colmap_partition_constraint_cdc",
      "num": 1199,
      "name": "delete_typed_colmap_partition_constraint_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1199_delete_typed_colmap_partition_constraint_cdc.py",
      "read_script": "generator/df-reads-spark/1199_delete_typed_colmap_partition_constraint_cdc.sql",
      "description": "(DELTA_BLOCK_COLUMN_MAPPING_AND_CDC_OPERATION). 120 rows (40 per region US/EU/AP): amount = i * 8.75 DECIMAL(10,2) (all positive) score = ((id) * 7) % 100 INT (0..99, all >= 0) active = (i % 2 == 0) BOOLEAN",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/119_wide_table_hundreds_columns",
      "num": 119,
      "name": "wide_table_hundreds_columns",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/119_wide_table_hundreds_columns.py",
      "read_script": "generator/df-reads-spark/119_wide_table_hundreds_columns.sql",
      "description": "Wide analytics table with 255 columns. 1000 initial + UPDATE + 200 append - 50 deleted = 1150 rows. 5 groups of 50 columns each (cust, prod, txn, fin, ops) + 4 metadata columns.",
      "status": "pass",
      "duration_ms": 44,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 44,
      "read_warm_ms": 25,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 2168,
      "write_warm_ms": 2098
    },
    {
      "id": "spark-writes/delta/11_last_checkpoint_json_pointer",
      "num": 11,
      "name": "last_checkpoint_json_pointer",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/11_last_checkpoint_json_pointer.py",
      "read_script": "generator/df-reads-spark/11_last_checkpoint_json_pointer.sql",
      "description": "Hospital patient encounters. 20 columns. 15000 records. Pre-computed final state after 12 operations. No deletes.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 867,
      "tags": [
        "type:boolean",
        "type:date",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1200_delete_ultimate",
      "num": 1200,
      "name": "delete_ultimate",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1200_delete_ultimate.py",
      "read_script": "generator/df-reads-spark/1200_delete_ultimate.sql",
      "description": "Every data type + every feature + 3 sequential DELETEs: Partition (4 regions: US/EU/AP/SA) + constraint + colmap + evolve + OPTIMIZE. (DELTA_BLOCK_COLUMN_MAPPING_AND_CDC_OPERATION). 7 typed columns + 1 evolved extra STRING.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 0,
      "write_warm_ms": 6695
    },
    {
      "id": "spark-writes/delta/1201_stats_int_after_insert",
      "num": 1201,
      "name": "stats_int_after_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1201_stats_int_after_insert.py",
      "read_script": "generator/df-reads-spark/1201_stats_int_after_insert.sql",
      "description": "Two batches of 100 rows each. Batch 1 (ids 1-100): score = (i * 53) % 100 Batch 2 (ids 101-200): score = (i * 53) % 100",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1202_stats_decimal_after_insert",
      "num": 1202,
      "name": "stats_decimal_after_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1202_stats_decimal_after_insert.py",
      "read_script": "generator/df-reads-spark/1202_stats_decimal_after_insert.sql",
      "description": "Two batches with disjoint DECIMAL ranges: Batch 1 (ids 1-100): amount = ROUND(10.00 + (i-1) * 4.95, 2) -> [10.00, ~500.55] Batch 2 (ids 101-200): amount = ROUND(501.00 + (i-101) * 5.04, 2) -> [501.00, ~1000.96]",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1203_stats_timestamp_after_insert",
      "num": 1203,
      "name": "stats_timestamp_after_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1203_stats_timestamp_after_insert.py",
      "read_script": "generator/df-reads-spark/1203_stats_timestamp_after_insert.sql",
      "description": "Two batches with disjoint TIMESTAMP ranges: Batch 1 (ids 1-100): ts = 2024-01-01 + i hours (January 2024) Batch 2 (ids 101-200): ts = 2024-02-01 + i hours (February 2024)",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1204_stats_string_after_insert",
      "num": 1204,
      "name": "stats_string_after_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1204_stats_string_after_insert.py",
      "read_script": "generator/df-reads-spark/1204_stats_string_after_insert.sql",
      "description": "Two batches with disjoint STRING ranges: Batch 1 (ids 1-100): name = 'a_' + zero-padded i (a_001..a_100) Batch 2 (ids 101-200): name = 'b_' + zero-padded(i-100) (b_001..b_100)",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1205_stats_boolean_after_insert",
      "num": 1205,
      "name": "stats_boolean_after_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1205_stats_boolean_after_insert.py",
      "read_script": "generator/df-reads-spark/1205_stats_boolean_after_insert.sql",
      "description": "Two batches with homogeneous boolean values: Batch 1 (ids 1-100): flag = true Batch 2 (ids 101-200): flag = false",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1206_stats_null_count_after_insert",
      "num": 1206,
      "name": "stats_null_count_after_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1206_stats_null_count_after_insert.py",
      "read_script": "generator/df-reads-spark/1206_stats_null_count_after_insert.sql",
      "description": "Two-batch INSERT producing 200 rows across 2 separate files. Batch 1 (ids 1-100): score = i (all non-NULL) Batch 2 (ids 101-200): score = i if i%2==0 else NULL (50 non-NULL, 50 NULL)",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1207_stats_after_update",
      "num": 1207,
      "name": "stats_after_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1207_stats_after_update.py",
      "read_script": "generator/df-reads-spark/1207_stats_after_update.sql",
      "description": "INT statistics correctness after UPDATE rewrites files.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1208_stats_after_delete",
      "num": 1208,
      "name": "stats_after_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1208_stats_after_delete.py",
      "read_script": "generator/df-reads-spark/1208_stats_after_delete.sql",
      "description": "Statistics correctness after DELETE with deletion vectors.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1209_stats_after_optimize",
      "num": 1209,
      "name": "stats_after_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1209_stats_after_optimize.py",
      "read_script": "generator/df-reads-spark/1209_stats_after_optimize.sql",
      "description": "Statistics correctness after OPTIMIZE compacts multiple files.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/120_perf_multi_file_parallel_read",
      "num": 120,
      "name": "perf_multi_file_parallel_read",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/120_perf_multi_file_parallel_read.py",
      "read_script": "generator/df-reads-spark/120_perf_multi_file_parallel_read.sql",
      "description": "E-commerce order analytics. Version 0: 5000 rows. Versions 1-14: 14 appends. Batch size = 3000 + (batch_num % 5) * 400. 20 columns.",
      "status": "pass",
      "duration_ms": 87,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 87,
      "read_warm_ms": 38,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 6111,
      "write_warm_ms": 5962
    },
    {
      "id": "spark-writes/delta/1210_stats_decimal_after_update",
      "num": 1210,
      "name": "stats_decimal_after_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1210_stats_decimal_after_update.py",
      "read_script": "generator/df-reads-spark/1210_stats_decimal_after_update.sql",
      "description": "DECIMAL statistics correctness after UPDATE rewrites files.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1211_stats_timestamp_after_update",
      "num": 1211,
      "name": "stats_timestamp_after_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1211_stats_timestamp_after_update.py",
      "read_script": "generator/df-reads-spark/1211_stats_timestamp_after_update.sql",
      "description": "Steps: JAN_BASE = 2024-01-01T00:00:00Z = 1704067200 s FEB_BASE = 2024-02-01T00:00:00Z = 1706745600 s JAN25_BASE = 2025-01-01T00:00:00Z = 1735689600 s",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1212_stats_null_after_update",
      "num": 1212,
      "name": "stats_null_after_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1212_stats_null_after_update.py",
      "read_script": "generator/df-reads-spark/1212_stats_null_after_update.sql",
      "description": "nullCount statistics correctness after UPDATE introduces NULLs.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1213_stats_after_delete_min",
      "num": 1213,
      "name": "stats_after_delete_min",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1213_stats_after_delete_min.py",
      "read_script": "generator/df-reads-spark/1213_stats_after_delete_min.sql",
      "description": "Statistics behavior after DELETE removes the global minimum value.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1214_stats_after_delete_max",
      "num": 1214,
      "name": "stats_after_delete_max",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1214_stats_after_delete_max.py",
      "read_script": "generator/df-reads-spark/1214_stats_after_delete_max.sql",
      "description": "Statistics behavior after DELETE removes the global maximum value.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1215_stats_multi_file_predicate",
      "num": 1215,
      "name": "stats_multi_file_predicate",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1215_stats_multi_file_predicate.py",
      "read_script": "generator/df-reads-spark/1215_stats_multi_file_predicate.sql",
      "description": "5 batches with non-overlapping score ranges, each in its own file. Batch 1 (ids 1-100): score = (i-1) % 20 -> [0, 19] Batch 2 (ids 101-200): score = 20 + (i-1) % 20 -> [20, 39] Batch 3 (ids 201-300): score = 40 + (i-1) % 20 -> [40, 59] Batch 4 (ids 301-400): score = 60 + (i-1) %...",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1216_stats_decimal_multi_file",
      "num": 1216,
      "name": "stats_decimal_multi_file",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1216_stats_decimal_multi_file.py",
      "read_script": "generator/df-reads-spark/1216_stats_decimal_multi_file.sql",
      "description": "5 batches with non-overlapping DECIMAL amount ranges. Batch 1 (ids 1-100): amount = ROUND((i-1) * 2.01, 2) -> [0.00, ~199.00] Batch 2 (ids 101-200): amount = ROUND(200 + (i-1) * 2.01, 2) -> [200.00, ~399.00] Batch 3 (ids 201-300): amount = ROUND(400 + (i-1) * 2.01, 2) ->...",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1217_stats_string_truncation",
      "num": 1217,
      "name": "stats_string_truncation",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1217_stats_string_truncation.py",
      "read_script": "generator/df-reads-spark/1217_stats_string_truncation.sql",
      "description": "2 batches with long strings (100+ chars). Delta truncates string stats to 32 chars. Batch 1 (ids 1-100): name = 'aaaa_' + i + '_' + i^2 + '_' + i^3 + '_padding...' Batch 2 (ids 101-200): name = 'zzzz_' + i + '_' + i^2 + '_' + i^3 + '_padding...",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "storage:statistics",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1218_stats_after_merge",
      "num": 1218,
      "name": "stats_after_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1218_stats_after_merge.py",
      "read_script": "generator/df-reads-spark/1218_stats_after_merge.sql",
      "description": "Statistics correctness after MERGE rewrites files.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1219_stats_mixed_null_nonnull",
      "num": 1219,
      "name": "stats_mixed_null_nonnull",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1219_stats_mixed_null_nonnull.py",
      "read_script": "generator/df-reads-spark/1219_stats_mixed_null_nonnull.sql",
      "description": "3 batches with different NULL patterns for score column. Batch 1 (ids 1-100): score = i (all non-NULL, nullCount=0) Batch 2 (ids 101-200): score = i if i%2==0 else NULL (nullCount=50) Batch 3 (ids 201-300): score = NULL (all NULL, nullCount=100)",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:null-handling",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/121_perf_log_replay_no_checkpoint",
      "num": 121,
      "name": "perf_log_replay_no_checkpoint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/121_perf_log_replay_no_checkpoint.py",
      "read_script": "generator/df-reads-spark/121_perf_log_replay_no_checkpoint.sql",
      "description": "IoT sensor stream. Version 0: 500 rows. Versions 1-119: 119 appends. Batch size = 100 + (batch_num % 5) * 100. 15 columns. No checkpoint (high interval).",
      "status": "pass",
      "duration_ms": 542,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 542,
      "read_warm_ms": 264,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 23129,
      "write_warm_ms": 23268
    },
    {
      "id": "spark-writes/delta/1220_stats_after_schema_evolve",
      "num": 1220,
      "name": "stats_after_schema_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1220_stats_after_schema_evolve.py",
      "read_script": "generator/df-reads-spark/1220_stats_after_schema_evolve.sql",
      "description": "Steps: Schema (initial): id BIGINT, score INT, name STRING Schema (final): + extra INT",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1221_stats_partition_per_file",
      "num": 1221,
      "name": "stats_partition_per_file",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1221_stats_partition_per_file.py",
      "read_script": "generator/df-reads-spark/1221_stats_partition_per_file.sql",
      "description": "3 regions x 2 batches = 6 files. Each region has scores 0-49 (batch A) and 50-99 (batch B).",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1222_stats_decimal_precision",
      "num": 1222,
      "name": "stats_decimal_precision",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1222_stats_decimal_precision.py",
      "read_script": "generator/df-reads-spark/1222_stats_decimal_precision.sql",
      "description": "2 batches at 4-decimal precision boundary. Batch 1 (ids 1-100): amount = 1.0000 + (i-1) * 0.005051 -> [1.0000, ~1.5000] Batch 2 (ids 101-200): amount = 1.5001 + (i-1) * 0.005050 -> [1.5001, ~2.0000]",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1223_stats_double_extremes",
      "num": 1223,
      "name": "stats_double_extremes",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1223_stats_double_extremes.py",
      "read_script": "generator/df-reads-spark/1223_stats_double_extremes.sql",
      "description": "2 batches with extreme DOUBLE value ranges. Batch 1 (ids 1-50): val = 1e-10 * i^2 -> [1e-10, 2.5e-7] Batch 2 (ids 51-100): val = 1e10 * i^2 -> [2.601e13, 1e14] (i^2 for i=51..100)",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1224_stats_all_same_value",
      "num": 1224,
      "name": "stats_all_same_value",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1224_stats_all_same_value.py",
      "read_script": "generator/df-reads-spark/1224_stats_all_same_value.sql",
      "description": "2 batches where all values in each file are identical. Batch 1 (ids 1-100): score = 42 (min=max=42) Batch 2 (ids 101-200): score = 99 (min=max=99)",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1225_stats_boolean_mixed_files",
      "num": 1225,
      "name": "stats_boolean_mixed_files",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1225_stats_boolean_mixed_files.py",
      "read_script": "generator/df-reads-spark/1225_stats_boolean_mixed_files.sql",
      "description": "3 batches with different BOOLEAN distributions. Batch 1 (ids 1-100): flag = true (min=max=true) Batch 2 (ids 101-200): flag = (i % 2 == 0) (50 true, 50 false) Batch 3 (ids 201-300): flag = false (min=max=false)",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1226_stats_after_dv_delete",
      "num": 1226,
      "name": "stats_after_dv_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1226_stats_after_dv_delete.py",
      "read_script": "generator/df-reads-spark/1226_stats_after_dv_delete.sql",
      "description": "File-level stats after a Deletion Vector (DV) delete.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1227_stats_cdc_files",
      "num": 1227,
      "name": "stats_cdc_files",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1227_stats_cdc_files.py",
      "read_script": "generator/df-reads-spark/1227_stats_cdc_files.sql",
      "description": "CDC-enabled table. Two INSERT batches. CDC files must not interfere with data stats. Batch 1 (ids 1-100): score = (i * 7) % 100 Batch 2 (ids 101-200): score = (i * 7) % 100",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1228_stats_after_optimize_dml",
      "num": 1228,
      "name": "stats_after_optimize_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1228_stats_after_optimize_dml.py",
      "read_script": "generator/df-reads-spark/1228_stats_after_optimize_dml.sql",
      "description": "Stats correctness after OPTIMIZE followed by DML (UPDATE).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1229_stats_negative_values",
      "num": 1229,
      "name": "stats_negative_values",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1229_stats_negative_values.py",
      "read_script": "generator/df-reads-spark/1229_stats_negative_values.sql",
      "description": "2 batches with negative and non-negative score ranges. Batch 1 (ids 1-100): score = -100 + (i-1) -> [-100, -1] Batch 2 (ids 101-200): score = i - 101 -> [0, 99]",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/122_perf_multipart_checkpoint",
      "num": 122,
      "name": "perf_multipart_checkpoint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/122_perf_multipart_checkpoint.py",
      "read_script": "generator/df-reads-spark/122_perf_multipart_checkpoint.sql",
      "description": "Financial transaction archive. Version 0: 50000 rows. Versions 1-19: 19 appends. Batch size = 30000 + (day % 5) * 5000. Version 20: UPDATE. 19 columns. Partitioned by account_type (3 types).",
      "status": "pass",
      "duration_ms": 566,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 566,
      "read_warm_ms": 181,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:checkpoint-multipart",
        "delta:deletion-vectors",
        "delta:partitioning",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 18760,
      "write_warm_ms": 18394
    },
    {
      "id": "spark-writes/delta/1230_stats_decimal_negative",
      "num": 1230,
      "name": "stats_decimal_negative",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1230_stats_decimal_negative.py",
      "read_script": "generator/df-reads-spark/1230_stats_decimal_negative.sql",
      "description": "2 batches with negative and positive DECIMAL amount ranges. Batch 1 (ids 1-100): amount = (-101 + i) * 10.00 + 0.01 -> [-999.99, -0.09] Batch 2 (ids 101-200): amount = (i - 100) * 10.00 - 0.01 -> [9.99, 999.99]",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1231_partition_by_int",
      "num": 1231,
      "name": "partition_by_int",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1231_partition_by_int.py",
      "read_script": "generator/df-reads-spark/1231_partition_by_int.sql",
      "description": "PARTITIONED BY (bucket INT) with INSERT, UPDATE, DELETE.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1232_partition_by_bigint",
      "num": 1232,
      "name": "partition_by_bigint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1232_partition_by_bigint.py",
      "read_script": "generator/df-reads-spark/1232_partition_by_bigint.sql",
      "description": "PARTITIONED BY (group_id BIGINT) with INSERT, UPDATE, DELETE.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1233_partition_by_boolean",
      "num": 1233,
      "name": "partition_by_boolean",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1233_partition_by_boolean.py",
      "read_script": "generator/df-reads-spark/1233_partition_by_boolean.sql",
      "description": "PARTITIONED BY (active BOOLEAN) with INSERT, UPDATE, DELETE.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1234_partition_by_smallint",
      "num": 1234,
      "name": "partition_by_smallint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1234_partition_by_smallint.py",
      "read_script": "generator/df-reads-spark/1234_partition_by_smallint.sql",
      "description": "PARTITIONED BY (tier SMALLINT) with INSERT, UPDATE, DELETE.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1235_partition_by_int_dml",
      "num": 1235,
      "name": "partition_by_int_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1235_partition_by_int_dml.py",
      "read_script": "generator/df-reads-spark/1235_partition_by_int_dml.sql",
      "description": "PARTITIONED BY (category INT) with INSERT then MERGE.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1236_partition_by_int_cdc",
      "num": 1236,
      "name": "partition_by_int_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1236_partition_by_int_cdc.py",
      "read_script": "generator/df-reads-spark/1236_partition_by_int_cdc.sql",
      "description": "PARTITIONED BY (bucket INT) with CDC enabled, INSERT, UPDATE, DELETE.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1237_partition_by_boolean_cdc",
      "num": 1237,
      "name": "partition_by_boolean_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1237_partition_by_boolean_cdc.py",
      "read_script": "generator/df-reads-spark/1237_partition_by_boolean_cdc.sql",
      "description": "PARTITIONED BY (is_active BOOLEAN) with CDC enabled, INSERT, UPDATE, DELETE.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1238_partition_by_int_evolve",
      "num": 1238,
      "name": "partition_by_int_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1238_partition_by_int_evolve.py",
      "read_script": "generator/df-reads-spark/1238_partition_by_int_evolve.sql",
      "description": "PARTITIONED BY (bucket INT) with schema evolution (ADD COLUMN).",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1239_partition_by_int_colmap",
      "num": 1239,
      "name": "partition_by_int_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1239_partition_by_int_colmap.py",
      "read_script": "generator/df-reads-spark/1239_partition_by_int_colmap.sql",
      "description": "PARTITIONED BY (bucket INT) with column mapping mode = name.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/123_histogram_benchmark_optimal",
      "num": 123,
      "name": "histogram_benchmark_optimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/123_histogram_benchmark_optimal.py",
      "read_script": "generator/df-reads-spark/123_histogram_benchmark_optimal.sql",
      "description": "Sensor analytics platform. Single INSERT of 10,000,000 rows. 20 columns, partitioned by region (5 partitions).",
      "status": "pass",
      "duration_ms": 1753,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 1753,
      "read_warm_ms": 923,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "iceberg:uniform",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 140140,
      "write_warm_ms": 139213
    },
    {
      "id": "spark-writes/delta/1240_partition_by_boolean_merge",
      "num": 1240,
      "name": "partition_by_boolean_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1240_partition_by_boolean_merge.py",
      "read_script": "generator/df-reads-spark/1240_partition_by_boolean_merge.sql",
      "description": "PARTITIONED BY (flag BOOLEAN) with INSERT then MERGE.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1241_partition_by_int_constraint",
      "num": 1241,
      "name": "partition_by_int_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1241_partition_by_int_constraint.py",
      "read_script": "generator/df-reads-spark/1241_partition_by_int_constraint.sql",
      "description": "PARTITIONED BY (tier INT) with CHECK constraint.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1242_partition_by_int_optimize",
      "num": 1242,
      "name": "partition_by_int_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1242_partition_by_int_optimize.py",
      "read_script": "generator/df-reads-spark/1242_partition_by_int_optimize.sql",
      "description": "PARTITIONED BY (bucket INT) with 4 INSERT batches, OPTIMIZE, then DELETE.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1243_partition_by_int_null",
      "num": 1243,
      "name": "partition_by_int_null",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1243_partition_by_int_null.py",
      "read_script": "generator/df-reads-spark/1243_partition_by_int_null.sql",
      "description": "PARTITIONED BY (bucket INT) with some NULL partition values. -> 20 rows NULL bucket, 80 rows in buckets 0-3",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1244_partition_by_int_nmbys",
      "num": 1244,
      "name": "partition_by_int_nmbys",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1244_partition_by_int_nmbys.py",
      "read_script": "generator/df-reads-spark/1244_partition_by_int_nmbys.sql",
      "description": "PARTITIONED BY (bucket INT) with MERGE using WHEN NOT MATCHED BY SOURCE DELETE.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1245_partition_by_int_five_way",
      "num": 1245,
      "name": "partition_by_int_five_way",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1245_partition_by_int_five_way.py",
      "read_script": "generator/df-reads-spark/1245_partition_by_int_five_way.sql",
      "description": "INT partition + CDC + column mapping + constraint + schema evolution.",
      "status": "fail",
      "duration_ms": 0,
      "error": "Error: internal error: SQL execution error: Schema error: Schema contains duplicate qualified field name partition_by_int_five_way.id",
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 73,
      "read_warm_ms": 26,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1246_time_travel_insert_versions",
      "num": 1246,
      "name": "time_travel_insert_versions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1246_time_travel_insert_versions.py",
      "read_script": "generator/df-reads-spark/1246_time_travel_insert_versions.sql",
      "description": "versionAsOf=1 -> 50 rows, versionAsOf=2 -> 100 rows, versionAsOf=3 -> 150 rows",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1247_time_travel_update_versions",
      "num": 1247,
      "name": "time_travel_update_versions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1247_time_travel_update_versions.py",
      "read_script": "generator/df-reads-spark/1247_time_travel_update_versions.sql",
      "description": "versionAsOf=1 -> 100 rows all status='original' versionAsOf=2 -> 100 rows, 50 with status='updated', 50 with status='original",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1248_time_travel_delete_versions",
      "num": 1248,
      "name": "time_travel_delete_versions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1248_time_travel_delete_versions.py",
      "read_script": "generator/df-reads-spark/1248_time_travel_delete_versions.sql",
      "description": "versionAsOf=1 -> 100 rows versionAsOf=2 -> 80 rows (ids 1-80)",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1249_time_travel_schema_evolve",
      "num": 1249,
      "name": "time_travel_schema_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1249_time_travel_schema_evolve.py",
      "read_script": "generator/df-reads-spark/1249_time_travel_schema_evolve.sql",
      "description": "Schema (initial): id BIGINT, score INT, name STRING Schema (final): + extra STRING versionAsOf=1 -> 50 rows, 3 columns versionAsOf=2 -> 50 rows, ADD COLUMN (no data change) versionAsOf=3 -> 100 rows, 4 columns",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/124_dbx_modify_roundtrip",
      "num": 124,
      "name": "dbx_modify_roundtrip",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/124_dbx_modify_roundtrip.py",
      "read_script": "generator/df-reads-spark/124_dbx_modify_roundtrip.sql",
      "description": "Inventory data table. Version 0: CREATE TABLE. Version 1: INSERT 200 rows. 9 columns. All rows status='active'.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 610,
      "write_warm_ms": 584
    },
    {
      "id": "spark-writes/delta/1250_time_travel_merge_versions",
      "num": 1250,
      "name": "time_travel_merge_versions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1250_time_travel_merge_versions.py",
      "read_script": "generator/df-reads-spark/1250_time_travel_merge_versions.sql",
      "description": "versionAsOf=1 -> 100 rows, original scores (i*7)%100 versionAsOf=2 -> 120 rows, updated scores (i*13)%100 for ids 1-100",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 20897,
      "write_warm_ms": 6325,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1251_time_travel_multiple_updates",
      "num": 1251,
      "name": "time_travel_multiple_updates",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1251_time_travel_multiple_updates.py",
      "read_script": "generator/df-reads-spark/1251_time_travel_multiple_updates.sql",
      "description": "Time travel: versionAsOf=1 -> 100 rows, all label='original' versionAsOf=2 -> 50 label='v1', 50 label='original' versionAsOf=3 -> 80 label='v2', 20 label='original' versionAsOf=4 -> 100 label='v3",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8921,
      "write_warm_ms": 7698,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1252_time_travel_delete_reinsert",
      "num": 1252,
      "name": "time_travel_delete_reinsert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1252_time_travel_delete_reinsert.py",
      "read_script": "generator/df-reads-spark/1252_time_travel_delete_reinsert.sql",
      "description": "Time travel: versionAsOf=1 -> 100 rows, all source='batch_a' versionAsOf=2 -> 70 rows, source='batch_a', ids 31-100 versionAsOf=3 -> 100 rows, 70 batch_a + 30 batch_b",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4935,
      "write_warm_ms": 4709,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1253_time_travel_typed_values",
      "num": 1253,
      "name": "time_travel_typed_values",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1253_time_travel_typed_values.py",
      "read_script": "generator/df-reads-spark/1253_time_travel_typed_values.sql",
      "description": "amount = ROUND(i * 1.23, 2) as DECIMAL(10,2) event_ts = 2024-01-01 + i hours label = 'original",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4400,
      "write_warm_ms": 4020,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1254_time_travel_partition",
      "num": 1254,
      "name": "time_travel_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1254_time_travel_partition.py",
      "read_script": "generator/df-reads-spark/1254_time_travel_partition.sql",
      "description": "Time travel: versionAsOf=1 -> 30 rows (first US batch) versionAsOf=2 -> 60 rows (US + EU) versionAsOf=4 -> 120 rows (all 4 batches)",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6949,
      "write_warm_ms": 6675,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1255_time_travel_cdc",
      "num": 1255,
      "name": "time_travel_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1255_time_travel_cdc.py",
      "read_script": "generator/df-reads-spark/1255_time_travel_cdc.sql",
      "description": "Time travel: versionAsOf=1 -> 50 rows, all status='active' versionAsOf=2 -> 100 rows versionAsOf=3 -> 100 rows (20 modified, 80 active) versionAsOf=4 -> 90 rows",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6811,
      "write_warm_ms": 6487,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1256_time_travel_optimize",
      "num": 1256,
      "name": "time_travel_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1256_time_travel_optimize.py",
      "read_script": "generator/df-reads-spark/1256_time_travel_optimize.sql",
      "description": "OPTIMIZE does not change logical data, only file layout. V1 = first 50 rows, V4 = all 200 rows. V5 identical to V4 in content.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6217,
      "write_warm_ms": 5786,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1257_time_travel_five_versions",
      "num": 1257,
      "name": "time_travel_five_versions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1257_time_travel_five_versions.py",
      "read_script": "generator/df-reads-spark/1257_time_travel_five_versions.sql",
      "description": "each adding 20 rows. Each version reads cumulative rows. id = 1..100 (20 per batch). batch = 0..4. value = id * 11.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5456,
      "write_warm_ms": 5334,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1258_time_travel_version_zero",
      "num": 1258,
      "name": "time_travel_version_zero",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1258_time_travel_version_zero.py",
      "read_script": "generator/df-reads-spark/1258_time_travel_version_zero.sql",
      "description": "Final (V4): 100 rows id 1-40: score=0, tag='zeroed' id 41-80: score=id*10, tag='genesis' id 81-100: score=999, tag='merged",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6567,
      "write_warm_ms": 5905,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1259_time_travel_colmap",
      "num": 1259,
      "name": "time_travel_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1259_time_travel_colmap.py",
      "read_script": "generator/df-reads-spark/1259_time_travel_colmap.sql",
      "description": "Column mapping (name mode) with time travel. Final (V3): 90 rows (ids 1..90) id 1-30: value=id*7+500, label='cm_updated' id 31-90: value=id*7, label='cm_original",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4432,
      "write_warm_ms": 4207,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/125_deltaforge_create_dbx_modify",
      "num": 125,
      "name": "deltaforge_create_dbx_modify",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/125_deltaforge_create_dbx_modify.py",
      "read_script": "generator/df-reads-spark/125_deltaforge_create_dbx_modify.sql",
      "description": "Event data table. Version 1: INSERT 300 events. Version 2: APPEND 100 events (301-400). 7 columns.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 2218,
      "write_warm_ms": 1963
    },
    {
      "id": "spark-writes/delta/1260_time_travel_constraint",
      "num": 1260,
      "name": "time_travel_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1260_time_travel_constraint.py",
      "read_script": "generator/df-reads-spark/1260_time_travel_constraint.sql",
      "description": "Time travel reading version before constraint was added. Final (V3): 150 rows. All score=id*3.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3639,
      "write_warm_ms": 3418,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1261_pushdown_int_eq",
      "num": 1261,
      "name": "pushdown_int_eq",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1261_pushdown_int_eq.py",
      "read_script": "generator/df-reads-spark/1261_pushdown_int_eq.sql",
      "description": "5 batches with non-overlapping INT score ranges. WHERE score=42 hits batch 3 only.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5128,
      "write_warm_ms": 5046,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1262_pushdown_int_range",
      "num": 1262,
      "name": "pushdown_int_range",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1262_pushdown_int_range.py",
      "read_script": "generator/df-reads-spark/1262_pushdown_int_range.sql",
      "description": "Same 5-batch layout as 1261. WHERE score BETWEEN 20 AND 59 hits batches 2+3 only.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5124,
      "write_warm_ms": 5098,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1263_pushdown_decimal_eq",
      "num": 1263,
      "name": "pushdown_decimal_eq",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1263_pushdown_decimal_eq.py",
      "read_script": "generator/df-reads-spark/1263_pushdown_decimal_eq.sql",
      "description": "3 batches with disjoint DECIMAL amount ranges. so id=101 -> amount=200.00, id=151 -> amount=250.00, label='b2_<i>",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3334,
      "write_warm_ms": 3297,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1264_pushdown_decimal_range",
      "num": 1264,
      "name": "pushdown_decimal_range",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1264_pushdown_decimal_range.py",
      "read_script": "generator/df-reads-spark/1264_pushdown_decimal_range.sql",
      "description": "3 batches with disjoint DECIMAL amount ranges. WHERE amount BETWEEN 200.00 AND 299.00 -> 100 rows (batch 2 only).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3336,
      "write_warm_ms": 3344,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1265_pushdown_timestamp_range",
      "num": 1265,
      "name": "pushdown_timestamp_range",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1265_pushdown_timestamp_range.py",
      "read_script": "generator/df-reads-spark/1265_pushdown_timestamp_range.sql",
      "description": "3 batches with timestamps in Jan/Feb/Mar 2024. WHERE ts in Feb returns batch 2 only.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3342,
      "write_warm_ms": 3337,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1266_pushdown_string_prefix",
      "num": 1266,
      "name": "pushdown_string_prefix",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1266_pushdown_string_prefix.py",
      "read_script": "generator/df-reads-spark/1266_pushdown_string_prefix.sql",
      "description": "3 batches with names prefixed 'a_', 'b_', 'c_'. WHERE name >= 'b_' AND name < 'c_' hits batch 2.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3300,
      "write_warm_ms": 3247,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1267_pushdown_boolean_filter",
      "num": 1267,
      "name": "pushdown_boolean_filter",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1267_pushdown_boolean_filter.py",
      "read_script": "generator/df-reads-spark/1267_pushdown_boolean_filter.sql",
      "description": "WHERE flag = true -> 100 rows. WHERE flag = false -> 100 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2486,
      "write_warm_ms": 2394,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1268_pushdown_null_filter",
      "num": 1268,
      "name": "pushdown_null_filter",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1268_pushdown_null_filter.py",
      "read_script": "generator/df-reads-spark/1268_pushdown_null_filter.sql",
      "description": "- Batch 2: odd i within batch (i%2==1 meaning id 101,103,..) -> score=NULL - Batch 2: even i (id 102,104,..) -> score=id*3",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2398,
      "write_warm_ms": 2373,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1269_pushdown_after_update",
      "num": 1269,
      "name": "pushdown_after_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1269_pushdown_after_update.py",
      "read_script": "generator/df-reads-spark/1269_pushdown_after_update.sql",
      "description": "5 batches like 1261/1262, then UPDATE score += 500 for batch 3 (ids 201..300). After UPDATE, score for batch 3 is in [540, 559] (40..59 + 500). WHERE score > 500 -> 100 rows (all from batch 3, names start 'b3_').",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6874,
      "write_warm_ms": 6747,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/126_optimize_local_upload",
      "num": 126,
      "name": "optimize_local_upload",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/126_optimize_local_upload.py",
      "read_script": "generator/df-reads-spark/126_optimize_local_upload.sql",
      "description": "Transaction data. Version 0: INSERT 100 rows. Versions 1-20: 20 appends of 25 rows each. 9 columns. 600 total rows. Many small files for OPTIMIZE testing.",
      "status": "pass",
      "duration_ms": 85,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 85,
      "read_warm_ms": 29,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 7063,
      "write_warm_ms": 6717
    },
    {
      "id": "spark-writes/delta/1270_pushdown_after_delete",
      "num": 1270,
      "name": "pushdown_after_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1270_pushdown_after_delete.py",
      "read_script": "generator/df-reads-spark/1270_pushdown_after_delete.sql",
      "description": "5 batches like 1261, then DELETE all of batch 3 (score BETWEEN 40 AND 59).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6487,
      "write_warm_ms": 6508,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1271_pushdown_decimal_negative",
      "num": 1271,
      "name": "pushdown_decimal_negative",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1271_pushdown_decimal_negative.py",
      "read_script": "generator/df-reads-spark/1271_pushdown_decimal_negative.sql",
      "description": "WHERE amount > 0 -> 100 rows. WHERE amount < 0 -> 100 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2405,
      "write_warm_ms": 2448,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1272_pushdown_mixed_types",
      "num": 1272,
      "name": "pushdown_mixed_types",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1272_pushdown_mixed_types.py",
      "read_script": "generator/df-reads-spark/1272_pushdown_mixed_types.sql",
      "description": "3 batches with non-overlapping score AND amount ranges. WHERE score > 200 AND amount > 200 -> 100 rows (batch 3, ids 201..300).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3362,
      "write_warm_ms": 3215,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1273_pushdown_partition_plus_stats",
      "num": 1273,
      "name": "pushdown_partition_plus_stats",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1273_pushdown_partition_plus_stats.py",
      "read_script": "generator/df-reads-spark/1273_pushdown_partition_plus_stats.sql",
      "description": "Partitioned by region. 3 regions x 2 batches per region = 6 files. WHERE region='US' AND score > 50 uses partition pruning + file skipping.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5916,
      "write_warm_ms": 6072,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1274_pushdown_after_optimize",
      "num": 1274,
      "name": "pushdown_after_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1274_pushdown_after_optimize.py",
      "read_script": "generator/df-reads-spark/1274_pushdown_after_optimize.sql",
      "description": "5 batches like 1261, then OPTIMIZE. Data unchanged, WHERE score BETWEEN 40 AND 59 still returns exactly 100 rows (batch 3, names start 'b3_').",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6614,
      "write_warm_ms": 6770,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1275_pushdown_all_types",
      "num": 1275,
      "name": "pushdown_all_types",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1275_pushdown_all_types.py",
      "read_script": "generator/df-reads-spark/1275_pushdown_all_types.sql",
      "description": "3 batches with non-overlapping ranges for score, amount, and ts simultaneously. WHERE score > 200 AND amount > 200 AND ts >= '2024-03-01' hits batch 3 only.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3361,
      "write_warm_ms": 3311,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1276_checkpoint_insert_chain",
      "num": 1276,
      "name": "checkpoint_insert_chain",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1276_checkpoint_insert_chain.py",
      "read_script": "generator/df-reads-spark/1276_checkpoint_insert_chain.sql",
      "description": "11 sequential INSERT batches forcing checkpoint at version 10. Each batch adds 10 rows. value = id * 7.",
      "status": "pass",
      "duration_ms": 24,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 24,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 13084,
      "write_warm_ms": 12337,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1277_checkpoint_mixed_dml",
      "num": 1277,
      "name": "checkpoint_mixed_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1277_checkpoint_mixed_dml.py",
      "read_script": "generator/df-reads-spark/1277_checkpoint_mixed_dml.sql",
      "description": "100 rows (50 init + 60 inserted - 15 deleted + 5 post-checkpoint)",
      "status": "pass",
      "duration_ms": 20,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 20,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 14700,
      "write_warm_ms": 14377,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1278_checkpoint_typed",
      "num": 1278,
      "name": "checkpoint_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1278_checkpoint_typed.py",
      "read_script": "generator/df-reads-spark/1278_checkpoint_typed.sql",
      "description": "11 INSERT batches of 10 rows each. Checkpoint at V10. amount = ROUND(id * 1.23, 2) event_ts = 2024-01-01 00:00:00 UTC + id hours active = (id % 2 == 0) label = 'b<batch>_<id>' where batch = (id-1)//10",
      "status": "pass",
      "duration_ms": 28,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 28,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 12627,
      "write_warm_ms": 12452,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1279_checkpoint_partition",
      "num": 1279,
      "name": "checkpoint_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1279_checkpoint_partition.py",
      "read_script": "generator/df-reads-spark/1279_checkpoint_partition.sql",
      "description": "Partitioned by region. 12 total commits forcing checkpoint at V10. value = id * 5.",
      "status": "pass",
      "duration_ms": 30,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 30,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 13508,
      "write_warm_ms": 13217,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/127_compact_with_dv",
      "num": 127,
      "name": "compact_with_dv",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/127_compact_with_dv.py",
      "read_script": "generator/df-reads-spark/127_compact_with_dv.sql",
      "description": "Employee data. Version 0: 500 employees. Versions 1-4: 4 appends of 50.",
      "status": "pass",
      "duration_ms": 20,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 20,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 5221,
      "write_warm_ms": 5054
    },
    {
      "id": "spark-writes/delta/1280_checkpoint_schema_evolve",
      "num": 1280,
      "name": "checkpoint_schema_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1280_checkpoint_schema_evolve.py",
      "read_script": "generator/df-reads-spark/1280_checkpoint_schema_evolve.sql",
      "description": "Checkpoint at V10. Total: 80 rows. value = id * 10 col_a = id col_b = 'tag_<id>' col_c = (id % 2 == 0) col_d = ROUND(id * 2.5, 2)",
      "status": "pass",
      "duration_ms": 27,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 27,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 11398,
      "write_warm_ms": 11057,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1281_checkpoint_cdc",
      "num": 1281,
      "name": "checkpoint_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1281_checkpoint_cdc.py",
      "read_script": "generator/df-reads-spark/1281_checkpoint_cdc.sql",
      "description": "CDC-enabled table. 12 versions forcing checkpoint.",
      "status": "pass",
      "duration_ms": 21,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 21,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 13868,
      "write_warm_ms": 13912,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1282_checkpoint_constraint",
      "num": 1282,
      "name": "checkpoint_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1282_checkpoint_constraint.py",
      "read_script": "generator/df-reads-spark/1282_checkpoint_constraint.sql",
      "description": "id 1-10: score = id*5 + 1. id 11-110: score = id*5.",
      "status": "pass",
      "duration_ms": 28,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 28,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 13447,
      "write_warm_ms": 13682,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1283_checkpoint_colmap",
      "num": 1283,
      "name": "checkpoint_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1283_checkpoint_colmap.py",
      "read_script": "generator/df-reads-spark/1283_checkpoint_colmap.sql",
      "description": "Column mapping (name mode). 12 versions forcing checkpoint.",
      "status": "pass",
      "duration_ms": 27,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 27,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 14243,
      "write_warm_ms": 14270,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1284_checkpoint_optimize",
      "num": 1284,
      "name": "checkpoint_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1284_checkpoint_optimize.py",
      "read_script": "generator/df-reads-spark/1284_checkpoint_optimize.sql",
      "description": "Checkpoint at V10. Total: 150 rows. score = id * 2. V0->b0 (1..20), V1->b1 (21..40), V2->b2 (41..60), V3->b3 (61..80) V5->b5 (81..90), V6->b6 (91..100), V7->b7 (101..110), V8->b8 (111..120) V9->b9 (121..130), V10->b10 (131..140), V11->b11 (141..150)",
      "status": "pass",
      "duration_ms": 23,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 23,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 14733,
      "write_warm_ms": 14582,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1285_checkpoint_merge",
      "num": 1285,
      "name": "checkpoint_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1285_checkpoint_merge.py",
      "read_script": "generator/df-reads-spark/1285_checkpoint_merge.sql",
      "description": "Sequential MERGEs across checkpoint boundary.",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 20630,
      "write_warm_ms": 20255,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1286_evolve_tt_add_column",
      "num": 1286,
      "name": "evolve_tt_add_column",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1286_evolve_tt_add_column.py",
      "read_script": "generator/df-reads-spark/1286_evolve_tt_add_column.sql",
      "description": "Current (V3): 100 rows, 4 cols. extra=NULL for id 1-50.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2561,
      "write_warm_ms": 2629,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1287_evolve_tt_add_two_columns",
      "num": 1287,
      "name": "evolve_tt_add_two_columns",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1287_evolve_tt_add_two_columns.py",
      "read_script": "generator/df-reads-spark/1287_evolve_tt_add_two_columns.sql",
      "description": "Current (V5): 110 rows, 4 cols. col_a: NULL for id 1-50, (id*11)%200 for id 51-110. col_b: NULL for id 1-80, 'tag_<id>' for id 81-110.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3682,
      "write_warm_ms": 3666,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1288_evolve_tt_add_decimal",
      "num": 1288,
      "name": "evolve_tt_add_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1288_evolve_tt_add_decimal.py",
      "read_script": "generator/df-reads-spark/1288_evolve_tt_add_decimal.sql",
      "description": "amount for id 51-100: the formula gives integer values (0..9999) as DECIMAL(10,2).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2589,
      "write_warm_ms": 2542,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1289_evolve_tt_add_timestamp",
      "num": 1289,
      "name": "evolve_tt_add_timestamp",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1289_evolve_tt_add_timestamp.py",
      "read_script": "generator/df-reads-spark/1289_evolve_tt_add_timestamp.sql",
      "description": "event_ts = 2024-01-01 00:00:00 UTC + id hours (for id=51..100). Timestamps are monotonically increasing with id.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2589,
      "write_warm_ms": 2713,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/128_schema_evolution_roundtrip",
      "num": 128,
      "name": "schema_evolution_roundtrip",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/128_schema_evolution_roundtrip.py",
      "read_script": "generator/df-reads-spark/128_schema_evolution_roundtrip.sql",
      "description": "Product catalog with schema evolution. V1: 4 columns + 100 rows.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 2683,
      "write_warm_ms": 2588
    },
    {
      "id": "spark-writes/delta/1290_evolve_tt_rename",
      "num": 1290,
      "name": "evolve_tt_rename",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1290_evolve_tt_rename.py",
      "read_script": "generator/df-reads-spark/1290_evolve_tt_rename.sql",
      "description": "RENAME COLUMN with column mapping (name mode). Final (V3): 100 rows. Column 'new_name' = 'name_<id>'. value=(id*7)%100.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2811,
      "write_warm_ms": 2777,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "schema:add-column",
        "schema:rename-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1291_evolve_tt_drop",
      "num": 1291,
      "name": "evolve_tt_drop",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1291_evolve_tt_drop.py",
      "read_script": "generator/df-reads-spark/1291_evolve_tt_drop.sql",
      "description": "DROP COLUMN with column mapping (name mode). Final (V3): 100 rows, 3 cols (temp dropped).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2856,
      "write_warm_ms": 2810,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "schema:add-column",
        "schema:drop-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1292_evolve_tt_add_then_dml",
      "num": 1292,
      "name": "evolve_tt_add_then_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1292_evolve_tt_add_then_dml.py",
      "read_script": "generator/df-reads-spark/1292_evolve_tt_add_then_dml.sql",
      "description": "Final (V4): 100 rows. id 1-25: extra='filled' id 26-50: extra=NULL id 51-100: extra='new_<id>",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4480,
      "write_warm_ms": 4309,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1293_evolve_tt_multi_evolve",
      "num": 1293,
      "name": "evolve_tt_multi_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1293_evolve_tt_multi_evolve.py",
      "read_script": "generator/df-reads-spark/1293_evolve_tt_multi_evolve.sql",
      "description": "a: NULL for 1-30, (id*11)%200 for 31-120. b: NULL for 1-60, 'tag_<id>' for 61-120. c: NULL for 1-90, (id%2==0) for 91-120.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4939,
      "write_warm_ms": 4683,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1294_evolve_tt_typed_values",
      "num": 1294,
      "name": "evolve_tt_typed_values",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1294_evolve_tt_typed_values.py",
      "read_script": "generator/df-reads-spark/1294_evolve_tt_typed_values.sql",
      "description": "amount (initial) = ROUND((100 + ((i * 31) % 9901)) / 100.0, 2) created_at = 2024-01-01 UTC + id hours. flag: NULL for id 1-50, (id%3==0) for 51-100.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3835,
      "write_warm_ms": 3623,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1295_evolve_tt_with_constraint",
      "num": 1295,
      "name": "evolve_tt_with_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1295_evolve_tt_with_constraint.py",
      "read_script": "generator/df-reads-spark/1295_evolve_tt_with_constraint.sql",
      "description": "score: NULL for id 1-50, (id*13)%500 for id 51-100. All non-null scores >= 0 (constraint holds).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4173,
      "write_warm_ms": 4128,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1296_nullable_metadata_basic",
      "num": 1296,
      "name": "nullable_metadata_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1296_nullable_metadata_basic.py",
      "read_script": "generator/df-reads-spark/1296_nullable_metadata_basic.sql",
      "description": "Mix of NOT NULL and nullable columns. id NOT NULL, name NOT NULL, score nullable, amount DECIMAL(10,2) nullable. score: 20 NULLs (id 1-20). amount: 0 NULLs.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2827,
      "write_warm_ms": 2807,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1297_nullable_metadata_after_evolve",
      "num": 1297,
      "name": "nullable_metadata_after_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1297_nullable_metadata_after_evolve.py",
      "read_script": "generator/df-reads-spark/1297_nullable_metadata_after_evolve.sql",
      "description": "NOT NULL columns + evolved nullable column. Evolved columns default to nullable.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2628,
      "write_warm_ms": 2613,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1298_nullable_metadata_all_not_null",
      "num": 1298,
      "name": "nullable_metadata_all_not_null",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1298_nullable_metadata_all_not_null.py",
      "read_script": "generator/df-reads-spark/1298_nullable_metadata_all_not_null.sql",
      "description": "All columns NOT NULL. 100 rows, no NULLs anywhere. score=(id*7)%100, active=(id%2==0), name='row_<id>'.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1610,
      "write_warm_ms": 1555,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1299_nullable_metadata_with_dml",
      "num": 1299,
      "name": "nullable_metadata_with_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1299_nullable_metadata_with_dml.py",
      "read_script": "generator/df-reads-spark/1299_nullable_metadata_with_dml.sql",
      "description": "value: NULL for id 1-20 (20 NULLs). tag: no NULLs. id NOT NULL, name NOT NULL; value DOUBLE nullable, tag STRING nullable.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5654,
      "write_warm_ms": 5123,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/129_concurrent_modifications",
      "num": 129,
      "name": "concurrent_modifications",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/129_concurrent_modifications.py",
      "read_script": "generator/df-reads-spark/129_concurrent_modifications.sql",
      "description": "E-commerce order processing. V0: 200 orders. V1: UPDATE id<=50 -> 'processing'. 8 columns. Total: 272 rows.",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "robust:concurrent-writes",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 1920,
      "write_warm_ms": 1895
    },
    {
      "id": "spark-writes/delta/12_version_checksum_with_histogram",
      "num": 12,
      "name": "version_checksum_with_histogram",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/12_version_checksum_with_histogram.py",
      "read_script": "generator/df-reads-spark/12_version_checksum_with_histogram.sql",
      "description": "Marketing campaigns. 20 columns. 20000 initial rows. 7 UPDATE/DELETE operations. Final: 19920 rows.",
      "status": "pass",
      "duration_ms": 34,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 34,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 7534,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1300_nullable_metadata_partition",
      "num": 1300,
      "name": "nullable_metadata_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1300_nullable_metadata_partition.py",
      "read_script": "generator/df-reads-spark/1300_nullable_metadata_partition.sql",
      "description": "Partitioned table where partition column (region) is NOT NULL. name='row_<id>'. region assigned by (id%3==0 -> east, id%3==1 -> west, id%3==2 -> central).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1155,
      "write_warm_ms": 1215,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1301_append_only_basic",
      "num": 1301,
      "name": "append_only_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1301_append_only_basic.py",
      "read_script": "generator/df-reads-spark/1301_append_only_basic.sql",
      "description": "Append-only table (delta.appendOnly=true). Only INSERTs allowed. name='row_<id>', value=(id*7)%100. 150 rows total.",
      "status": "fail",
      "duration_ms": 0,
      "error": "Error: internal error: Assertion failed: Row count: expected = 150, got 0",
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 49,
      "read_warm_ms": 29,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1302_append_only_typed",
      "num": 1302,
      "name": "append_only_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1302_append_only_typed.py",
      "read_script": "generator/df-reads-spark/1302_append_only_typed.sql",
      "description": "Append-only with typed columns. 150 rows (100 + 50). amount = ROUND((100 + ((i * 31) % 9901)) / 100.0, 2) as DECIMAL(10,2) created_at = 2024-10-01 00:00:00 UTC + i hours active = (i % 2 == 0)",
      "status": "fail",
      "duration_ms": 0,
      "error": "Error: internal error: Assertion failed: Row count: expected = 150, got 0",
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 46,
      "read_warm_ms": 29,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1303_append_only_cdc",
      "num": 1303,
      "name": "append_only_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1303_append_only_cdc.py",
      "read_script": "generator/df-reads-spark/1303_append_only_cdc.sql",
      "description": "Append-only + CDC enabled. Only inserts. name='row_<id>', value=(id*7)%100. 100 rows total. CDF has 100 insert records, 0 update/delete.",
      "status": "fail",
      "duration_ms": 0,
      "error": "Error: internal error: Assertion failed: Row count: expected = 100, got 0",
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 44,
      "read_warm_ms": 27,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1304_enable_cdc_at_create",
      "num": 1304,
      "name": "enable_cdc_at_create",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1304_enable_cdc_at_create.py",
      "read_script": "generator/df-reads-spark/1304_enable_cdc_at_create.sql",
      "description": "id 1-20: value=(id*7)%100*2. id 21-90: value=(id*7)%100 unchanged.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5094,
      "write_warm_ms": 4834,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1305_enable_dv_at_create",
      "num": 1305,
      "name": "enable_dv_at_create",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1305_enable_dv_at_create.py",
      "read_script": "generator/df-reads-spark/1305_enable_dv_at_create.sql",
      "description": "id 71-90: value=(id*7)%100 + 1000. id 21-70: value=(id*7)%100. category = ['alpha','beta','gamma','delta'][id%4].",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6550,
      "write_warm_ms": 6204,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1306_colmap_from_start",
      "num": 1306,
      "name": "colmap_from_start",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1306_colmap_from_start.py",
      "read_script": "generator/df-reads-spark/1306_colmap_from_start.sql",
      "description": "Column mapping enabled at CREATE. Full DML lifecycle + RENAME.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6018,
      "write_warm_ms": 6003,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:rename-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1307_all_properties_from_start",
      "num": 1307,
      "name": "all_properties_from_start",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1307_all_properties_from_start.py",
      "read_script": "generator/df-reads-spark/1307_all_properties_from_start.sql",
      "description": "All properties (DV + CDC + colmap=name) enabled at CREATE. Full DML lifecycle.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8049,
      "write_warm_ms": 8219,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1308_minimal_properties",
      "num": 1308,
      "name": "minimal_properties",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1308_minimal_properties.py",
      "read_script": "generator/df-reads-spark/1308_minimal_properties.sql",
      "description": "Table with NO special properties (no DV, no CDC, no colmap). DELETE/UPDATE do full file rewrites (no deletion vectors).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4408,
      "write_warm_ms": 3825,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1309_hundred_files",
      "num": 1309,
      "name": "hundred_files",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1309_hundred_files.py",
      "read_script": "generator/df-reads-spark/1309_hundred_files.sql",
      "description": "100 INSERT batches of 5 rows each (500 total, ~100 parquet files). Each append creates a new file; verifies Spark reads all files correctly.",
      "status": "pass",
      "duration_ms": 138,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 138,
      "read_warm_ms": 26,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 100175,
      "write_warm_ms": 98155,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/130_deltaforge_dbx_deltaforge",
      "num": 130,
      "name": "deltaforge_dbx_deltaforge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/130_deltaforge_dbx_deltaforge.py",
      "read_script": "generator/df-reads-spark/130_deltaforge_dbx_deltaforge.sql",
      "description": "IoT sensor readings. V0: 500 readings. V1: UPDATE status='outlier' WHERE value>90 OR value<5. 7 columns.",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 3322,
      "write_warm_ms": 3199
    },
    {
      "id": "spark-writes/delta/1310_hundred_files_delete",
      "num": 1310,
      "name": "hundred_files_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1310_hundred_files_delete.py",
      "read_script": "generator/df-reads-spark/1310_hundred_files_delete.sql",
      "description": "50 INSERT batches of 10 rows (500 total, ~50 files). DELETE WHERE id%10=0 (50 rows via deletion vectors across many files).",
      "status": "pass",
      "duration_ms": 98,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 98,
      "read_warm_ms": 23,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 52072,
      "write_warm_ms": 51739,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1311_hundred_files_typed",
      "num": 1311,
      "name": "hundred_files_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1311_hundred_files_typed.py",
      "read_script": "generator/df-reads-spark/1311_hundred_files_typed.sql",
      "description": "100 INSERT batches of 5 rows with DECIMAL+TIMESTAMP+BOOLEAN (500 total, ~100 files).",
      "status": "pass",
      "duration_ms": 138,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 138,
      "read_warm_ms": 26,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 98709,
      "write_warm_ms": 129188,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1312_stats_checkpoint",
      "num": 1312,
      "name": "stats_checkpoint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1312_stats_checkpoint.py",
      "read_script": "generator/df-reads-spark/1312_stats_checkpoint.sql",
      "description": "11 INSERT batches of 10 rows; checkpoint triggered at V10. Verifies that file-level stats are correct after checkpoint.",
      "status": "pass",
      "duration_ms": 23,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 23,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 16507,
      "write_warm_ms": 17472,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1313_stats_partition_pushdown",
      "num": 1313,
      "name": "stats_partition_pushdown",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1313_stats_partition_pushdown.py",
      "read_script": "generator/df-reads-spark/1313_stats_partition_pushdown.sql",
      "description": "Partitioned table + 3 batches per partition. Predicate uses both partition pruning and file stats for pushdown.",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4501,
      "write_warm_ms": 4162,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1314_pushdown_checkpoint",
      "num": 1314,
      "name": "pushdown_checkpoint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1314_pushdown_checkpoint.py",
      "read_script": "generator/df-reads-spark/1314_pushdown_checkpoint.sql",
      "description": "12 INSERT batches of 10 rows. Checkpoint at V10. Predicate pushdown must still skip files correctly after checkpoint.",
      "status": "pass",
      "duration_ms": 29,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 29,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 20170,
      "write_warm_ms": 20333,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1315_time_travel_checkpoint",
      "num": 1315,
      "name": "time_travel_checkpoint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1315_time_travel_checkpoint.py",
      "read_script": "generator/df-reads-spark/1315_time_travel_checkpoint.sql",
      "description": "11 INSERT batches of 10 rows. Checkpoint triggered at V10 (the 11th INSERT).",
      "status": "pass",
      "duration_ms": 26,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 26,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 17951,
      "write_warm_ms": 19829,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1316_stats_typed_partition",
      "num": 1316,
      "name": "stats_typed_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1316_stats_typed_partition.py",
      "read_script": "generator/df-reads-spark/1316_stats_typed_partition.sql",
      "description": "INT-partitioned table with 3 batches per partition. Stats per file, pushdown per partition.",
      "status": "pass",
      "duration_ms": 20,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 20,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5787,
      "write_warm_ms": 3857,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1317_pushdown_after_merge",
      "num": 1317,
      "name": "pushdown_after_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1317_pushdown_after_merge.py",
      "read_script": "generator/df-reads-spark/1317_pushdown_after_merge.sql",
      "description": "5 INSERT batches of 100 rows, then MERGE updates first 50 rows (value+1000). Predicate pushdown on value >= 1000 should use updated stats.",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 12096,
      "write_warm_ms": 11361,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1318_stats_evolve_checkpoint",
      "num": 1318,
      "name": "stats_evolve_checkpoint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1318_stats_evolve_checkpoint.py",
      "read_script": "generator/df-reads-spark/1318_stats_evolve_checkpoint.sql",
      "description": "Schema evolution + 12+ commits + checkpoint. Evolved column stats in checkpoint.",
      "status": "pass",
      "duration_ms": 26,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 26,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 21392,
      "write_warm_ms": 19276,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1319_time_travel_partition_typed",
      "num": 1319,
      "name": "time_travel_partition_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1319_time_travel_partition_typed.py",
      "read_script": "generator/df-reads-spark/1319_time_travel_partition_typed.sql",
      "description": "INT-partitioned table with multiple versions. Time travel reads V0 (40 rows).",
      "status": "pass",
      "duration_ms": 20,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 20,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4804,
      "write_warm_ms": 4189,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/131_vacuum",
      "num": 131,
      "name": "vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/131_vacuum.py",
      "read_script": "generator/df-reads-spark/131_vacuum.sql",
      "description": "HR management system. V0: 200 employees. V1-5: salary increases per department. Final state computed inline; SQL UPDATEs applied to generate log history.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 2563,
      "write_warm_ms": 2385
    },
    {
      "id": "spark-writes/delta/1320_pushdown_cdc",
      "num": 1320,
      "name": "pushdown_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1320_pushdown_cdc.py",
      "read_script": "generator/df-reads-spark/1320_pushdown_cdc.sql",
      "description": "CDC-enabled + multi-batch + predicate pushdown. CDF files must not interfere.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6807,
      "write_warm_ms": 6833,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1321_stats_after_three_updates",
      "num": 1321,
      "name": "stats_after_three_updates",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1321_stats_after_three_updates.py",
      "read_script": "generator/df-reads-spark/1321_stats_after_three_updates.sql",
      "description": "2 INSERT batches (200 rows) then 3 UPDATEs on different id ranges.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 11564,
      "write_warm_ms": 10212,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1322_pushdown_decimal_four_files",
      "num": 1322,
      "name": "pushdown_decimal_four_files",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1322_pushdown_decimal_four_files.py",
      "read_script": "generator/df-reads-spark/1322_pushdown_decimal_four_files.sql",
      "description": "4 INSERT batches with disjoint DECIMAL(10,4) ranges. Predicate pushdown on DECIMAL values should skip non-matching files.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5245,
      "write_warm_ms": 5573,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1323_time_travel_ten_versions",
      "num": 1323,
      "name": "time_travel_ten_versions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1323_time_travel_ten_versions.py",
      "read_script": "generator/df-reads-spark/1323_time_travel_ten_versions.sql",
      "description": "10 INSERT batches (V0-V9 from SQL perspective). Each batch adds 10 rows.",
      "status": "pass",
      "duration_ms": 25,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 25,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 19633,
      "write_warm_ms": 17387,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1324_checkpoint_after_merge",
      "num": 1324,
      "name": "checkpoint_after_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1324_checkpoint_after_merge.py",
      "read_script": "generator/df-reads-spark/1324_checkpoint_after_merge.sql",
      "description": "INSERT 100 rows then 10 MERGEs (V1-V10). Checkpoint at V10. Each MERGE updates 10 existing rows and inserts 1 new row (id=101..110).",
      "status": "pass",
      "duration_ms": 35,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 35,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 50458,
      "write_warm_ms": 46912,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1325_stats_partition_typed_key",
      "num": 1325,
      "name": "stats_partition_typed_key",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1325_stats_partition_typed_key.py",
      "read_script": "generator/df-reads-spark/1325_stats_partition_typed_key.sql",
      "description": "INT-partitioned table (bucket=i%3), 2 batches per partition.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2453,
      "write_warm_ms": 3759,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1326_pushdown_timestamp_three_files",
      "num": 1326,
      "name": "pushdown_timestamp_three_files",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1326_pushdown_timestamp_three_files.py",
      "read_script": "generator/df-reads-spark/1326_pushdown_timestamp_three_files.sql",
      "description": "3 INSERT batches with disjoint TIMESTAMP ranges (January/February/March 2024).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4410,
      "write_warm_ms": 4002,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1327_time_travel_after_optimize",
      "num": 1327,
      "name": "time_travel_after_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1327_time_travel_after_optimize.py",
      "read_script": "generator/df-reads-spark/1327_time_travel_after_optimize.sql",
      "description": "4 INSERT batches then OPTIMIZE. Time travel reads V3 (150 rows before last batch). V0=CREATE TABLE (empty) matches SQL engine. V1=50, V2=100, V3=150, V4=200, V5=OPTIMIZE. Verify checks versionAsOf=3 (150 rows) and versionAsOf=5 (200 rows after OPTIMIZE).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8179,
      "write_warm_ms": 8141,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1328_checkpoint_with_dv",
      "num": 1328,
      "name": "checkpoint_with_dv",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1328_checkpoint_with_dv.py",
      "read_script": "generator/df-reads-spark/1328_checkpoint_with_dv.sql",
      "description": "12+ commits with DELETE via DVs. Checkpoint at V10. Final: 93 rows.",
      "status": "pass",
      "duration_ms": 22,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 22,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 20631,
      "write_warm_ms": 21691,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1329_stats_colmap",
      "num": 1329,
      "name": "stats_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1329_stats_colmap.py",
      "read_script": "generator/df-reads-spark/1329_stats_colmap.sql",
      "description": "Column mapping (name mode) + multi-file stats. 3 INSERT batches, predicate: WHERE amount BETWEEN 1010 AND 2000.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5348,
      "write_warm_ms": 5044,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/132_restore",
      "num": 132,
      "name": "restore",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/132_restore.py",
      "read_script": "generator/df-reads-spark/132_restore.sql",
      "description": "Product catalog. V0: 100 products. V1: UPDATE price*=1.1 WHERE category='electronics'. 9 columns, 100 rows.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 1116,
      "write_warm_ms": 1185
    },
    {
      "id": "spark-writes/delta/1330_pushdown_after_delete_dv",
      "num": 1330,
      "name": "pushdown_after_delete_dv",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1330_pushdown_after_delete_dv.py",
      "read_script": "generator/df-reads-spark/1330_pushdown_after_delete_dv.sql",
      "description": "3 batches with disjoint value ranges. DELETE all of batch 2 (id=101..200) via DVs.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7305,
      "write_warm_ms": 6078,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1331_time_travel_with_merge",
      "num": 1331,
      "name": "time_travel_with_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1331_time_travel_with_merge.py",
      "read_script": "generator/df-reads-spark/1331_time_travel_with_merge.sql",
      "description": "INSERT, MERGE (update existing + insert new), UPDATE, DELETE. Time travel.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 10842,
      "write_warm_ms": 10665,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1332_checkpoint_nmbys",
      "num": 1332,
      "name": "checkpoint_nmbys",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1332_checkpoint_nmbys.py",
      "read_script": "generator/df-reads-spark/1332_checkpoint_nmbys.sql",
      "description": "12+ commits with MERGE NOT MATCHED BY SOURCE DELETE. Checkpoint at V10. ~90 rows.",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 35553,
      "write_warm_ms": 33380,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1333_stats_after_nmbys",
      "num": 1333,
      "name": "stats_after_nmbys",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1333_stats_after_nmbys.py",
      "read_script": "generator/df-reads-spark/1333_stats_after_nmbys.sql",
      "description": "2 INSERT batches then MERGE NMBYS deletes batch2 range. INSERT 1-100 (batch1), INSERT 101-150 (batch2). NMBYS deletes 101-150 -> removed.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7744,
      "write_warm_ms": 9852,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1334_pushdown_nmbys",
      "num": 1334,
      "name": "pushdown_nmbys",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1334_pushdown_nmbys.py",
      "read_script": "generator/df-reads-spark/1334_pushdown_nmbys.sql",
      "description": "3 INSERT batches with disjoint value ranges. NMBYS MERGE keeps only batch1+batch2, deletes batch3. Predicate on batch3 range should return 0 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 10791,
      "write_warm_ms": 9028,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1335_time_travel_nmbys",
      "num": 1335,
      "name": "time_travel_nmbys",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1335_time_travel_nmbys.py",
      "read_script": "generator/df-reads-spark/1335_time_travel_nmbys.sql",
      "description": "INSERT 100 rows, then NMBYS MERGE keeps ids 1-60 and deletes 61-100.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6586,
      "write_warm_ms": 6431,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1336_stats_checkpoint_partition",
      "num": 1336,
      "name": "stats_checkpoint_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1336_stats_checkpoint_partition.py",
      "read_script": "generator/df-reads-spark/1336_stats_checkpoint_partition.sql",
      "description": "INT-partitioned table with 12+ commits and checkpoint at V10. Final: 115 rows.",
      "status": "pass",
      "duration_ms": 24,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 24,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 19633,
      "write_warm_ms": 19317,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1337_pushdown_checkpoint_typed",
      "num": 1337,
      "name": "pushdown_checkpoint_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1337_pushdown_checkpoint_typed.py",
      "read_script": "generator/df-reads-spark/1337_pushdown_checkpoint_typed.sql",
      "description": "12+ commits with DECIMAL(10,2) column. Checkpoint at V10. Then predicate pushdown. UPDATE price+500 for id<=20 before checkpoint.",
      "status": "pass",
      "duration_ms": 29,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 29,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 19256,
      "write_warm_ms": 17811,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1338_time_travel_checkpoint",
      "num": 1338,
      "name": "time_travel_checkpoint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1338_time_travel_checkpoint.py",
      "read_script": "generator/df-reads-spark/1338_time_travel_checkpoint.sql",
      "description": "15 commits (13 INSERTs + 1 UPDATE + 1 INSERT), checkpoint at V10. Final: 140 rows.",
      "status": "pass",
      "duration_ms": 32,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 32,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 25448,
      "write_warm_ms": 24816,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1339_stats_evolve_partition",
      "num": 1339,
      "name": "stats_evolve_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1339_stats_evolve_partition.py",
      "read_script": "generator/df-reads-spark/1339_stats_evolve_partition.sql",
      "description": "Schema evolution + partitioned + multi-file stats. Predicate WHERE extra > 300 hits only ids with extra > 300 (ids >= 151).",
      "status": "pass",
      "duration_ms": 21,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 21,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5104,
      "write_warm_ms": 5328,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/133_clone_interop",
      "num": 133,
      "name": "clone_interop",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/133_clone_interop.py",
      "read_script": "generator/df-reads-spark/133_clone_interop.sql",
      "description": "Order table. INSERT 500 orders, UPDATE pending->processing, MERGE wholesale discount. 10 columns, 500 rows. No deletes.",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 586,
      "write_warm_ms": 643
    },
    {
      "id": "spark-writes/delta/1340_pushdown_evolve",
      "num": 1340,
      "name": "pushdown_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1340_pushdown_evolve.py",
      "read_script": "generator/df-reads-spark/1340_pushdown_evolve.sql",
      "description": "Schema evolution + predicate on evolved column. Predicate WHERE extra > 50 should only hit post-evolution files.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3965,
      "write_warm_ms": 3307,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1341_time_travel_evolve_partition",
      "num": 1341,
      "name": "time_travel_evolve_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1341_time_travel_evolve_partition.py",
      "read_script": "generator/df-reads-spark/1341_time_travel_evolve_partition.sql",
      "description": "Partitioned + schema evolution. Time travel to V1 (before evolution, 60 rows).",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2752,
      "write_warm_ms": 2697,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:time-travel",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1342_checkpoint_evolve_partition",
      "num": 1342,
      "name": "checkpoint_evolve_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1342_checkpoint_evolve_partition.py",
      "read_script": "generator/df-reads-spark/1342_checkpoint_evolve_partition.sql",
      "description": "Partitioned + schema evolution + 12+ commits + checkpoint. ~105 rows.",
      "status": "pass",
      "duration_ms": 24,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 24,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 19388,
      "write_warm_ms": 18294,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1343_stats_cdc_partition",
      "num": 1343,
      "name": "stats_cdc_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1343_stats_cdc_partition.py",
      "read_script": "generator/df-reads-spark/1343_stats_cdc_partition.sql",
      "description": "CDC + partition + multi-file stats. CDF files separate from data file stats.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4753,
      "write_warm_ms": 5328,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1344_pushdown_colmap",
      "num": 1344,
      "name": "pushdown_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1344_pushdown_colmap.py",
      "read_script": "generator/df-reads-spark/1344_pushdown_colmap.sql",
      "description": "Column mapping (name mode) + predicate pushdown on INT column. 3 INSERT batches with disjoint amount ranges.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4565,
      "write_warm_ms": 4678,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1345_time_travel_cdc",
      "num": 1345,
      "name": "time_travel_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1345_time_travel_cdc.py",
      "read_script": "generator/df-reads-spark/1345_time_travel_cdc.sql",
      "description": "CDC + time travel. INSERT, UPDATE (generates CDF), DELETE (generates CDF).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8040,
      "write_warm_ms": 5965,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1346_checkpoint_all_features",
      "num": 1346,
      "name": "checkpoint_all_features",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1346_checkpoint_all_features.py",
      "read_script": "generator/df-reads-spark/1346_checkpoint_all_features.sql",
      "description": "CDC + colmap + partition + constraint + evolve + 12+ commits + checkpoint. All metadata must survive checkpoint.",
      "status": "fail",
      "duration_ms": 0,
      "error": "Error: internal error: Assertion failed: Row count: expected = 100, got 0",
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 103,
      "read_warm_ms": 39,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1347_stats_ultimate",
      "num": 1347,
      "name": "stats_ultimate",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1347_stats_ultimate.py",
      "read_script": "generator/df-reads-spark/1347_stats_ultimate.sql",
      "description": "Full DML lifecycle. Final: 400 rows. Steps: INSERT 1-100 (100), INSERT 101-200 (100), INSERT 201-300 (100), INSERT 301-400 (100), INSERT 401-500 (100) = 500 rows UPDATE value+1000 WHERE id<=50 -> ids 1-50 have value=i*3+1000 DELETE id 451-500 (50 removed) -> 450 rows",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 19817,
      "write_warm_ms": 22161,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1348_pushdown_ultimate",
      "num": 1348,
      "name": "pushdown_ultimate",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1348_pushdown_ultimate.py",
      "read_script": "generator/df-reads-spark/1348_pushdown_ultimate.sql",
      "description": "Steps: 5 INSERT batches (100 rows each) with disjoint TIMESTAMP ranges (Jan-May 2024) UPDATE amount+1000 WHERE id<=50 DELETE id 351-500 (150 rows removed) -> 350 rows UPDATE active=flip WHERE id 201-250",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 14281,
      "write_warm_ms": 15143,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1349_time_travel_ultimate",
      "num": 1349,
      "name": "time_travel_ultimate",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1349_time_travel_ultimate.py",
      "read_script": "generator/df-reads-spark/1349_time_travel_ultimate.sql",
      "description": "Steps (V0=CREATE in SQL engine, our V0=first INSERT): value = i * 5 (then +100 for id<=20) status = 'init' (then 'merged' for id 1-30 via MERGE; 'v6' for 101-140; 'final_merge' for 121-150)",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 19608,
      "write_warm_ms": 20216,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/134_delete_interop",
      "num": 134,
      "name": "delete_interop",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/134_delete_interop.py",
      "read_script": "generator/df-reads-spark/134_delete_interop.sql",
      "description": "Task management. INSERT 300 tasks, then DELETE operations. 10 columns. Final row count < 300.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 2294,
      "write_warm_ms": 2249
    },
    {
      "id": "spark-writes/delta/1350_interop_ultimate",
      "num": 1350,
      "name": "interop_ultimate",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1350_interop_ultimate.py",
      "read_script": "generator/df-reads-spark/1350_interop_ultimate.sql",
      "description": "stats + checkpoint + time travel + predicate pushdown + MERGE + NMBYS + OPTIMIZE.",
      "status": "fail",
      "duration_ms": 0,
      "error": "Error: internal error: Assertion failed: Row count: expected = 200, got 0",
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 97,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "delta:time-travel",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1351_zorder_basic",
      "num": 1351,
      "name": "zorder_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1351_zorder_basic.py",
      "read_script": "generator/df-reads-spark/1351_zorder_basic.sql",
      "description": "Basic Z-ORDER on INT column (score). 4 INSERT batches then OPTIMIZE ZORDER BY (score).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7382,
      "write_warm_ms": 6783,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1352_zorder_decimal",
      "num": 1352,
      "name": "zorder_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1352_zorder_decimal.py",
      "read_script": "generator/df-reads-spark/1352_zorder_decimal.sql",
      "description": "Z-ORDER on DECIMAL(10,2) column (amount). 4 INSERT batches then OPTIMIZE ZORDER BY (amount).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 9687,
      "write_warm_ms": 7987,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1353_zorder_timestamp",
      "num": 1353,
      "name": "zorder_timestamp",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1353_zorder_timestamp.py",
      "read_script": "generator/df-reads-spark/1353_zorder_timestamp.sql",
      "description": "Z-ORDER on TIMESTAMP column (event_ts). 4 INSERT batches then OPTIMIZE ZORDER BY (event_ts).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8495,
      "write_warm_ms": 8093,
      "tags": [
        "type:floating",
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1354_zorder_string",
      "num": 1354,
      "name": "zorder_string",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1354_zorder_string.py",
      "read_script": "generator/df-reads-spark/1354_zorder_string.sql",
      "description": "Z-ORDER on STRING column (category). 4 INSERT batches then OPTIMIZE ZORDER BY (category).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7894,
      "write_warm_ms": 7105,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1355_zorder_boolean",
      "num": 1355,
      "name": "zorder_boolean",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1355_zorder_boolean.py",
      "read_script": "generator/df-reads-spark/1355_zorder_boolean.sql",
      "description": "Z-ORDER on BOOLEAN column (active). 4 INSERT batches then OPTIMIZE ZORDER BY (active).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7555,
      "write_warm_ms": 7452,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1356_zorder_two_columns",
      "num": 1356,
      "name": "zorder_two_columns",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1356_zorder_two_columns.py",
      "read_script": "generator/df-reads-spark/1356_zorder_two_columns.sql",
      "description": "INSERT 300 rows in 3 batches, then OPTIMIZE ZORDER BY (score, category).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7123,
      "write_warm_ms": 6615,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1357_zorder_three_columns",
      "num": 1357,
      "name": "zorder_three_columns",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1357_zorder_three_columns.py",
      "read_script": "generator/df-reads-spark/1357_zorder_three_columns.sql",
      "description": "INSERT 300 rows in 3 batches, then OPTIMIZE ZORDER BY (score, amount, category).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6834,
      "write_warm_ms": 6824,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1358_zorder_cdc",
      "num": 1358,
      "name": "zorder_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1358_zorder_cdc.py",
      "read_script": "generator/df-reads-spark/1358_zorder_cdc.sql",
      "description": "CDC enabled. INSERT 200 in 4 batches. UPDATE SET status='v2' WHERE id<=50. OPTIMIZE ZORDER BY (score). ZORDER version should have 0 CDF rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 11449,
      "write_warm_ms": 11863,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1359_zorder_partition",
      "num": 1359,
      "name": "zorder_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1359_zorder_partition.py",
      "read_script": "generator/df-reads-spark/1359_zorder_partition.sql",
      "description": "PARTITIONED BY (region). INSERT 180 in 3 batches (3 regions). OPTIMIZE ZORDER BY (score). Z-ORDER operates per-partition.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7081,
      "write_warm_ms": 7579,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/135_update_interop",
      "num": 135,
      "name": "update_interop",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/135_update_interop.py",
      "read_script": "generator/df-reads-spark/135_update_interop.sql",
      "description": "Customer table. INSERT 250 rows, UPDATE operations applied. 10 columns, 250 rows.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 1565,
      "write_warm_ms": 1470
    },
    {
      "id": "spark-writes/delta/1360_zorder_after_delete",
      "num": 1360,
      "name": "zorder_after_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1360_zorder_after_delete.py",
      "read_script": "generator/df-reads-spark/1360_zorder_after_delete.sql",
      "description": "INSERT 300 in 3 batches. DELETE WHERE id%5=0 (60 rows removed via DVs). OPTIMIZE ZORDER BY (score). Tests DV+ZORDER interaction.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 11527,
      "write_warm_ms": 9831,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1361_zorder_after_update",
      "num": 1361,
      "name": "zorder_after_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1361_zorder_after_update.py",
      "read_script": "generator/df-reads-spark/1361_zorder_after_update.sql",
      "description": "INSERT 200 in 4 batches. UPDATE SET score=score+100 WHERE id<=50. OPTIMIZE ZORDER BY (score). Tests DV+ZORDER interaction.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 10743,
      "write_warm_ms": 9014,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1362_zorder_after_merge",
      "num": 1362,
      "name": "zorder_after_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1362_zorder_after_merge.py",
      "read_script": "generator/df-reads-spark/1362_zorder_after_merge.sql",
      "description": "INSERT 200 in 4 batches. MERGE from 220-row source: matched UPDATE status; not-matched INSERT. OPTIMIZE ZORDER BY (score).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 11374,
      "write_warm_ms": 11233,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1363_zorder_multi_type_preserve",
      "num": 1363,
      "name": "zorder_multi_type_preserve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1363_zorder_multi_type_preserve.py",
      "read_script": "generator/df-reads-spark/1363_zorder_multi_type_preserve.sql",
      "description": "INSERT 200 in 4 batches with STRING+INT+DOUBLE+BOOLEAN+DECIMAL(10,2)+TIMESTAMP. OPTIMIZE ZORDER BY (score).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6828,
      "write_warm_ms": 7815,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1364_zorder_then_dml",
      "num": 1364,
      "name": "zorder_then_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1364_zorder_then_dml.py",
      "read_script": "generator/df-reads-spark/1364_zorder_then_dml.sql",
      "description": "INSERT 200 in 4 batches. OPTIMIZE ZORDER BY (score). UPDATE SET status='post_zorder' WHERE score>80. DELETE WHERE score<10.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 12151,
      "write_warm_ms": 11889,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1365_zorder_then_merge",
      "num": 1365,
      "name": "zorder_then_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1365_zorder_then_merge.py",
      "read_script": "generator/df-reads-spark/1365_zorder_then_merge.sql",
      "description": "INSERT 200 in 4 batches. OPTIMIZE ZORDER BY (score).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 12911,
      "write_warm_ms": 12932,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1366_zorder_constraint",
      "num": 1366,
      "name": "zorder_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1366_zorder_constraint.py",
      "read_script": "generator/df-reads-spark/1366_zorder_constraint.sql",
      "description": "INSERT 200 in 4 batches. ADD CONSTRAINT score>=0. OPTIMIZE ZORDER BY (score). Constraint metadata must survive ZORDER.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3741,
      "write_warm_ms": 3795,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1367_zorder_colmap",
      "num": 1367,
      "name": "zorder_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1367_zorder_colmap.py",
      "read_script": "generator/df-reads-spark/1367_zorder_colmap.sql",
      "description": "colmap=name. INSERT 200 in 4 batches. OPTIMIZE ZORDER BY (score). Z-ORDER uses logical column names via column mapping.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3520,
      "write_warm_ms": 4026,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1368_zorder_evolve",
      "num": 1368,
      "name": "zorder_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1368_zorder_evolve.py",
      "read_script": "generator/df-reads-spark/1368_zorder_evolve.sql",
      "description": "INSERT 100 in 2 batches. ALTER ADD COLUMN extra INT. INSERT 100 more in 2 batches. OPTIMIZE ZORDER BY (score). Z-ORDER across evolved schema.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7135,
      "write_warm_ms": 7241,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1369_zorder_not_null",
      "num": 1369,
      "name": "zorder_not_null",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1369_zorder_not_null.py",
      "read_script": "generator/df-reads-spark/1369_zorder_not_null.sql",
      "description": "NOT NULL columns preserved through ZORDER. INSERT 200 in 4 batches. OPTIMIZE ZORDER BY (score).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3809,
      "write_warm_ms": 3691,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/136_merge_interop",
      "num": 136,
      "name": "merge_interop",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/136_merge_interop.py",
      "read_script": "generator/df-reads-spark/136_merge_interop.sql",
      "description": "Employee table. TARGET: 150 employees (IDs 1-150). DELETE IDs 51-75, INSERT IDs 151-200. 10 columns.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 1719,
      "write_warm_ms": 1713
    },
    {
      "id": "spark-writes/delta/1370_zorder_cdc_partition",
      "num": 1370,
      "name": "zorder_cdc_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1370_zorder_cdc_partition.py",
      "read_script": "generator/df-reads-spark/1370_zorder_cdc_partition.sql",
      "description": "CDC enabled, partitioned by region. INSERT 180 in 3 batches (3 regions). OPTIMIZE ZORDER BY (score). Per-partition ZORDER, CDF must not include ZORDER events.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6814,
      "write_warm_ms": 6944,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1371_zorder_colmap_cdc",
      "num": 1371,
      "name": "zorder_colmap_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1371_zorder_colmap_cdc.py",
      "read_script": "generator/df-reads-spark/1371_zorder_colmap_cdc.sql",
      "description": "colmap=name, CDC enabled. INSERT 200 in 4 batches. OPTIMIZE ZORDER BY (score). ZORDER version must have 0 CDF rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4911,
      "write_warm_ms": 4319,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1372_zorder_constraint_partition",
      "num": 1372,
      "name": "zorder_constraint_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1372_zorder_constraint_partition.py",
      "read_script": "generator/df-reads-spark/1372_zorder_constraint_partition.sql",
      "description": "Partitioned by region. INSERT 180 in 3 batches. ADD CONSTRAINT score>=0. OPTIMIZE ZORDER BY (score).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4394,
      "write_warm_ms": 4603,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1373_zorder_evolve_cdc",
      "num": 1373,
      "name": "zorder_evolve_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1373_zorder_evolve_cdc.py",
      "read_script": "generator/df-reads-spark/1373_zorder_evolve_cdc.sql",
      "description": "CDC enabled. INSERT 100 in 2 batches. ALTER ADD COLUMN extra STRING. INSERT 100 in 2 batches with extra. OPTIMIZE ZORDER BY (score). ZORDER version must have 0 CDF rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 10861,
      "write_warm_ms": 10060,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1374_zorder_four_way",
      "num": 1374,
      "name": "zorder_four_way",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1374_zorder_four_way.py",
      "read_script": "generator/df-reads-spark/1374_zorder_four_way.sql",
      "description": "CDC enabled, partitioned by region. INSERT 180 in 3 batches. ADD CONSTRAINT score>=0. OPTIMIZE ZORDER BY (score). ZORDER version must have 0 CDF rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7487,
      "write_warm_ms": 8694,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1375_zorder_five_way",
      "num": 1375,
      "name": "zorder_five_way",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1375_zorder_five_way.py",
      "read_script": "generator/df-reads-spark/1375_zorder_five_way.sql",
      "description": "CDC enabled, colmap=name, partitioned by region. INSERT 180 in 3 batches. ADD CONSTRAINT score>=0. OPTIMIZE ZORDER BY (score). ZORDER version must have 0 CDF rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 10104,
      "write_warm_ms": 10695,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1376_vacuum_after_delete",
      "num": 1376,
      "name": "vacuum_after_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1376_vacuum_after_delete.py",
      "read_script": "generator/df-reads-spark/1376_vacuum_after_delete.sql",
      "description": "INSERT 200 rows, DELETE WHERE id%3=0 (~67 rows removed via DVs), then VACUUM RETAIN 0 HOURS to clean old files.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 21630,
      "write_warm_ms": 18052,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1377_vacuum_after_update",
      "num": 1377,
      "name": "vacuum_after_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1377_vacuum_after_update.py",
      "read_script": "generator/df-reads-spark/1377_vacuum_after_update.sql",
      "description": "INSERT 200 rows, UPDATE score+100 for id<=100, then VACUUM RETAIN 0 HOURS.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 18810,
      "write_warm_ms": 18927,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1378_vacuum_after_optimize",
      "num": 1378,
      "name": "vacuum_after_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1378_vacuum_after_optimize.py",
      "read_script": "generator/df-reads-spark/1378_vacuum_after_optimize.sql",
      "description": "INSERT 200 rows in 4 batches, OPTIMIZE to compact, then VACUUM RETAIN 0 HOURS.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 21727,
      "write_warm_ms": 19338,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1379_vacuum_typed_data",
      "num": 1379,
      "name": "vacuum_typed_data",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1379_vacuum_typed_data.py",
      "read_script": "generator/df-reads-spark/1379_vacuum_typed_data.sql",
      "description": "INSERT 200 rows in 4 batches with typed columns, OPTIMIZE, then VACUUM.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 18038,
      "write_warm_ms": 17706,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/137_zorder_interop",
      "num": 137,
      "name": "zorder_interop",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/137_zorder_interop.py",
      "read_script": "generator/df-reads-spark/137_zorder_interop.sql",
      "description": "Event analytics. 16 INSERT batches: initial 200 + 15 batches of 50 = 950 rows. 9 columns.",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 6605,
      "write_warm_ms": 6397
    },
    {
      "id": "spark-writes/delta/1380_vacuum_decimal",
      "num": 1380,
      "name": "vacuum_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1380_vacuum_decimal.py",
      "read_script": "generator/df-reads-spark/1380_vacuum_decimal.sql",
      "description": "INSERT 200 rows in 4 batches with DECIMAL(10,2) and DECIMAL(15,6), OPTIMIZE, then VACUUM.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 17882,
      "write_warm_ms": 19485,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1381_vacuum_timestamp",
      "num": 1381,
      "name": "vacuum_timestamp",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1381_vacuum_timestamp.py",
      "read_script": "generator/df-reads-spark/1381_vacuum_timestamp.sql",
      "description": "INSERT 200 rows in 4 batches with TIMESTAMP, OPTIMIZE, then VACUUM.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 21138,
      "write_warm_ms": 17533,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1382_vacuum_cdc",
      "num": 1382,
      "name": "vacuum_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1382_vacuum_cdc.py",
      "read_script": "generator/df-reads-spark/1382_vacuum_cdc.sql",
      "description": "INSERT 200 rows in 4 batches, UPDATE 50 rows, then VACUUM RETAIN 0 HOURS.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 24868,
      "write_warm_ms": 26204,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1383_vacuum_partition",
      "num": 1383,
      "name": "vacuum_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1383_vacuum_partition.py",
      "read_script": "generator/df-reads-spark/1383_vacuum_partition.sql",
      "description": "INSERT 180 rows in 3 batches (3 regions), OPTIMIZE, then VACUUM.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 17217,
      "write_warm_ms": 19048,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1384_vacuum_constraint",
      "num": 1384,
      "name": "vacuum_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1384_vacuum_constraint.py",
      "read_script": "generator/df-reads-spark/1384_vacuum_constraint.sql",
      "description": "INSERT 200 rows in 4 batches, ADD CONSTRAINT score>=0, OPTIMIZE, then VACUUM.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 15958,
      "write_warm_ms": 19857,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1385_vacuum_colmap",
      "num": 1385,
      "name": "vacuum_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1385_vacuum_colmap.py",
      "read_script": "generator/df-reads-spark/1385_vacuum_colmap.sql",
      "description": "INSERT 200 rows in 4 batches, OPTIMIZE, then VACUUM. Logical column names must be preserved after VACUUM.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 19307,
      "write_warm_ms": 17238,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1386_vacuum_evolve",
      "num": 1386,
      "name": "vacuum_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1386_vacuum_evolve.py",
      "read_script": "generator/df-reads-spark/1386_vacuum_evolve.sql",
      "description": "INSERT 100 rows in 2 batches, ALTER ADD COLUMN extra STRING, INSERT 100 more in 2 batches with extra, OPTIMIZE, then VACUUM.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 24836,
      "write_warm_ms": 22755,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1387_vacuum_after_merge",
      "num": 1387,
      "name": "vacuum_after_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1387_vacuum_after_merge.py",
      "read_script": "generator/df-reads-spark/1387_vacuum_after_merge.sql",
      "description": "INSERT 200 rows in 4 batches, MERGE from 220-row source (updates + inserts), then VACUUM.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 22306,
      "write_warm_ms": 22600,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1388_vacuum_cdc_partition",
      "num": 1388,
      "name": "vacuum_cdc_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1388_vacuum_cdc_partition.py",
      "read_script": "generator/df-reads-spark/1388_vacuum_cdc_partition.sql",
      "description": "INSERT 180 rows (3 regions), UPDATE US rows, OPTIMIZE, then VACUUM.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 29671,
      "write_warm_ms": 28485,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1389_vacuum_colmap_cdc",
      "num": 1389,
      "name": "vacuum_colmap_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1389_vacuum_colmap_cdc.py",
      "read_script": "generator/df-reads-spark/1389_vacuum_colmap_cdc.sql",
      "description": "INSERT 200 rows in 4 batches, UPDATE 50, OPTIMIZE, then VACUUM.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 28033,
      "write_warm_ms": 24694,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/138_analyze_interop",
      "num": 138,
      "name": "analyze_interop",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/138_analyze_interop.py",
      "read_script": "generator/df-reads-spark/138_analyze_interop.sql",
      "description": "Analytics table for ANALYZE compatibility testing. Pure INSERT of 500 rows. 11 columns (notes is nullable: i%5==0 -> NULL).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 523,
      "write_warm_ms": 584
    },
    {
      "id": "spark-writes/delta/1390_vacuum_checkpoint",
      "num": 1390,
      "name": "vacuum_checkpoint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1390_vacuum_checkpoint.py",
      "read_script": "generator/df-reads-spark/1390_vacuum_checkpoint.sql",
      "description": "11 INSERT batches of 10 rows each (forces checkpoint at commit 10), OPTIMIZE, then VACUUM.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 34504,
      "write_warm_ms": 35916,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1391_vacuum_then_dml",
      "num": 1391,
      "name": "vacuum_then_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1391_vacuum_then_dml.py",
      "read_script": "generator/df-reads-spark/1391_vacuum_then_dml.sql",
      "description": "INSERT 200 in 4 batches, OPTIMIZE, VACUUM, then INSERT 50 more and UPDATE 50 rows.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 30750,
      "write_warm_ms": 29439,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1392_vacuum_four_way",
      "num": 1392,
      "name": "vacuum_four_way",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1392_vacuum_four_way.py",
      "read_script": "generator/df-reads-spark/1392_vacuum_four_way.sql",
      "description": "CDC enabled, partitioned. INSERT 180 rows, ADD CONSTRAINT, OPTIMIZE, then VACUUM.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 22333,
      "write_warm_ms": 23150,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1393_vacuum_five_way",
      "num": 1393,
      "name": "vacuum_five_way",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1393_vacuum_five_way.py",
      "read_script": "generator/df-reads-spark/1393_vacuum_five_way.sql",
      "description": "CDC enabled, colmap=name, partitioned. INSERT 180 rows, ADD CONSTRAINT, OPTIMIZE, then VACUUM.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 21222,
      "write_warm_ms": 22501,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1394_restore_basic",
      "num": 1394,
      "name": "restore_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1394_restore_basic.py",
      "read_script": "generator/df-reads-spark/1394_restore_basic.sql",
      "description": "100 rows (restored to V1, all status='original')",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 12805,
      "write_warm_ms": 12395,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1395_restore_after_delete",
      "num": 1395,
      "name": "restore_after_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1395_restore_after_delete.py",
      "read_script": "generator/df-reads-spark/1395_restore_after_delete.sql",
      "description": "100 rows (restored to V1)",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 11308,
      "write_warm_ms": 12865,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1396_restore_after_update",
      "num": 1396,
      "name": "restore_after_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1396_restore_after_update.py",
      "read_script": "generator/df-reads-spark/1396_restore_after_update.sql",
      "description": "100 rows (original scores)",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 14037,
      "write_warm_ms": 13118,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1397_restore_typed",
      "num": 1397,
      "name": "restore_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1397_restore_typed.py",
      "read_script": "generator/df-reads-spark/1397_restore_typed.sql",
      "description": "100 rows (original typed values restored)",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 12708,
      "write_warm_ms": 12296,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1398_restore_cdc",
      "num": 1398,
      "name": "restore_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1398_restore_cdc.py",
      "read_script": "generator/df-reads-spark/1398_restore_cdc.sql",
      "description": "100 rows (all tag='original')",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 13475,
      "write_warm_ms": 13008,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1399_restore_partition",
      "num": 1399,
      "name": "restore_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1399_restore_partition.py",
      "read_script": "generator/df-reads-spark/1399_restore_partition.sql",
      "description": "INSERT 120 rows across 3 regions (V0/V1/V2). DELETE WHERE region='AP' (V3). RESTORE TO VERSION AS OF 3 recovers AP partition.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 14515,
      "write_warm_ms": 14090,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/139_checkpoint_interop",
      "num": 139,
      "name": "checkpoint_interop",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/139_checkpoint_interop.py",
      "read_script": "generator/df-reads-spark/139_checkpoint_interop.sql",
      "description": "Multi-version checkpoint testing. 6 INSERT batches, 2 UPDATEs, 1 DELETE. 5 columns. Final: 341 rows.",
      "status": "pass",
      "duration_ms": 31,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 31,
      "read_warm_ms": 10,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 6341,
      "write_warm_ms": 6413
    },
    {
      "id": "spark-writes/delta/13_action_metadata_change_schema",
      "num": 13,
      "name": "action_metadata_change_schema",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/13_action_metadata_change_schema.py",
      "read_script": "generator/df-reads-spark/13_action_metadata_change_schema.sql",
      "description": "Social media user profiles. 4 schema phases, 19 final columns, 12000 users. Phase 1 (1-5000): 7 columns Phase 2 (5001-7500): +4 preference cols Phase 3 (7501-10000): +4 social cols Phase 4 (10001-12000): +4 engagement cols",
      "status": "pass",
      "duration_ms": 23,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 23,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 4305,
      "tags": [
        "type:boolean",
        "type:date",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1400_restore_schema_evolve",
      "num": 1400,
      "name": "restore_schema_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1400_restore_schema_evolve.py",
      "read_script": "generator/df-reads-spark/1400_restore_schema_evolve.sql",
      "description": "50 rows (3 columns, extra column reverted by RESTORE)",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 12274,
      "write_warm_ms": 12130,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:time-travel",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1401_restore_after_merge",
      "num": 1401,
      "name": "restore_after_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1401_restore_after_merge.py",
      "read_script": "generator/df-reads-spark/1401_restore_after_merge.sql",
      "description": "100 rows (original V0 state)",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 17487,
      "write_warm_ms": 14427,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1402_restore_colmap",
      "num": 1402,
      "name": "restore_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1402_restore_colmap.py",
      "read_script": "generator/df-reads-spark/1402_restore_colmap.sql",
      "description": "100 rows (original scores)",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 10475,
      "write_warm_ms": 9500,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1403_restore_constraint",
      "num": 1403,
      "name": "restore_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1403_restore_constraint.py",
      "read_script": "generator/df-reads-spark/1403_restore_constraint.sql",
      "description": "Constraint should be gone after RESTORE. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2860,
      "write_warm_ms": 2195,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1404_restore_multiple_dml",
      "num": 1404,
      "name": "restore_multiple_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1404_restore_multiple_dml.py",
      "read_script": "generator/df-reads-spark/1404_restore_multiple_dml.sql",
      "description": "100 rows (original V0 values)",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 17418,
      "write_warm_ms": 17968,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1405_restore_decimal",
      "num": 1405,
      "name": "restore_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1405_restore_decimal.py",
      "read_script": "generator/df-reads-spark/1405_restore_decimal.sql",
      "description": "100 rows (original decimal values)",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 11648,
      "write_warm_ms": 11477,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1406_restore_timestamp",
      "num": 1406,
      "name": "restore_timestamp",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1406_restore_timestamp.py",
      "read_script": "generator/df-reads-spark/1406_restore_timestamp.sql",
      "description": "100 rows (original timestamps)",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 13352,
      "write_warm_ms": 12534,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1407_restore_to_middle",
      "num": 1407,
      "name": "restore_to_middle",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1407_restore_to_middle.py",
      "read_script": "generator/df-reads-spark/1407_restore_to_middle.sql",
      "description": "100 rows (V1 state, both batches, original tags)",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 15277,
      "write_warm_ms": 18780,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1408_restore_partition_typed",
      "num": 1408,
      "name": "restore_partition_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1408_restore_partition_typed.py",
      "read_script": "generator/df-reads-spark/1408_restore_partition_typed.sql",
      "description": "Partitioned by region_id INT. V0: INSERT 100 rows, V1: UPDATE scores,",
      "status": "pass",
      "duration_ms": 20,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 20,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 16883,
      "write_warm_ms": 16401,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1409_restore_cdc_partition",
      "num": 1409,
      "name": "restore_cdc_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1409_restore_cdc_partition.py",
      "read_script": "generator/df-reads-spark/1409_restore_cdc_partition.sql",
      "description": "Partitioned by region, CDC enabled. V0: INSERT 120 rows (3 regions),",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 0,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 16178,
      "write_warm_ms": 12920,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/140_txn_log_interop",
      "num": 140,
      "name": "txn_log_interop",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/140_txn_log_interop.py",
      "read_script": "generator/df-reads-spark/140_txn_log_interop.sql",
      "description": "- Transaction log interoperability testing - Multiple versions (0-5) of data writes - Mixed engine history simulation - NO deletion vectors (no table properties)",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 2856,
      "write_warm_ms": 2777
    },
    {
      "id": "spark-writes/delta/1410_restore_then_dml",
      "num": 1410,
      "name": "restore_then_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1410_restore_then_dml.py",
      "read_script": "generator/df-reads-spark/1410_restore_then_dml.sql",
      "description": "DML operations after RESTORE.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 17983,
      "write_warm_ms": 18918,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1411_zorder_then_vacuum",
      "num": 1411,
      "name": "zorder_then_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1411_zorder_then_vacuum.py",
      "read_script": "generator/df-reads-spark/1411_zorder_then_vacuum.sql",
      "description": "INSERT 200 in 4 batches. OPTIMIZE ZORDER BY (score). VACUUM RETAIN 0 HOURS.",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 26490,
      "write_warm_ms": 28530,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1412_vacuum_then_zorder",
      "num": 1412,
      "name": "vacuum_then_zorder",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1412_vacuum_then_zorder.py",
      "read_script": "generator/df-reads-spark/1412_vacuum_then_zorder.sql",
      "description": "INSERT 200 in 4 batches. Plain OPTIMIZE. VACUUM RETAIN 0 HOURS. INSERT 100 in 2 more batches. OPTIMIZE ZORDER BY (score).",
      "status": "pass",
      "duration_ms": 20,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 20,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 32814,
      "write_warm_ms": 35596,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1413_restore_after_zorder",
      "num": 1413,
      "name": "restore_after_zorder",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1413_restore_after_zorder.py",
      "read_script": "generator/df-reads-spark/1413_restore_after_zorder.sql",
      "description": "INSERT 200 in 4 batches (V0-V3). OPTIMIZE ZORDER BY (score) (V4). RESTORE TO VERSION AS OF 3. Final: 200 rows (pre-ZORDER layout).",
      "status": "pass",
      "duration_ms": 23,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 23,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 15179,
      "write_warm_ms": 14933,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:time-travel",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1414_zorder_restore_dml",
      "num": 1414,
      "name": "zorder_restore_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1414_zorder_restore_dml.py",
      "read_script": "generator/df-reads-spark/1414_zorder_restore_dml.sql",
      "description": "Z-ORDER then RESTORE then DML.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 14052,
      "write_warm_ms": 16483,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:time-travel",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1415_vacuum_restore_interaction",
      "num": 1415,
      "name": "vacuum_restore_interaction",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1415_vacuum_restore_interaction.py",
      "read_script": "generator/df-reads-spark/1415_vacuum_restore_interaction.sql",
      "description": "INSERT 100 (V0). INSERT 100 more (V1). OPTIMIZE (V2). VACUUM RETAIN 0 HOURS. Data at current version is still correct after VACUUM. Final: 200 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 18537,
      "write_warm_ms": 20813,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:time-travel",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1416_zorder_cdc_typed",
      "num": 1416,
      "name": "zorder_cdc_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1416_zorder_cdc_typed.py",
      "read_script": "generator/df-reads-spark/1416_zorder_cdc_typed.sql",
      "description": "CDC enabled. INSERT 200 in 4 batches with DECIMAL+TIMESTAMP. OPTIMIZE ZORDER BY (amount). Final: 200 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 9223,
      "write_warm_ms": 10547,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1417_vacuum_cdc_typed",
      "num": 1417,
      "name": "vacuum_cdc_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1417_vacuum_cdc_typed.py",
      "read_script": "generator/df-reads-spark/1417_vacuum_cdc_typed.sql",
      "description": "CDC enabled. INSERT 200 in 4 batches with DECIMAL+TIMESTAMP. OPTIMIZE. VACUUM RETAIN 0 HOURS. Final: 200 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 25189,
      "write_warm_ms": 23863,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1418_restore_cdc_typed",
      "num": 1418,
      "name": "restore_cdc_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1418_restore_cdc_typed.py",
      "read_script": "generator/df-reads-spark/1418_restore_cdc_typed.sql",
      "description": "CDC enabled. V0: INSERT 100 with DECIMAL+TIMESTAMP. V1: UPDATE DECIMAL.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 11496,
      "write_warm_ms": 9020,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1419_zorder_vacuum_cdc",
      "num": 1419,
      "name": "zorder_vacuum_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1419_zorder_vacuum_cdc.py",
      "read_script": "generator/df-reads-spark/1419_zorder_vacuum_cdc.sql",
      "description": "CDC enabled. INSERT 200 in 4 batches. UPDATE 50 rows. OPTIMIZE ZORDER BY (score). VACUUM RETAIN 0 HOURS. Final: 200 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 25761,
      "write_warm_ms": 29328,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/141_table_props_interop",
      "num": 141,
      "name": "table_props_interop",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/141_table_props_interop.py",
      "read_script": "generator/df-reads-spark/141_table_props_interop.sql",
      "description": "INSERT 500 initial rows, then append 3 batches of 100 each.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 1882,
      "write_warm_ms": 1836
    },
    {
      "id": "spark-writes/delta/1420_zorder_partition_typed",
      "num": 1420,
      "name": "zorder_partition_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1420_zorder_partition_typed.py",
      "read_script": "generator/df-reads-spark/1420_zorder_partition_typed.sql",
      "description": "Partitioned by region. INSERT 180 in 3 batches with DECIMAL+TIMESTAMP. OPTIMIZE ZORDER BY (amount). Final: 180 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4462,
      "write_warm_ms": 4600,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1421_vacuum_partition_typed",
      "num": 1421,
      "name": "vacuum_partition_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1421_vacuum_partition_typed.py",
      "read_script": "generator/df-reads-spark/1421_vacuum_partition_typed.sql",
      "description": "Partitioned by region. INSERT 180 in 3 batches with DECIMAL+TIMESTAMP. OPTIMIZE. VACUUM RETAIN 0 HOURS. Final: 180 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 20391,
      "write_warm_ms": 19967,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1422_restore_partition_cdc",
      "num": 1422,
      "name": "restore_partition_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1422_restore_partition_cdc.py",
      "read_script": "generator/df-reads-spark/1422_restore_partition_cdc.sql",
      "description": "CDC enabled, partitioned by region. V0: INSERT 120 rows (3 regions).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 0,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 11963,
      "write_warm_ms": 10313,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1423_zorder_colmap_typed",
      "num": 1423,
      "name": "zorder_colmap_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1423_zorder_colmap_typed.py",
      "read_script": "generator/df-reads-spark/1423_zorder_colmap_typed.sql",
      "description": "colmap=name. INSERT 200 in 4 batches with DECIMAL. OPTIMIZE ZORDER BY (amount). Final: 200 rows.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4113,
      "write_warm_ms": 3867,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1424_vacuum_evolve_typed",
      "num": 1424,
      "name": "vacuum_evolve_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1424_vacuum_evolve_typed.py",
      "read_script": "generator/df-reads-spark/1424_vacuum_evolve_typed.sql",
      "description": "INSERT 100 in 2 batches. ALTER ADD COLUMN amount DECIMAL(10,2). INSERT 100 in 2 batches with amount. OPTIMIZE. VACUUM RETAIN 0 HOURS.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 20541,
      "write_warm_ms": 20778,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1425_restore_evolve_typed",
      "num": 1425,
      "name": "restore_evolve_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1425_restore_evolve_typed.py",
      "read_script": "generator/df-reads-spark/1425_restore_evolve_typed.sql",
      "description": "100 rows (3 columns, extra DECIMAL reverted)",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 9512,
      "write_warm_ms": 9859,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1426_zorder_constraint_typed",
      "num": 1426,
      "name": "zorder_constraint_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1426_zorder_constraint_typed.py",
      "read_script": "generator/df-reads-spark/1426_zorder_constraint_typed.sql",
      "description": "INSERT 200 with DECIMAL. ADD CONSTRAINT amount>0. OPTIMIZE ZORDER BY (amount).",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4722,
      "write_warm_ms": 5589,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1427_vacuum_constraint_typed",
      "num": 1427,
      "name": "vacuum_constraint_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1427_vacuum_constraint_typed.py",
      "read_script": "generator/df-reads-spark/1427_vacuum_constraint_typed.sql",
      "description": "INSERT 200. ADD CONSTRAINT score>=0. OPTIMIZE. VACUUM RETAIN 0 HOURS.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 18524,
      "write_warm_ms": 21292,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1428_restore_constraint_typed",
      "num": 1428,
      "name": "restore_constraint_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1428_restore_constraint_typed.py",
      "read_script": "generator/df-reads-spark/1428_restore_constraint_typed.sql",
      "description": "Constraint gone after RESTORE. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2255,
      "write_warm_ms": 2607,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1429_zorder_nmbys",
      "num": 1429,
      "name": "zorder_nmbys",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1429_zorder_nmbys.py",
      "read_script": "generator/df-reads-spark/1429_zorder_nmbys.sql",
      "description": "INSERT 200. MERGE 150: WHEN MATCHED UPDATE; WHEN NOT MATCHED BY SOURCE DELETE. OPTIMIZE ZORDER BY (score). Final: 150 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 9952,
      "write_warm_ms": 9255,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/142_dv_created_interop",
      "num": 142,
      "name": "dv_created_interop",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/142_dv_created_interop.py",
      "read_script": "generator/df-reads-spark/142_dv_created_interop.sql",
      "description": "1100 rows (1000 initial + 100 extra)",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 960,
      "write_warm_ms": 949
    },
    {
      "id": "spark-writes/delta/1430_vacuum_nmbys",
      "num": 1430,
      "name": "vacuum_nmbys",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1430_vacuum_nmbys.py",
      "read_script": "generator/df-reads-spark/1430_vacuum_nmbys.sql",
      "description": "INSERT 200. MERGE 150: matched UPDATE; NM-BY-SOURCE DELETE. OPTIMIZE. VACUUM RETAIN 0 HOURS. Final: 150 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 25834,
      "write_warm_ms": 17767,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1431_restore_nmbys",
      "num": 1431,
      "name": "restore_nmbys",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1431_restore_nmbys.py",
      "read_script": "generator/df-reads-spark/1431_restore_nmbys.sql",
      "description": "200 rows (RESTORE to V0, all status='active')",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 10407,
      "write_warm_ms": 9565,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1432_zorder_evolve_partition",
      "num": 1432,
      "name": "zorder_evolve_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1432_zorder_evolve_partition.py",
      "read_script": "generator/df-reads-spark/1432_zorder_evolve_partition.sql",
      "description": "Partitioned by region. INSERT 100. ALTER ADD COLUMN extra INT. INSERT 100 with extra. OPTIMIZE ZORDER BY (score). Final: 200 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4406,
      "write_warm_ms": 4679,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "delta:z-order",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1433_vacuum_evolve_partition",
      "num": 1433,
      "name": "vacuum_evolve_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1433_vacuum_evolve_partition.py",
      "read_script": "generator/df-reads-spark/1433_vacuum_evolve_partition.sql",
      "description": "Partitioned by region. INSERT 100. ALTER ADD COLUMN extra INT. INSERT 100 with extra. OPTIMIZE. VACUUM RETAIN 0 HOURS. Final: 200 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 15860,
      "write_warm_ms": 16454,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "delta:vacuum",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1434_restore_evolve_partition",
      "num": 1434,
      "name": "restore_evolve_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1434_restore_evolve_partition.py",
      "read_script": "generator/df-reads-spark/1434_restore_evolve_partition.sql",
      "description": "Partitioned by region. V0: INSERT 60 rows. V1: ALTER ADD COLUMN extra INT.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8244,
      "write_warm_ms": 7067,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:time-travel",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1435_zorder_checkpoint",
      "num": 1435,
      "name": "zorder_checkpoint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1435_zorder_checkpoint.py",
      "read_script": "generator/df-reads-spark/1435_zorder_checkpoint.sql",
      "description": "11 INSERT batches of 10 rows each (triggers checkpoint at commit 10). OPTIMIZE ZORDER BY (score). Final: 110 rows.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 18055,
      "write_warm_ms": 16778,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1436_vacuum_checkpoint",
      "num": 1436,
      "name": "vacuum_checkpoint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1436_vacuum_checkpoint.py",
      "read_script": "generator/df-reads-spark/1436_vacuum_checkpoint.sql",
      "description": "11 INSERT batches of 10 rows each (triggers checkpoint at commit 10). OPTIMIZE. VACUUM RETAIN 0 HOURS. Final: 110 rows.",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 27049,
      "write_warm_ms": 28309,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1437_restore_checkpoint",
      "num": 1437,
      "name": "restore_checkpoint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1437_restore_checkpoint.py",
      "read_script": "generator/df-reads-spark/1437_restore_checkpoint.sql",
      "description": "11 INSERT batches of 10 rows each (V0-V10). Checkpoint at V10. RESTORE TO VERSION AS OF 5. Final: 60 rows (6 batches worth).",
      "status": "pass",
      "duration_ms": 20,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 20,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 20104,
      "write_warm_ms": 19533,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1438_zorder_stats",
      "num": 1438,
      "name": "zorder_stats",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1438_zorder_stats.py",
      "read_script": "generator/df-reads-spark/1438_zorder_stats.sql",
      "description": "5 batches of 100 non-overlapping score ranges. OPTIMIZE ZORDER BY (score). WHERE score BETWEEN 40 AND 59 should return 100 rows. Final: 500 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8594,
      "write_warm_ms": 8663,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1439_vacuum_stats",
      "num": 1439,
      "name": "vacuum_stats",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1439_vacuum_stats.py",
      "read_script": "generator/df-reads-spark/1439_vacuum_stats.sql",
      "description": "4 batches of 50. OPTIMIZE. VACUUM RETAIN 0 HOURS. Predicate pushdown works after VACUUM. Final: 200 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 18275,
      "write_warm_ms": 17522,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/143_column_mapping_interop",
      "num": 143,
      "name": "column_mapping_interop",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/143_column_mapping_interop.py",
      "read_script": "generator/df-reads-spark/143_column_mapping_interop.sql",
      "description": "600 rows (500 initial with extra_info + 100 extra with extra_info=NULL)",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 983,
      "write_warm_ms": 1075
    },
    {
      "id": "spark-writes/delta/1440_restore_time_travel",
      "num": 1440,
      "name": "restore_time_travel",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1440_restore_time_travel.py",
      "read_script": "generator/df-reads-spark/1440_restore_time_travel.sql",
      "description": "V1 can be time-traveled to see updated data.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7946,
      "write_warm_ms": 7088,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1441_zorder_cdc_colmap_partition",
      "num": 1441,
      "name": "zorder_cdc_colmap_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1441_zorder_cdc_colmap_partition.py",
      "read_script": "generator/df-reads-spark/1441_zorder_cdc_colmap_partition.sql",
      "description": "CDC, colmap=name, partitioned by region. INSERT 180 in 3 batches. OPTIMIZE ZORDER BY (score). Final: 180 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6483,
      "write_warm_ms": 6129,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1442_vacuum_cdc_colmap_partition",
      "num": 1442,
      "name": "vacuum_cdc_colmap_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1442_vacuum_cdc_colmap_partition.py",
      "read_script": "generator/df-reads-spark/1442_vacuum_cdc_colmap_partition.sql",
      "description": "CDC, colmap=name, partitioned by region. INSERT 180 in 3 batches. OPTIMIZE. VACUUM RETAIN 0 HOURS. Final: 180 rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 14558,
      "write_warm_ms": 14529,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1443_restore_cdc_colmap",
      "num": 1443,
      "name": "restore_cdc_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1443_restore_cdc_colmap.py",
      "read_script": "generator/df-reads-spark/1443_restore_cdc_colmap.sql",
      "description": "CDC, colmap=name. V0: INSERT 100 rows. V1: UPDATE all scores.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7792,
      "write_warm_ms": 7306,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1444_zorder_then_update_delete",
      "num": 1444,
      "name": "zorder_then_update_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1444_zorder_then_update_delete.py",
      "read_script": "generator/df-reads-spark/1444_zorder_then_update_delete.sql",
      "description": "INSERT 200 in 4 batches. OPTIMIZE ZORDER BY (score). UPDATE WHERE id<=50 (tag='updated'). DELETE WHERE score<10.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8806,
      "write_warm_ms": 8660,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1445_vacuum_then_merge",
      "num": 1445,
      "name": "vacuum_then_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1445_vacuum_then_merge.py",
      "read_script": "generator/df-reads-spark/1445_vacuum_then_merge.sql",
      "description": "INSERT 200 in 4 batches. OPTIMIZE. VACUUM RETAIN 0 HOURS. MERGE from 220-row CTE (matched update + unmatched insert).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 16379,
      "write_warm_ms": 15470,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1446_restore_then_merge",
      "num": 1446,
      "name": "restore_then_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1446_restore_then_merge.py",
      "read_script": "generator/df-reads-spark/1446_restore_then_merge.sql",
      "description": "120 rows (ids 1-100 matched + ids 101-120 inserted)",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 10596,
      "write_warm_ms": 10956,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1447_zorder_vacuum_restore_lifecycle",
      "num": 1447,
      "name": "zorder_vacuum_restore_lifecycle",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1447_zorder_vacuum_restore_lifecycle.py",
      "read_script": "generator/df-reads-spark/1447_zorder_vacuum_restore_lifecycle.sql",
      "description": "INSERT 200 in 4 batches. OPTIMIZE ZORDER BY (score). UPDATE 50 rows. OPTIMIZE (plain). VACUUM RETAIN 0 HOURS. INSERT 50 more. Final: 250 rows.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 18692,
      "write_warm_ms": 18596,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:time-travel",
        "delta:vacuum",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1448_zorder_all_features",
      "num": 1448,
      "name": "zorder_all_features",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1448_zorder_all_features.py",
      "read_script": "generator/df-reads-spark/1448_zorder_all_features.sql",
      "description": "CDC, colmap=name, partitioned by region. INSERT 180 in 3 batches. ADD CONSTRAINT score>=0. ALTER ADD COLUMN extra STRING. INSERT 60 more in 2 batches with extra. OPTIMIZE ZORDER BY (score).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7527,
      "write_warm_ms": 7248,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "delta:z-order",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1449_vacuum_all_features",
      "num": 1449,
      "name": "vacuum_all_features",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1449_vacuum_all_features.py",
      "read_script": "generator/df-reads-spark/1449_vacuum_all_features.sql",
      "description": "CDC, colmap=name, partitioned by region. INSERT 180 in 3 batches. ADD CONSTRAINT score>=0. ALTER ADD COLUMN extra STRING. INSERT 60 more in 2 batches with extra. OPTIMIZE. VACUUM RETAIN 0 HOURS.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 15033,
      "write_warm_ms": 16247,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "delta:vacuum",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/144_concurrent_writes_interop",
      "num": 144,
      "name": "concurrent_writes_interop",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/144_concurrent_writes_interop.py",
      "read_script": "generator/df-reads-spark/144_concurrent_writes_interop.sql",
      "description": "Initial (batch_0): 100 rows (IDs 1-100, source=\"spark-init\", value=i*1, write_time=NULL).",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "robust:concurrent-writes",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 2818,
      "write_warm_ms": 2852
    },
    {
      "id": "spark-writes/delta/1450_zorder_vacuum_restore_ultimate",
      "num": 1450,
      "name": "zorder_vacuum_restore_ultimate",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1450_zorder_vacuum_restore_ultimate.py",
      "read_script": "generator/df-reads-spark/1450_zorder_vacuum_restore_ultimate.sql",
      "description": "partitioned by region. 3 insert batches (180 rows), ADD CONSTRAINT, ALTER ADD COLUMN, 2 more inserts, OPTIMIZE ZORDER, UPDATE, OPTIMIZE, VACUUM, final INSERT.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 22251,
      "write_warm_ms": 21766,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "delta:time-travel",
        "delta:vacuum",
        "delta:z-order",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1451_partition_by_decimal",
      "num": 1451,
      "name": "partition_by_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1451_partition_by_decimal.py",
      "read_script": "generator/df-reads-spark/1451_partition_by_decimal.sql",
      "description": "DECIMAL(5,2) partition key. 4 partitions: 10.00, 25.50, 99.99, 150.00. INSERT 100 rows. UPDATE value*10 for tier=10.00. DELETE some from tier=150.00.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3686,
      "write_warm_ms": 3306,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1452_partition_by_decimal_negative",
      "num": 1452,
      "name": "partition_by_decimal_negative",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1452_partition_by_decimal_negative.py",
      "read_script": "generator/df-reads-spark/1452_partition_by_decimal_negative.sql",
      "description": "DECIMAL(8,2) partition key with negative values. 3 partitions: -100.00, 0.00, 500.00. INSERT 120 rows. UPDATE +100 for -100.00 tier. DELETE from 0.00 and 500.00 tiers.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4804,
      "write_warm_ms": 4698,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1453_partition_by_decimal_merge",
      "num": 1453,
      "name": "partition_by_decimal_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1453_partition_by_decimal_merge.py",
      "read_script": "generator/df-reads-spark/1453_partition_by_decimal_merge.sql",
      "description": "MERGE across DECIMAL(5,2) partitions. INSERT 80 base rows (id 1-80).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2835,
      "write_warm_ms": 3211,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1454_partition_by_decimal_cdc",
      "num": 1454,
      "name": "partition_by_decimal_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1454_partition_by_decimal_cdc.py",
      "read_script": "generator/df-reads-spark/1454_partition_by_decimal_cdc.sql",
      "description": "DECIMAL(5,2) partition key + CDC. INSERT 100 rows across 4 tiers. UPDATE score+500 for tier=25.50. DELETE some from tier=150.00.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3704,
      "write_warm_ms": 3384,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1455_partition_by_date",
      "num": 1455,
      "name": "partition_by_date",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1455_partition_by_date.py",
      "read_script": "generator/df-reads-spark/1455_partition_by_date.sql",
      "description": "DATE partition key. 4 DATE partitions 30 days apart. INSERT 120 rows. UPDATE score*2 for first date. DELETE some from second date.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3442,
      "write_warm_ms": 3318,
      "tags": [
        "type:date",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1456_partition_by_date_merge",
      "num": 1456,
      "name": "partition_by_date_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1456_partition_by_date_merge.py",
      "read_script": "generator/df-reads-spark/1456_partition_by_date_merge.sql",
      "description": "MERGE across DATE partitions. INSERT 80 base rows (id 1-80).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3193,
      "write_warm_ms": 3246,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1457_partition_by_date_cdc",
      "num": 1457,
      "name": "partition_by_date_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1457_partition_by_date_cdc.py",
      "read_script": "generator/df-reads-spark/1457_partition_by_date_cdc.sql",
      "description": "DATE partition key + CDC. INSERT 100 rows. UPDATE score+1000 for first date. DELETE some from fourth date.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3819,
      "write_warm_ms": 3377,
      "tags": [
        "type:date",
        "type:integer",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1458_partition_by_date_evolve",
      "num": 1458,
      "name": "partition_by_date_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1458_partition_by_date_evolve.py",
      "read_script": "generator/df-reads-spark/1458_partition_by_date_evolve.sql",
      "description": "DATE partition key + schema evolution. INSERT 60 rows, ALTER ADD COLUMN extra INT, INSERT 60 more with extra populated. First 60 have extra=NULL.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2135,
      "write_warm_ms": 2181,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1459_partition_by_timestamp_string",
      "num": 1459,
      "name": "partition_by_timestamp_string",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1459_partition_by_timestamp_string.py",
      "read_script": "generator/df-reads-spark/1459_partition_by_timestamp_string.sql",
      "description": "STRING partition key for hourly timestamp buckets. 4 partitions. INSERT 120 rows. UPDATE value+100 for midnight partition. DELETE some from evening.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3850,
      "write_warm_ms": 3360,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/145_cdf_write",
      "num": 145,
      "name": "cdf_write",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/145_cdf_write.py",
      "read_script": "generator/df-reads-spark/145_cdf_write.sql",
      "description": "CDF write interoperability test. Creates table with CDF + deletion vectors enabled. INSERT 200 products with deterministic formulas, then UPDATE price for electronics (+10%).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 1727,
      "write_warm_ms": 1474
    },
    {
      "id": "spark-writes/delta/1460_partition_by_date_dml",
      "num": 1460,
      "name": "partition_by_date_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1460_partition_by_date_dml.py",
      "read_script": "generator/df-reads-spark/1460_partition_by_date_dml.sql",
      "description": "DATE partition key with targeted DML per partition. INSERT 100 rows across 4 dates. UPDATE score*2 for 2023-12-22. DELETE low-score rows from 2024-01-21.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2066,
      "write_warm_ms": 2035,
      "tags": [
        "type:date",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1461_partition_by_decimal_constraint",
      "num": 1461,
      "name": "partition_by_decimal_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1461_partition_by_decimal_constraint.py",
      "read_script": "generator/df-reads-spark/1461_partition_by_decimal_constraint.sql",
      "description": "DECIMAL(5,2) partition key + CHECK constraint (score >= 0). INSERT 100 rows. ADD CONSTRAINT. UPDATE score+50 for tier=10.00. DELETE some from tier=99.99.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4261,
      "write_warm_ms": 4252,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1462_partition_by_decimal_colmap",
      "num": 1462,
      "name": "partition_by_decimal_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1462_partition_by_decimal_colmap.py",
      "read_script": "generator/df-reads-spark/1462_partition_by_decimal_colmap.sql",
      "description": "DECIMAL(5,2) partition key + column mapping (name mode). INSERT 100 rows. UPDATE value+200 for tier=25.50. DELETE half of tier=150.00.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3270,
      "write_warm_ms": 3236,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1463_partition_by_date_colmap",
      "num": 1463,
      "name": "partition_by_date_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1463_partition_by_date_colmap.py",
      "read_script": "generator/df-reads-spark/1463_partition_by_date_colmap.sql",
      "description": "DATE partition key + column mapping (name mode). INSERT 100 rows. UPDATE score*3 for first date. DELETE some from third date.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3443,
      "write_warm_ms": 3557,
      "tags": [
        "type:date",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1464_partition_by_decimal_optimize",
      "num": 1464,
      "name": "partition_by_decimal_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1464_partition_by_decimal_optimize.py",
      "read_script": "generator/df-reads-spark/1464_partition_by_decimal_optimize.sql",
      "description": "DECIMAL(5,2) partition key + OPTIMIZE compaction. INSERT 200 rows in 4 batches of 50. OPTIMIZE. DELETE some from tier=99.99.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7675,
      "write_warm_ms": 7253,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1465_partition_by_date_nmbys",
      "num": 1465,
      "name": "partition_by_date_nmbys",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1465_partition_by_date_nmbys.py",
      "read_script": "generator/df-reads-spark/1465_partition_by_date_nmbys.sql",
      "description": "DATE partition key + MERGE with NOT MATCHED BY SOURCE DELETE. INSERT 100 rows (id 1-100). MERGE from source (id 1-60): matched rows update, unmatched target rows (61-100) are deleted.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3488,
      "write_warm_ms": 3682,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1466_update_coalesce",
      "num": 1466,
      "name": "update_coalesce",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1466_update_coalesce.py",
      "read_script": "generator/df-reads-spark/1466_update_coalesce.sql",
      "description": "UPDATE SET using COALESCE to replace NULLs with backup values. INSERT 100 rows (score=NULL for i%3=0). UPDATE score=COALESCE(score, backup_score).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3151,
      "write_warm_ms": 2682,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1467_update_nullif",
      "num": 1467,
      "name": "update_nullif",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1467_update_nullif.py",
      "read_script": "generator/df-reads-spark/1467_update_nullif.sql",
      "description": "UPDATE SET using NULLIF to replace sentinel value 0 with NULL. INSERT 100 rows with score=(i*53)%100. UPDATE score=NULLIF(score, 0).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2771,
      "write_warm_ms": 2829,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1468_update_abs",
      "num": 1468,
      "name": "update_abs",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1468_update_abs.py",
      "read_script": "generator/df-reads-spark/1468_update_abs.sql",
      "description": "UPDATE SET using ABS to convert negative values to positive. INSERT 200 rows with value=(i-100)*5 (range -495 to +495) and amount=ROUND((i-100)*2.5, 1).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2861,
      "write_warm_ms": 2753,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1469_update_floor_ceil",
      "num": 1469,
      "name": "update_floor_ceil",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1469_update_floor_ceil.py",
      "read_script": "generator/df-reads-spark/1469_update_floor_ceil.sql",
      "description": "UPDATE SET using FLOOR and CEIL on DOUBLE values. INSERT 100 rows with raw=ROUND(i*3.14159, 5), floored=0, ceiled=0.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2724,
      "write_warm_ms": 2745,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/146_cdf_write_interop",
      "num": 146,
      "name": "cdf_write_interop",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/146_cdf_write_interop.py",
      "read_script": "generator/df-reads-spark/146_cdf_write_interop.sql",
      "description": "CDF write interoperability test (interop variant - same content as 145). Creates table with CDF + deletion vectors enabled. INSERT 200 products, then UPDATE price for electronics (+10%).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 1496,
      "write_warm_ms": 1679
    },
    {
      "id": "spark-writes/delta/1470_update_greatest_least",
      "num": 1470,
      "name": "update_greatest_least",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1470_update_greatest_least.py",
      "read_script": "generator/df-reads-spark/1470_update_greatest_least.sql",
      "description": "UPDATE SET using GREATEST and LEAST across multiple columns. INSERT 100 rows with a,b,c. UPDATE max_val=GREATEST(a,b,c), min_val=LEAST(a,b,c).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2957,
      "write_warm_ms": 2717,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1471_update_length",
      "num": 1471,
      "name": "update_length",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1471_update_length.py",
      "read_script": "generator/df-reads-spark/1471_update_length.sql",
      "description": "UPDATE SET using LENGTH of a STRING column. INSERT 100 rows with name='item_N', name_len=0.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2815,
      "write_warm_ms": 2699,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1472_update_substring",
      "num": 1472,
      "name": "update_substring",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1472_update_substring.py",
      "read_script": "generator/df-reads-spark/1472_update_substring.sql",
      "description": "UPDATE SET using SUBSTRING to extract parts of a string. INSERT 100 rows with full_code='ABC{1000+i}XYZ', prefix='', suffix=''.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2884,
      "write_warm_ms": 2719,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1473_update_replace",
      "num": 1473,
      "name": "update_replace",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1473_update_replace.py",
      "read_script": "generator/df-reads-spark/1473_update_replace.sql",
      "description": "UPDATE SET using REPLACE to substitute characters in strings. INSERT 100 rows with text='hello_{i}_world', cleaned=''.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2861,
      "write_warm_ms": 2776,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1474_update_trim",
      "num": 1474,
      "name": "update_trim",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1474_update_trim.py",
      "read_script": "generator/df-reads-spark/1474_update_trim.sql",
      "description": "UPDATE SET using TRIM to remove leading/trailing whitespace. INSERT 100 rows with raw_name=' item_{i} ', trimmed=''.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2792,
      "write_warm_ms": 2690,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1475_update_concat_cast_combo",
      "num": 1475,
      "name": "update_concat_cast_combo",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1475_update_concat_cast_combo.py",
      "read_script": "generator/df-reads-spark/1475_update_concat_cast_combo.sql",
      "description": "UPDATE SET using combined CONCAT + CAST + ROUND to build a label string. INSERT 100 rows with quantity=(i*7)%20+1, price=ROUND(i*9.99/10.0, 2), label=''.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2889,
      "write_warm_ms": 2804,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1476_delete_where_coalesce",
      "num": 1476,
      "name": "delete_where_coalesce",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1476_delete_where_coalesce.py",
      "read_script": "generator/df-reads-spark/1476_delete_where_coalesce.sql",
      "description": "DELETE WHERE COALESCE(nullable_col, default) > threshold. INSERT 100 rows (score=NULL for i%5=0). DELETE WHERE COALESCE(score, 0) < 20.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3108,
      "write_warm_ms": 2996,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1477_delete_where_abs",
      "num": 1477,
      "name": "delete_where_abs",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1477_delete_where_abs.py",
      "read_script": "generator/df-reads-spark/1477_delete_where_abs.sql",
      "description": "DELETE WHERE ABS(value) > threshold. INSERT 200 rows with value=(i-100)*5. DELETE WHERE ABS(value) > 400.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2948,
      "write_warm_ms": 2844,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1478_delete_where_length",
      "num": 1478,
      "name": "delete_where_length",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1478_delete_where_length.py",
      "read_script": "generator/df-reads-spark/1478_delete_where_length.sql",
      "description": "DELETE WHERE LENGTH(name) > N. INSERT 100 rows with name='item_{i}'. DELETE WHERE LENGTH(name) > 7. Only 'item_100' (8 chars) gets deleted.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2863,
      "write_warm_ms": 2967,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1479_merge_coalesce",
      "num": 1479,
      "name": "merge_coalesce",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1479_merge_coalesce.py",
      "read_script": "generator/df-reads-spark/1479_merge_coalesce.sql",
      "description": "MERGE with COALESCE in UPDATE SET to fill NULLs from source. INSERT 100 rows (score=NULL for i%4=0). MERGE: UPDATE score=COALESCE(target.score, source.score).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4194,
      "write_warm_ms": 3540,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/147_cdf_read",
      "num": 147,
      "name": "cdf_read",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/147_cdf_read.py",
      "read_script": "generator/df-reads-spark/147_cdf_read.sql",
      "description": "CDF read interoperability test. Creates table with CDF enabled. INSERT 100 accounts, UPDATE balance for savings (+100), UPDATE status for id%10=0, DELETE where id%25=0 (4 rows: 25,50,75,100).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 3091,
      "write_warm_ms": 2797
    },
    {
      "id": "spark-writes/delta/1480_merge_nullif",
      "num": 1480,
      "name": "merge_nullif",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1480_merge_nullif.py",
      "read_script": "generator/df-reads-spark/1480_merge_nullif.sql",
      "description": "MERGE with NULLIF in UPDATE SET. Convert 0 scores to NULL during MERGE. INSERT 100 rows. MERGE: UPDATE score=NULLIF(source.score, 0), tag='merged'.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3685,
      "write_warm_ms": 3687,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1481_merge_greatest_least",
      "num": 1481,
      "name": "merge_greatest_least",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1481_merge_greatest_least.py",
      "read_script": "generator/df-reads-spark/1481_merge_greatest_least.sql",
      "description": "MERGE using GREATEST to keep the max value between source and target. INSERT 100 rows. MERGE: UPDATE score=GREATEST(target.score, source.score).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3598,
      "write_warm_ms": 3460,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1482_merge_abs_floor",
      "num": 1482,
      "name": "merge_abs_floor",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1482_merge_abs_floor.py",
      "read_script": "generator/df-reads-spark/1482_merge_abs_floor.sql",
      "description": "MERGE with ABS and FLOOR in UPDATE SET. INSERT 100 rows with raw=ROUND((i-50)*3.14, 2). MERGE: UPDATE processed=FLOOR(ABS(raw)), status='computed'.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3442,
      "write_warm_ms": 3212,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1483_update_coalesce_decimal",
      "num": 1483,
      "name": "update_coalesce_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1483_update_coalesce_decimal.py",
      "read_script": "generator/df-reads-spark/1483_update_coalesce_decimal.sql",
      "description": "UPDATE with COALESCE on DECIMAL column. Tests COALESCE preserves DECIMAL precision. INSERT 100 rows (amount=NULL for i%3=0). UPDATE: SET amount=COALESCE(amount, default_amount).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2714,
      "write_warm_ms": 2651,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1484_update_coalesce_timestamp",
      "num": 1484,
      "name": "update_coalesce_timestamp",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1484_update_coalesce_timestamp.py",
      "read_script": "generator/df-reads-spark/1484_update_coalesce_timestamp.sql",
      "description": "UPDATE with COALESCE on TIMESTAMP column. INSERT 100 rows (event_ts=NULL for i%4=0). UPDATE: SET event_ts=COALESCE(event_ts, default_ts).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2607,
      "write_warm_ms": 2962,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1485_update_case_nested",
      "num": 1485,
      "name": "update_case_nested",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1485_update_case_nested.py",
      "read_script": "generator/df-reads-spark/1485_update_case_nested.sql",
      "description": "UPDATE with nested CASE expressions. Assigns 5 tiers based on score ranges. INSERT 200 rows. UPDATE: tier = nested CASE (platinum/gold/silver/bronze/basic).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2951,
      "write_warm_ms": 2758,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "scale:nested-types",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1486_struct_three_level",
      "num": 1486,
      "name": "struct_three_level",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1486_struct_three_level.py",
      "read_script": "generator/df-reads-spark/1486_struct_three_level.sql",
      "description": "2-level nested STRUCT through DML operations. INSERT 50 rows. UPDATE value*2 WHERE id<=25. DELETE WHERE id%7=0.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4568,
      "write_warm_ms": 4242,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:nested-types",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1487_struct_three_level_merge",
      "num": 1487,
      "name": "struct_three_level_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1487_struct_three_level_merge.py",
      "read_script": "generator/df-reads-spark/1487_struct_three_level_merge.sql",
      "description": "2-level nested STRUCT + MERGE. INSERT 50 rows. MERGE from 60-row CTE: matched (1-50) update value+100, not-matched (51-60) insert.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3662,
      "write_warm_ms": 3738,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "scale:nested-types",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1488_struct_three_level_cdc",
      "num": 1488,
      "name": "struct_three_level_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1488_struct_three_level_cdc.py",
      "read_script": "generator/df-reads-spark/1488_struct_three_level_cdc.sql",
      "description": "2-level nested STRUCT + CDC. INSERT 50 rows. UPDATE value*3 WHERE id<=20. DELETE WHERE id>40. CDF captures struct in pre/post images.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4205,
      "write_warm_ms": 4057,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "scale:nested-types",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1489_struct_with_decimal",
      "num": 1489,
      "name": "struct_with_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1489_struct_with_decimal.py",
      "read_script": "generator/df-reads-spark/1489_struct_with_decimal.sql",
      "description": "STRUCT containing INT field through DML. INSERT 100 rows. UPDATE value+10.5 WHERE id<=50. DELETE WHERE id%7=0.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4692,
      "write_warm_ms": 4358,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/148_cdf_read_interop",
      "num": 148,
      "name": "cdf_read_interop",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/148_cdf_read_interop.py",
      "read_script": "generator/df-reads-spark/148_cdf_read_interop.sql",
      "description": "CDF read interoperability test (interop variant - same as 147). INSERT 100 accounts, UPDATE balance for savings (+100), UPDATE status for id%10=0, DELETE where id%25=0 (4 rows).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 2858,
      "write_warm_ms": 2736
    },
    {
      "id": "spark-writes/delta/1490_struct_array_field",
      "num": 1490,
      "name": "struct_array_field",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1490_struct_array_field.py",
      "read_script": "generator/df-reads-spark/1490_struct_array_field.sql",
      "description": "STRUCT preservation through complex DML chain: INSERT, UPDATE, DELETE, then MERGE. INSERT 80 rows. UPDATE tag='updated' WHERE score>50. DELETE WHERE score<10.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6763,
      "write_warm_ms": 6387,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1491_map_insert_basic",
      "num": 1491,
      "name": "map_insert_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1491_map_insert_basic.py",
      "read_script": "generator/df-reads-spark/1491_map_insert_basic.sql",
      "description": "Simulated MAP data as STRING column through DML chain. INSERT 100 rows. UPDATE tag='high' WHERE score>70. DELETE WHERE score<15.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4183,
      "write_warm_ms": 4266,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1492_binary_insert",
      "num": 1492,
      "name": "binary_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1492_binary_insert.py",
      "read_script": "generator/df-reads-spark/1492_binary_insert.sql",
      "description": "INSERT with BINARY data via string-to-bytes encoding. INSERT 100 rows. data stores the UTF-8 bytes of the row number as a string.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1510,
      "write_warm_ms": 1399,
      "tags": [
        "type:binary",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1493_binary_update",
      "num": 1493,
      "name": "binary_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1493_binary_update.py",
      "read_script": "generator/df-reads-spark/1493_binary_update.sql",
      "description": "UPDATE on table with BINARY column. BINARY payload preserved during scalar UPDATE. INSERT 100 rows. UPDATE tag='updated', score=score+100 WHERE id<=50.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3000,
      "write_warm_ms": 2882,
      "tags": [
        "type:binary",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1494_binary_delete",
      "num": 1494,
      "name": "binary_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1494_binary_delete.py",
      "read_script": "generator/df-reads-spark/1494_binary_delete.sql",
      "description": "DELETE from table with BINARY column. BINARY data preserved on surviving rows. INSERT 100 rows. DELETE WHERE id%3=0 (removes 33 rows).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3246,
      "write_warm_ms": 3154,
      "tags": [
        "type:binary",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1495_binary_merge",
      "num": 1495,
      "name": "binary_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1495_binary_merge.py",
      "read_script": "generator/df-reads-spark/1495_binary_merge.sql",
      "description": "MERGE on table with BINARY column. BINARY preserved through matched update and not-matched insert. INSERT 80 rows. MERGE from 100-row CTE: matched (1-80) update tag='merged', unmatched (81-100) insert.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3392,
      "write_warm_ms": 3189,
      "tags": [
        "type:binary",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1496_binary_cdc",
      "num": 1496,
      "name": "binary_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1496_binary_cdc.py",
      "read_script": "generator/df-reads-spark/1496_binary_cdc.sql",
      "description": "BINARY column + CDC. CDF correctly captures BINARY data in pre/post images. INSERT 100 rows. UPDATE tag='updated' WHERE id<=30. DELETE WHERE id>80.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4310,
      "write_warm_ms": 4161,
      "tags": [
        "type:binary",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1497_float_update",
      "num": 1497,
      "name": "float_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1497_float_update.py",
      "read_script": "generator/df-reads-spark/1497_float_update.sql",
      "description": "FLOAT (32-bit) column through UPDATE. Tests FLOAT precision not promoted to DOUBLE. INSERT 100 rows. UPDATE result=CAST(val*2 AS FLOAT), tag='computed'.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2777,
      "write_warm_ms": 2919,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1498_float_merge",
      "num": 1498,
      "name": "float_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1498_float_merge.py",
      "read_script": "generator/df-reads-spark/1498_float_merge.sql",
      "description": "FLOAT (32-bit) column through MERGE. Tests FLOAT preservation in matched update and insert. INSERT 80 rows. MERGE from 100-row CTE: matched update measurement+=, unmatched insert.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3603,
      "write_warm_ms": 3570,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1499_smallint_tinyint_dml",
      "num": 1499,
      "name": "smallint_tinyint_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1499_smallint_tinyint_dml.py",
      "read_script": "generator/df-reads-spark/1499_smallint_tinyint_dml.sql",
      "description": "INSERT 100 rows. UPDATE narrow types for id<=50. DELETE high small_val.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7133,
      "write_warm_ms": 6947,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/149_identity_column",
      "num": 149,
      "name": "identity_column",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/149_identity_column.py",
      "read_script": "generator/df-reads-spark/149_identity_column.sql",
      "description": "IDENTITY column test. Since Spark OSS doesn't support IDENTITY columns, auto_id is computed inline. Column mapping mode enabled. INSERT 50 events with deterministic formulas.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:column-mapping",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 530,
      "write_warm_ms": 544
    },
    {
      "id": "spark-writes/delta/14_action_format_specification_parquet",
      "num": 14,
      "name": "action_format_specification_parquet",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/14_action_format_specification_parquet.py",
      "read_script": "generator/df-reads-spark/14_action_format_specification_parquet.sql",
      "description": "Large product catalog with 25,000 rows and complex computed columns. Tests Parquet format action specification with many column types.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 1306,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1500_smallint_partition",
      "num": 1500,
      "name": "smallint_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1500_smallint_partition.py",
      "read_script": "generator/df-reads-spark/1500_smallint_partition.sql",
      "description": "SMALLINT column in a table partitioned by STRING region. 3 partitions: US, EU, AP. INSERT 120 rows (40 per region). UPDATE score+500 for US. DELETE some AP rows.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5948,
      "write_warm_ms": 5958,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1501_merge_coalesce_decimal",
      "num": 1501,
      "name": "merge_coalesce_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1501_merge_coalesce_decimal.py",
      "read_script": "generator/df-reads-spark/1501_merge_coalesce_decimal.sql",
      "description": "MERGE with COALESCE on DECIMAL column. Fill NULL DECIMALs from source when target has NULLs. INSERT 100 rows (amount=NULL for i%4=0). MERGE: UPDATE amount=COALESCE(target.amount, source.amount).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "write_cold_ms": 9081,
      "write_warm_ms": 7442,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1502_merge_coalesce_timestamp",
      "num": 1502,
      "name": "merge_coalesce_timestamp",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1502_merge_coalesce_timestamp.py",
      "read_script": "generator/df-reads-spark/1502_merge_coalesce_timestamp.sql",
      "description": "MERGE with COALESCE on TIMESTAMP column. Fill NULL timestamps from source. INSERT 100 rows (event_ts=NULL for i%5=0). MERGE: UPDATE event_ts=COALESCE(target, source).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "write_cold_ms": 0,
      "write_warm_ms": 2713,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1503_merge_nullif_decimal",
      "num": 1503,
      "name": "merge_nullif_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1503_merge_nullif_decimal.py",
      "read_script": "generator/df-reads-spark/1503_merge_nullif_decimal.sql",
      "description": "MERGE with NULLIF on DECIMAL column. Convert sentinel 0.00 to NULL during MERGE. INSERT 100 rows (amount=0.00 for i%6=0). MERGE: UPDATE amount=NULLIF(target.amount, 0.00).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 7320,
      "write_warm_ms": 5988,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1504_merge_coalesce_multi_col",
      "num": 1504,
      "name": "merge_coalesce_multi_col",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1504_merge_coalesce_multi_col.py",
      "read_script": "generator/df-reads-spark/1504_merge_coalesce_multi_col.sql",
      "description": "MERGE with COALESCE across 3 different typed columns simultaneously. score NULL for i%3=0, amount NULL for i%4=0, name NULL for i%5=0. MERGE fills all NULLs from source.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "write_cold_ms": 6249,
      "write_warm_ms": 6915,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1505_merge_coalesce_nmbys",
      "num": 1505,
      "name": "merge_coalesce_nmbys",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1505_merge_coalesce_nmbys.py",
      "read_script": "generator/df-reads-spark/1505_merge_coalesce_nmbys.sql",
      "description": "MERGE with COALESCE in NOT MATCHED BY SOURCE clause. Synced rows matched, orphan rows (61-100) get COALESCE-filled amount. INSERT 100 rows (amount NULL for i%7=0). MERGE from 60-row source.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 6534,
      "write_warm_ms": 7263,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1506_delete_where_coalesce_decimal",
      "num": 1506,
      "name": "delete_where_coalesce_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1506_delete_where_coalesce_decimal.py",
      "read_script": "generator/df-reads-spark/1506_delete_where_coalesce_decimal.sql",
      "description": "DELETE WHERE COALESCE(amount, 0) < 100. DECIMAL + COALESCE in predicate. INSERT 100 rows (amount NULL for i%3=0). DELETE WHERE COALESCE(amount, 0) < 100.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 6217,
      "write_warm_ms": 6024,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1507_update_where_abs_decimal",
      "num": 1507,
      "name": "update_where_abs_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1507_update_where_abs_decimal.py",
      "read_script": "generator/df-reads-spark/1507_update_where_abs_decimal.sql",
      "description": "UPDATE WHERE ABS(CAST(balance AS DOUBLE)) > threshold. DECIMAL in ABS predicate. INSERT 200 rows with balance=(i-100)*5.00. UPDATE status='extreme' WHERE ABS(balance) > 400.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "write_cold_ms": 9546,
      "write_warm_ms": 6168,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1508_delete_where_floor_double",
      "num": 1508,
      "name": "delete_where_floor_double",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1508_delete_where_floor_double.py",
      "read_script": "generator/df-reads-spark/1508_delete_where_floor_double.sql",
      "description": "DELETE WHERE FLOOR(value) > 400. DOUBLE column with FLOOR in delete predicate. INSERT 200 rows with value=i*2.75. DELETE WHERE FLOOR(value) > 400.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 5985,
      "write_warm_ms": 6366,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1509_update_where_length_concat",
      "num": 1509,
      "name": "update_where_length_concat",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1509_update_where_length_concat.py",
      "read_script": "generator/df-reads-spark/1509_update_where_length_concat.sql",
      "description": "UPDATE WHERE LENGTH(CONCAT(first_name, last_name)) > threshold. i%3=0 rows have longer first_name (17 chars total vs 11). UPDATE tag='long_name' for those.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 5851,
      "write_warm_ms": 3961,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/150_check_constraints",
      "num": 150,
      "name": "check_constraints",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/150_check_constraints.py",
      "read_script": "generator/df-reads-spark/150_check_constraints.sql",
      "description": "CHECK constraints test. Table with age, salary (DECIMAL), rating (FLOAT), status constraints. INSERT 50 rows with deterministic formulas satisfying all constraints.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 643,
      "write_warm_ms": 474
    },
    {
      "id": "spark-writes/delta/1510_merge_where_coalesce_predicate",
      "num": 1510,
      "name": "merge_where_coalesce_predicate",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1510_merge_where_coalesce_predicate.py",
      "read_script": "generator/df-reads-spark/1510_merge_where_coalesce_predicate.sql",
      "description": "MERGE with COALESCE in WHEN MATCHED AND condition. score NULL for i%4=0. MERGE branches: COALESCE(score, 0) > 50 -> 'high', else -> 'low'.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 7088,
      "write_warm_ms": 6152,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1511_delete_where_greatest",
      "num": 1511,
      "name": "delete_where_greatest",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1511_delete_where_greatest.py",
      "read_script": "generator/df-reads-spark/1511_delete_where_greatest.sql",
      "description": "DELETE WHERE GREATEST(a, b, c) > threshold. Multi-column GREATEST in delete predicate. INSERT 200 rows. DELETE WHERE GREATEST(a, b, c) > 90.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "write_cold_ms": 5594,
      "write_warm_ms": 6307,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1512_update_where_least",
      "num": 1512,
      "name": "update_where_least",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1512_update_where_least.py",
      "read_script": "generator/df-reads-spark/1512_update_where_least.sql",
      "description": "UPDATE WHERE LEAST(a, b, c) < threshold. Multi-column LEAST in update predicate. INSERT 200 rows. UPDATE tag='low_min' WHERE LEAST(a, b, c) < 10.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 4680,
      "write_warm_ms": 6294,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1513_merge_abs_predicate",
      "num": 1513,
      "name": "merge_abs_predicate",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1513_merge_abs_predicate.py",
      "read_script": "generator/df-reads-spark/1513_merge_abs_predicate.sql",
      "description": "MERGE with ABS in WHEN MATCHED AND condition. DELETE extreme values, keep moderate. INSERT 100 rows with value=(i-50)*10. MERGE: ABS(value) > 300 -> DELETE, else UPDATE tag='kept'.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 6622,
      "write_warm_ms": 7501,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1514_delete_where_coalesce_or",
      "num": 1514,
      "name": "delete_where_coalesce_or",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1514_delete_where_coalesce_or.py",
      "read_script": "generator/df-reads-spark/1514_delete_where_coalesce_or.sql",
      "description": "DELETE with COALESCE + OR compound predicate. Multiple nullable columns with fallback. INSERT 200 rows. DELETE WHERE COALESCE(score, 0) < 10 OR COALESCE(amount, 0) < 50.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "write_cold_ms": 5208,
      "write_warm_ms": 5442,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1515_update_greatest_least_decimal",
      "num": 1515,
      "name": "update_greatest_least_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1515_update_greatest_least_decimal.py",
      "read_script": "generator/df-reads-spark/1515_update_greatest_least_decimal.sql",
      "description": "UPDATE SET using GREATEST/LEAST on DECIMAL columns. INSERT 100 rows with price_a=i*1.10, price_b=(101-i)*1.10.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 4503,
      "write_warm_ms": 4245,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1516_partition_dir_int_values",
      "num": 1516,
      "name": "partition_dir_int_values",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1516_partition_dir_int_values.py",
      "read_script": "generator/df-reads-spark/1516_partition_dir_int_values.sql",
      "description": "Verify INT partition directory encoding. 5 partitions: bucket 0..4. INSERT 100 rows across 5 INT partitions.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "write_cold_ms": 1789,
      "write_warm_ms": 1849,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1517_partition_dir_boolean_values",
      "num": 1517,
      "name": "partition_dir_boolean_values",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1517_partition_dir_boolean_values.py",
      "read_script": "generator/df-reads-spark/1517_partition_dir_boolean_values.sql",
      "description": "Verify BOOLEAN partition directory encoding. 2 partitions: is_active=true, is_active=false. INSERT 100 rows across 2 BOOLEAN partitions.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "write_cold_ms": 1909,
      "write_warm_ms": 1870,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1518_partition_dir_decimal_values",
      "num": 1518,
      "name": "partition_dir_decimal_values",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1518_partition_dir_decimal_values.py",
      "read_script": "generator/df-reads-spark/1518_partition_dir_decimal_values.sql",
      "description": "Verify DECIMAL partition directory encoding. 4 partitions: 10.00, 25.50, 50.75, 99.99. INSERT 80 rows across 4 DECIMAL partitions.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "write_cold_ms": 2078,
      "write_warm_ms": 1931,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1519_partition_dir_null_int",
      "num": 1519,
      "name": "partition_dir_null_int",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1519_partition_dir_null_int.py",
      "read_script": "generator/df-reads-spark/1519_partition_dir_null_int.sql",
      "description": "Verify NULL INT partition directory encoding (__HIVE_DEFAULT_PARTITION__).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "write_cold_ms": 1447,
      "write_warm_ms": 1810,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/151_protocol_block",
      "num": 151,
      "name": "protocol_block",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/151_protocol_block.py",
      "read_script": "generator/df-reads-spark/151_protocol_block.sql",
      "description": "Protocol version blocking test. Deletion vectors + row tracking + column mapping. INSERT 50 records, DELETE rows where id % 10 = 0 (ids 10,20,30,40,50).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 1573,
      "write_warm_ms": 1580
    },
    {
      "id": "spark-writes/delta/1520_partition_dir_special_string",
      "num": 1520,
      "name": "partition_dir_special_string",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1520_partition_dir_special_string.py",
      "read_script": "generator/df-reads-spark/1520_partition_dir_special_string.sql",
      "description": "Verify partition directories with special characters in STRING values. 4 partitions: 'with space', 'with/slash', 'with=equals', 'normal'. INSERT 100 rows.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "write_cold_ms": 1625,
      "write_warm_ms": 2138,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1521_coalesce_cdc_partition",
      "num": 1521,
      "name": "coalesce_cdc_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1521_coalesce_cdc_partition.py",
      "read_script": "generator/df-reads-spark/1521_coalesce_cdc_partition.sql",
      "description": "COALESCE in UPDATE + CDC + partition. 3 partitions: US, EU, APAC. INSERT 120 rows (score=NULL for i%4=0). UPDATE score=COALESCE(score, 0) for US region.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 7361,
      "write_warm_ms": 7835,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1522_functions_constraint",
      "num": 1522,
      "name": "functions_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1522_functions_constraint.py",
      "read_script": "generator/df-reads-spark/1522_functions_constraint.sql",
      "description": "SQL functions + constraint combination. ABS produces values satisfying CHECK constraint. INSERT 100 rows with score=(i-50)*3 (some negative). UPDATE score=ABS(score). ADD CONSTRAINT score >= 0 (after data is clean).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 7491,
      "write_warm_ms": 6247,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1523_functions_colmap",
      "num": 1523,
      "name": "functions_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1523_functions_colmap.py",
      "read_script": "generator/df-reads-spark/1523_functions_colmap.sql",
      "description": "SQL functions + column mapping (mode=name). ABS and TRIM use logical column names. INSERT 100 rows with negative scores and padded names. UPDATE score=ABS(score), name=TRIM(name).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 5641,
      "write_warm_ms": 4424,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1524_functions_evolve",
      "num": 1524,
      "name": "functions_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1524_functions_evolve.py",
      "read_script": "generator/df-reads-spark/1524_functions_evolve.sql",
      "description": "SQL functions on evolved (newly added) column. INSERT 50 rows, ALTER ADD COLUMN extra INT, INSERT 50 more with extra populated, UPDATE extra=COALESCE(extra, 0) for pre-evolution NULLs.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 5642,
      "write_warm_ms": 5063,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1525_binary_struct_combo",
      "num": 1525,
      "name": "binary_struct_combo",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1525_binary_struct_combo.py",
      "read_script": "generator/df-reads-spark/1525_binary_struct_combo.sql",
      "description": "BINARY + STRUCT in same table. INSERT 50 rows. UPDATE tag='updated' WHERE id<=25. DELETE WHERE id%7=0. Removes 7 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 8015,
      "write_warm_ms": 7932,
      "tags": [
        "type:binary",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1526_coalesce_merge_cdc",
      "num": 1526,
      "name": "coalesce_merge_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1526_coalesce_merge_cdc.py",
      "read_script": "generator/df-reads-spark/1526_coalesce_merge_cdc.sql",
      "description": "MERGE with COALESCE + CDC. CDF captures COALESCE-filled values. INSERT 100 rows (score=NULL for i%4=0). MERGE: UPDATE score=COALESCE(target.score, source.score).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 7813,
      "write_warm_ms": 7863,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1527_functions_zorder",
      "num": 1527,
      "name": "functions_zorder",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1527_functions_zorder.py",
      "read_script": "generator/df-reads-spark/1527_functions_zorder.sql",
      "description": "SQL functions in DML then Z-ORDER. ABS and TRIM survive OPTIMIZE with Z-ORDER. INSERT 200 rows in 4 batches. UPDATE score=ABS(score), name=TRIM(name). OPTIMIZE ZORDER BY (score).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 13571,
      "write_warm_ms": 11106,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1528_functions_vacuum",
      "num": 1528,
      "name": "functions_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1528_functions_vacuum.py",
      "read_script": "generator/df-reads-spark/1528_functions_vacuum.sql",
      "description": "SQL functions in DML then VACUUM. ABS-applied values survive OPTIMIZE + VACUUM. INSERT 200 rows in 4 batches. UPDATE score=ABS(score). OPTIMIZE. VACUUM RETAIN 0 HOURS.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 22352,
      "write_warm_ms": 22861,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1529_functions_restore",
      "num": 1529,
      "name": "functions_restore",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1529_functions_restore.py",
      "read_script": "generator/df-reads-spark/1529_functions_restore.sql",
      "description": "SQL functions in DML then RESTORE. Undoes ABS-applied values by restoring to version 1.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "write_cold_ms": 13967,
      "write_warm_ms": 11251,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/152_uniform_iceberg",
      "num": 152,
      "name": "uniform_iceberg",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/152_uniform_iceberg.py",
      "read_script": "generator/df-reads-spark/152_uniform_iceberg.sql",
      "description": "Uniform/Iceberg placeholder test. Uniform requires Unity Catalog so this creates a simple table as a placeholder. INSERT 100 rows with deterministic data.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 544,
      "write_warm_ms": 481
    },
    {
      "id": "spark-writes/delta/1530_decimal_partition_functions",
      "num": 1530,
      "name": "decimal_partition_functions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1530_decimal_partition_functions.py",
      "read_script": "generator/df-reads-spark/1530_decimal_partition_functions.sql",
      "description": "DECIMAL partition + COALESCE function. Tests COALESCE fills NULLs in DECIMAL-partitioned table. INSERT 100 rows across 4 tiers (score=NULL for i%5=0). UPDATE score=COALESCE(score, 0).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "write_cold_ms": 3734,
      "write_warm_ms": 3171,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1531_date_partition_functions",
      "num": 1531,
      "name": "date_partition_functions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1531_date_partition_functions.py",
      "read_script": "generator/df-reads-spark/1531_date_partition_functions.sql",
      "description": "DATE partition + LENGTH/TRIM/ABS functions. SQL functions work correctly on DATE-partitioned table. INSERT 100 rows across 4 dates (name has spaces, score negative for odd i).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "write_cold_ms": 3479,
      "write_warm_ms": 3287,
      "tags": [
        "type:date",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1532_float_cdc",
      "num": 1532,
      "name": "float_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1532_float_cdc.py",
      "read_script": "generator/df-reads-spark/1532_float_cdc.sql",
      "description": "FLOAT + CDC. Tests 32-bit float values in CDF records. INSERT 100 rows. UPDATE val*2 WHERE id<=30. CDF captures FLOAT in change records.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 4886,
      "write_warm_ms": 4227,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1533_float_partition",
      "num": 1533,
      "name": "float_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1533_float_partition.py",
      "read_script": "generator/df-reads-spark/1533_float_partition.sql",
      "description": "FLOAT in partitioned table. Tests FLOAT column preservation through DML on partitioned table. INSERT 120 rows across 3 regions (US, EU, AP). UPDATE score+100 for EU. DELETE some AP rows.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "write_cold_ms": 8260,
      "write_warm_ms": 10120,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1534_tinyint_dml_chain",
      "num": 1534,
      "name": "tinyint_dml_chain",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1534_tinyint_dml_chain.py",
      "read_script": "generator/df-reads-spark/1534_tinyint_dml_chain.sql",
      "description": "TINYINT through INSERT/UPDATE/DELETE chain. Tests TINYINT preservation across DML. INSERT 100 rows. UPDATE val=(val+10)%127 WHERE id<=50. DELETE WHERE val<5.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 6263,
      "write_warm_ms": 5447,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1535_tinyint_merge",
      "num": 1535,
      "name": "tinyint_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1535_tinyint_merge.py",
      "read_script": "generator/df-reads-spark/1535_tinyint_merge.sql",
      "description": "TINYINT through MERGE. Tests TINYINT in matched UPDATE and not-matched INSERT. INSERT 80 rows. MERGE from 100-row CTE: matched update val+name, unmatched (81-100) insert.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "write_cold_ms": 5896,
      "write_warm_ms": 5288,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1536_smallint_merge",
      "num": 1536,
      "name": "smallint_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1536_smallint_merge.py",
      "read_script": "generator/df-reads-spark/1536_smallint_merge.sql",
      "description": "SMALLINT through MERGE. Tests SMALLINT in matched UPDATE and not-matched INSERT. INSERT 80 rows. MERGE from 100-row CTE: matched update val+name, unmatched (81-100) insert.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "write_cold_ms": 5388,
      "write_warm_ms": 4772,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1537_smallint_cdc",
      "num": 1537,
      "name": "smallint_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1537_smallint_cdc.py",
      "read_script": "generator/df-reads-spark/1537_smallint_cdc.sql",
      "description": "SMALLINT + CDC. SMALLINT values correctly captured in CDF records. INSERT 100 rows. UPDATE val=(val+500)%30000 WHERE id<=40. DELETE WHERE id>85.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "write_cold_ms": 8675,
      "write_warm_ms": 7455,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1538_tinyint_partition",
      "num": 1538,
      "name": "tinyint_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1538_tinyint_partition.py",
      "read_script": "generator/df-reads-spark/1538_tinyint_partition.sql",
      "description": "TINYINT in partitioned table. Tests TINYINT preservation through DML on partitioned table. INSERT 120 rows across 3 regions (US, EU, AP). UPDATE score+200 for US. DELETE some AP rows.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "write_cold_ms": 9814,
      "write_warm_ms": 9833,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1539_binary_partition",
      "num": 1539,
      "name": "binary_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1539_binary_partition.py",
      "read_script": "generator/df-reads-spark/1539_binary_partition.sql",
      "description": "BINARY in partitioned table. Tests BINARY column preservation through DELETE on partitioned table. INSERT 90 rows across 3 regions (US, EU, AP). DELETE some AP rows.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "write_cold_ms": 7711,
      "write_warm_ms": 6417,
      "tags": [
        "type:binary",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/153_int96_timestamp",
      "num": 153,
      "name": "int96_timestamp",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/153_int96_timestamp.py",
      "read_script": "generator/df-reads-spark/153_int96_timestamp.sql",
      "description": "INT96 timestamp interoperability test. Edge case timestamps plus regular data.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 555,
      "write_warm_ms": 460
    },
    {
      "id": "spark-writes/delta/1540_struct_functions",
      "num": 1540,
      "name": "struct_functions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1540_struct_functions.py",
      "read_script": "generator/df-reads-spark/1540_struct_functions.sql",
      "description": "Demonstrates STRUCT + SQL functions on non-struct columns. Tests that STRUCT fields are preserved when ABS and TRIM are applied to sibling columns.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 4341,
      "write_warm_ms": 3395,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1541_functions_multi_type",
      "num": 1541,
      "name": "functions_multi_type",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1541_functions_multi_type.py",
      "read_script": "generator/df-reads-spark/1541_functions_multi_type.sql",
      "description": "SQL functions across 4 types in single UPDATE. COALESCE on INT/STRING, ABS on DOUBLE, TRIM on STRING -- all in one UPDATE.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 3591,
      "write_warm_ms": 5050,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1542_functions_delete_merge",
      "num": 1542,
      "name": "functions_delete_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1542_functions_delete_merge.py",
      "read_script": "generator/df-reads-spark/1542_functions_delete_merge.sql",
      "description": "DELETE with function predicate, then MERGE with function in SET. Tests ABS in DELETE WHERE clause and GREATEST in MERGE UPDATE SET.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 7846,
      "write_warm_ms": 7997,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1543_functions_checkpoint",
      "num": 1543,
      "name": "functions_checkpoint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1543_functions_checkpoint.py",
      "read_script": "generator/df-reads-spark/1543_functions_checkpoint.sql",
      "description": "SQL functions in DML across 12+ commits with checkpoint. Tests that ABS-applied values survive checkpoint creation at V10. 11 INSERT batches of 10 rows each (110 rows total), then UPDATE SET score=ABS(score).",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 14,
      "read_warm_ms": 1,
      "write_cold_ms": 23497,
      "write_warm_ms": 20542,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1544_coalesce_nmbys_cdc",
      "num": 1544,
      "name": "coalesce_nmbys_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1544_coalesce_nmbys_cdc.py",
      "read_script": "generator/df-reads-spark/1544_coalesce_nmbys_cdc.sql",
      "description": "COALESCE in NOT MATCHED BY SOURCE + CDC. CDF captures COALESCE-filled orphan rows (not in source).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 4892,
      "write_warm_ms": 5494,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1545_decimal_partition_zorder",
      "num": 1545,
      "name": "decimal_partition_zorder",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1545_decimal_partition_zorder.py",
      "read_script": "generator/df-reads-spark/1545_decimal_partition_zorder.sql",
      "description": "DECIMAL partition + Z-ORDER. Tests Z-ORDER compaction on a DECIMAL-partitioned table. 200 rows in 4 batches of 50 across 4 DECIMAL partitions, then OPTIMIZE ZORDER BY (score).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "write_cold_ms": 7542,
      "write_warm_ms": 9197,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1546_date_partition_time_travel",
      "num": 1546,
      "name": "date_partition_time_travel",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1546_date_partition_time_travel.py",
      "read_script": "generator/df-reads-spark/1546_date_partition_time_travel.sql",
      "description": "DATE partition + time travel. Tests reading historical versions of a DATE-partitioned table.",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 16,
      "read_warm_ms": 5,
      "write_cold_ms": 8136,
      "write_warm_ms": 7681,
      "tags": [
        "type:date",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1547_functions_typed_partition_cdc",
      "num": 1547,
      "name": "functions_typed_partition_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1547_functions_typed_partition_cdc.py",
      "read_script": "generator/df-reads-spark/1547_functions_typed_partition_cdc.sql",
      "description": "SQL functions + typed partition + CDC. Three-way combination test. COALESCE on a DECIMAL-partitioned CDC-enabled table.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 3012,
      "write_warm_ms": 4418,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1548_binary_struct_functions",
      "num": 1548,
      "name": "binary_struct_functions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1548_binary_struct_functions.py",
      "read_script": "generator/df-reads-spark/1548_binary_struct_functions.sql",
      "description": "BINARY + STRUCT + SQL functions combo. Tests that BINARY and STRUCT columns are preserved when ABS and TRIM are applied to sibling columns.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 4325,
      "write_warm_ms": 4057,
      "tags": [
        "type:binary",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1549_all_functions_all_types",
      "num": 1549,
      "name": "all_functions_all_types",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1549_all_functions_all_types.py",
      "read_script": "generator/df-reads-spark/1549_all_functions_all_types.sql",
      "description": "Every SQL function + every data type in one test. COALESCE, ABS, TRIM, CONCAT, ROUND, CAST applied across BIGINT, STRING, INT, DECIMAL, DOUBLE, BOOLEAN, STRING columns.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 8365,
      "write_warm_ms": 8328,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/154_decimal_precision",
      "num": 154,
      "name": "decimal_precision",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/154_decimal_precision.py",
      "read_script": "generator/df-reads-spark/154_decimal_precision.sql",
      "description": "Maximum precision Decimal(38,0) handling. Edge cases (boundary values) and power-of-10 values (10^16 through 10^30). 20 rows total.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 555,
      "write_warm_ms": 532
    },
    {
      "id": "spark-writes/delta/1550_gap_coverage_ultimate",
      "num": 1550,
      "name": "gap_coverage_ultimate",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1550_gap_coverage_ultimate.py",
      "read_script": "generator/df-reads-spark/1550_gap_coverage_ultimate.sql",
      "description": "ULTIMATE gap test combining DECIMAL partition + SQL functions (COALESCE, ABS) + CDC + column mapping + CHECK constraint + schema evolution + Z-ORDER + multiple data types.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "CDF + column mapping (name mode) is blocked by Apache Spark OSS via DELTA_BLOCK_COLUMN_MAPPING_AND_CDC_OPERATION even on the initial write.",
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": "CDC_COLMAP_DROP_RENAME",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "delta:z-order",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1551_delete_not_in",
      "num": 1551,
      "name": "delete_not_in",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1551_delete_not_in.py",
      "read_script": "generator/df-reads-spark/1551_delete_not_in.sql",
      "description": "DELETE WHERE id NOT IN (specific values). Tests the NOT IN predicate to keep only listed ids and remove everything else. 85 rows removed, 15 remain.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 4923,
      "write_warm_ms": 4259,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1552_update_not_in",
      "num": 1552,
      "name": "update_not_in",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1552_update_not_in.py",
      "read_script": "generator/df-reads-spark/1552_update_not_in.sql",
      "description": "UPDATE WHERE id NOT IN (...). 89 rows get tag='excluded', 11 have tag='included'.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "write_cold_ms": 5621,
      "write_warm_ms": 5324,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1553_delete_not_between_int",
      "num": 1553,
      "name": "delete_not_between_int",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1553_delete_not_between_int.py",
      "read_script": "generator/df-reads-spark/1553_delete_not_between_int.sql",
      "description": "DELETE WHERE score NOT BETWEEN X AND Y. Removes rows outside score range [20,80].",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "write_cold_ms": 4504,
      "write_warm_ms": 4538,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1554_update_not_between_int",
      "num": 1554,
      "name": "update_not_between_int",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1554_update_not_between_int.py",
      "read_script": "generator/df-reads-spark/1554_update_not_between_int.sql",
      "description": "UPDATE WHERE score NOT BETWEEN X AND Y. ~118 rows tagged 'outside'.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 4482,
      "write_warm_ms": 4270,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1555_delete_not_between_decimal",
      "num": 1555,
      "name": "delete_not_between_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1555_delete_not_between_decimal.py",
      "read_script": "generator/df-reads-spark/1555_delete_not_between_decimal.sql",
      "description": "DELETE WHERE DECIMAL NOT BETWEEN. Rows 41-120 kept (amount in [200.00, 600.00]).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 4901,
      "write_warm_ms": 3882,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1556_update_not_between_decimal",
      "num": 1556,
      "name": "update_not_between_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1556_update_not_between_decimal.py",
      "read_script": "generator/df-reads-spark/1556_update_not_between_decimal.sql",
      "description": "UPDATE WHERE DECIMAL NOT BETWEEN. 120 rows get tag='outside'.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "write_cold_ms": 4603,
      "write_warm_ms": 4244,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1557_delete_between_timestamp",
      "num": 1557,
      "name": "delete_between_timestamp",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1557_delete_between_timestamp.py",
      "read_script": "generator/df-reads-spark/1557_delete_between_timestamp.sql",
      "description": "DELETE WHERE TIMESTAMP BETWEEN range. Removes rows i=50..100 = 51 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 0,
      "write_warm_ms": 1877,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1558_update_between_timestamp",
      "num": 1558,
      "name": "update_between_timestamp",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1558_update_between_timestamp.py",
      "read_script": "generator/df-reads-spark/1558_update_between_timestamp.sql",
      "description": "UPDATE WHERE TIMESTAMP BETWEEN range. Rows i=50..150 = 101 rows updated to 'in_range'.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "write_cold_ms": 0,
      "write_warm_ms": 1916,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1559_delete_not_between_timestamp",
      "num": 1559,
      "name": "delete_not_between_timestamp",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1559_delete_not_between_timestamp.py",
      "read_script": "generator/df-reads-spark/1559_delete_not_between_timestamp.sql",
      "description": "DELETE WHERE TIMESTAMP NOT BETWEEN. Keeps rows i=50..150 = 101 rows. Removes 99.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "write_cold_ms": 0,
      "write_warm_ms": 1600,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/155_vacuum_race",
      "num": 155,
      "name": "vacuum_race",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/155_vacuum_race.py",
      "read_script": "generator/df-reads-spark/155_vacuum_race.sql",
      "description": "Vacuum race condition handling test. 200 rows with 20 sequential UPDATE operations that each increment duration_seconds by 10 for different id % 20 groups.",
      "status": "pass",
      "duration_ms": 52,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 52,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 22332,
      "write_warm_ms": 21851
    },
    {
      "id": "spark-writes/delta/1560_delete_between_decimal",
      "num": 1560,
      "name": "delete_between_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1560_delete_between_decimal.py",
      "read_script": "generator/df-reads-spark/1560_delete_between_decimal.sql",
      "description": "DELETE WHERE DECIMAL BETWEEN [300.00, 500.00]. Removes 40 rows (i=61..100). Final: 160 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 4329,
      "write_warm_ms": 3577,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1561_update_power",
      "num": 1561,
      "name": "update_power",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1561_update_power.py",
      "read_script": "generator/df-reads-spark/1561_update_power.sql",
      "description": "UPDATE SET with POWER function. Computes squared and cubed values.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 4409,
      "write_warm_ms": 4545,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1562_update_sqrt",
      "num": 1562,
      "name": "update_sqrt",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1562_update_sqrt.py",
      "read_script": "generator/df-reads-spark/1562_update_sqrt.sql",
      "description": "UPDATE SET with SQRT function. Computes square roots of perfect squares.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "write_cold_ms": 4666,
      "write_warm_ms": 4235,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1563_update_sign",
      "num": 1563,
      "name": "update_sign",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1563_update_sign.py",
      "read_script": "generator/df-reads-spark/1563_update_sign.sql",
      "description": "UPDATE SET with SIGN function. sign_val in {-1, 0, 1}.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 3782,
      "write_warm_ms": 4597,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1564_update_mod",
      "num": 1564,
      "name": "update_mod",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1564_update_mod.py",
      "read_script": "generator/df-reads-spark/1564_update_mod.sql",
      "description": "UPDATE SET with modulo (% operator). Computes remainders by 3, 7, and 10.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 5098,
      "write_warm_ms": 3979,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1565_update_upper_lower",
      "num": 1565,
      "name": "update_upper_lower",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1565_update_upper_lower.py",
      "read_script": "generator/df-reads-spark/1565_update_upper_lower.sql",
      "description": "UPDATE SET with UPPER and LOWER string functions.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "write_cold_ms": 6318,
      "write_warm_ms": 4714,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1566_update_lpad_rpad",
      "num": 1566,
      "name": "update_lpad_rpad",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1566_update_lpad_rpad.py",
      "read_script": "generator/df-reads-spark/1566_update_lpad_rpad.sql",
      "description": "UPDATE SET with LPAD and RPAD string functions. '1'->'00001'/'1****', '100'->'00100'/'100**'.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "write_cold_ms": 4165,
      "write_warm_ms": 4235,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1567_update_reverse",
      "num": 1567,
      "name": "update_reverse",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1567_update_reverse.py",
      "read_script": "generator/df-reads-spark/1567_update_reverse.sql",
      "description": "UPDATE SET with REVERSE string function. 'abc1'->'1cba', 'abc100'->'001cba'.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 4607,
      "write_warm_ms": 4636,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1568_update_math_combo",
      "num": 1568,
      "name": "update_math_combo",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1568_update_math_combo.py",
      "read_script": "generator/df-reads-spark/1568_update_math_combo.sql",
      "description": "Multiple math functions in one UPDATE SET. ABS, SQRT, SIGN, FLOOR together.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "write_cold_ms": 4180,
      "write_warm_ms": 4836,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1569_update_string_combo",
      "num": 1569,
      "name": "update_string_combo",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1569_update_string_combo.py",
      "read_script": "generator/df-reads-spark/1569_update_string_combo.sql",
      "description": "Multiple string functions in one UPDATE SET. UPPER, TRIM, LPAD, REVERSE together.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "write_cold_ms": 4020,
      "write_warm_ms": 3818,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/156_stale_checkpoint",
      "num": 156,
      "name": "stale_checkpoint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/156_stale_checkpoint.py",
      "read_script": "generator/df-reads-spark/156_stale_checkpoint.sql",
      "description": "Stale checkpoint handling with multiple UPDATE operations. 200 rows, 15 UPDATE operations incrementing value by 1 for different id % 15 groups.",
      "status": "pass",
      "duration_ms": 49,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 49,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 15679,
      "write_warm_ms": 16021
    },
    {
      "id": "spark-writes/delta/1570_delete_where_power",
      "num": 1570,
      "name": "delete_where_power",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1570_delete_where_power.py",
      "read_script": "generator/df-reads-spark/1570_delete_where_power.sql",
      "description": "DELETE WHERE POWER(col, 2) > threshold. Rows with value >= 71 deleted = 30 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 4452,
      "write_warm_ms": 3966,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1571_delete_where_sqrt",
      "num": 1571,
      "name": "delete_where_sqrt",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1571_delete_where_sqrt.py",
      "read_script": "generator/df-reads-spark/1571_delete_where_sqrt.sql",
      "description": "DELETE WHERE SQRT(col) < threshold. Rows 1-4 deleted (4 rows). Final: 96 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 4210,
      "write_warm_ms": 4175,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1572_merge_power_sqrt",
      "num": 1572,
      "name": "merge_power_sqrt",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1572_merge_power_sqrt.py",
      "read_script": "generator/df-reads-spark/1572_merge_power_sqrt.sql",
      "description": "MERGE with POWER and SQRT in UPDATE SET clause. First 80 rows get computed=SQRT(POWER(value, 2)) = value. Last 20 are inserted new.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "write_cold_ms": 6149,
      "write_warm_ms": 5382,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1573_update_sign_decimal",
      "num": 1573,
      "name": "update_sign_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1573_update_sign_decimal.py",
      "read_script": "generator/df-reads-spark/1573_update_sign_decimal.sql",
      "description": "SIGN function on DECIMAL column. sign_val in {-1, 0, 1}.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 4020,
      "write_warm_ms": 3447,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1574_functions_partition_cdc",
      "num": 1574,
      "name": "functions_partition_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1574_functions_partition_cdc.py",
      "read_script": "generator/df-reads-spark/1574_functions_partition_cdc.sql",
      "description": "Math + string functions combined with partitioning and CDC. ABS + UPPER + TRIM applied to US partition only. 120 rows, 40 US rows updated.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "write_cold_ms": 4035,
      "write_warm_ms": 4159,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1575_functions_negation_combo",
      "num": 1575,
      "name": "functions_negation_combo",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1575_functions_negation_combo.py",
      "read_script": "generator/df-reads-spark/1575_functions_negation_combo.sql",
      "description": "Negation predicates combined with math/string functions. NOT BETWEEN + ABS + COALESCE together in UPDATE and DELETE.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 6059,
      "write_warm_ms": 5261,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1576_overwrite_then_zorder",
      "num": 1576,
      "name": "overwrite_then_zorder",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1576_overwrite_then_zorder.py",
      "read_script": "generator/df-reads-spark/1576_overwrite_then_zorder.sql",
      "description": "INSERT OVERWRITE then OPTIMIZE ZORDER BY. Gen1 (50 rows) replaced by gen2 (200 rows in 4 batches), then ZORDER.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 11510,
      "write_warm_ms": 9239,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1577_overwrite_then_vacuum",
      "num": 1577,
      "name": "overwrite_then_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1577_overwrite_then_vacuum.py",
      "read_script": "generator/df-reads-spark/1577_overwrite_then_vacuum.sql",
      "description": "INSERT OVERWRITE then OPTIMIZE then VACUUM. 200 rows final.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 22227,
      "write_warm_ms": 22005,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1578_overwrite_after_merge",
      "num": 1578,
      "name": "overwrite_after_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1578_overwrite_after_merge.py",
      "read_script": "generator/df-reads-spark/1578_overwrite_after_merge.sql",
      "description": "MERGE then INSERT OVERWRITE. The OVERWRITE replaces all MERGE results.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 7324,
      "write_warm_ms": 6463,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "dml:overwrite",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1579_overwrite_restore",
      "num": 1579,
      "name": "overwrite_restore",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1579_overwrite_restore.py",
      "read_script": "generator/df-reads-spark/1579_overwrite_restore.sql",
      "description": "INSERT OVERWRITE then RESTORE to pre-OVERWRITE version.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "write_cold_ms": 11896,
      "write_warm_ms": 10687,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/157_occ_conflict",
      "num": 157,
      "name": "occ_conflict",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/157_occ_conflict.py",
      "read_script": "generator/df-reads-spark/157_occ_conflict.sql",
      "description": "Optimistic Concurrency Control conflict handling test table. 100 rows with calculated priorities.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 572,
      "write_warm_ms": 525
    },
    {
      "id": "spark-writes/delta/1580_overwrite_typed_vacuum",
      "num": 1580,
      "name": "overwrite_typed_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1580_overwrite_typed_vacuum.py",
      "read_script": "generator/df-reads-spark/1580_overwrite_typed_vacuum.sql",
      "description": "INSERT OVERWRITE with DECIMAL+TIMESTAMP then VACUUM. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 21199,
      "write_warm_ms": 22047,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1581_functions_in_merge_nmbys",
      "num": 1581,
      "name": "functions_in_merge_nmbys",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1581_functions_in_merge_nmbys.py",
      "read_script": "generator/df-reads-spark/1581_functions_in_merge_nmbys.sql",
      "description": "Functions in NOT MATCHED BY SOURCE UPDATE SET clause. 60 rows matched/updated, 40 orphan rows get ABS/UPPER/COALESCE applied.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 6159,
      "write_warm_ms": 5759,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1582_functions_in_merge_delete",
      "num": 1582,
      "name": "functions_in_merge_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1582_functions_in_merge_delete.py",
      "read_script": "generator/df-reads-spark/1582_functions_in_merge_delete.sql",
      "description": "Functions in MERGE DELETE condition. Delete where SQRT(ABS(score)) > 8.0, else update. ~157 deleted, ~43 remain.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 5859,
      "write_warm_ms": 5210,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1583_functions_colmap",
      "num": 1583,
      "name": "functions_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1583_functions_colmap.py",
      "read_script": "generator/df-reads-spark/1583_functions_colmap.sql",
      "description": "Math functions with column mapping mode=name. ABS, TRIM, COALESCE applied in one UPDATE.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 4548,
      "write_warm_ms": 5077,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1584_functions_evolve",
      "num": 1584,
      "name": "functions_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1584_functions_evolve.py",
      "read_script": "generator/df-reads-spark/1584_functions_evolve.sql",
      "description": "Functions on an evolved (added) column. ALTER ADD COLUMN computed DOUBLE, then fill NULLs with COALESCE+SQRT+ABS.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 7040,
      "write_warm_ms": 6104,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1585_functions_constraint",
      "num": 1585,
      "name": "functions_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1585_functions_constraint.py",
      "read_script": "generator/df-reads-spark/1585_functions_constraint.sql",
      "description": "Functions producing constraint-valid values. UPDATE SET score=ABS(score) first, then ADD CONSTRAINT score >= 0.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 6400,
      "write_warm_ms": 6440,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1586_negation_cdc",
      "num": 1586,
      "name": "negation_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1586_negation_cdc.py",
      "read_script": "generator/df-reads-spark/1586_negation_cdc.sql",
      "description": "NOT BETWEEN + NOT IN predicates with CDC enabled. DELETE WHERE score NOT BETWEEN 20 AND 80, then UPDATE remaining rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "write_cold_ms": 8900,
      "write_warm_ms": 8366,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1587_negation_partition",
      "num": 1587,
      "name": "negation_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1587_negation_partition.py",
      "read_script": "generator/df-reads-spark/1587_negation_partition.sql",
      "description": "NOT BETWEEN predicate with partitioned table. DELETE US rows with score NOT BETWEEN 20 AND 80. Final: ~104 rows.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "write_cold_ms": 4101,
      "write_warm_ms": 4567,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1588_between_decimal_cdc",
      "num": 1588,
      "name": "between_decimal_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1588_between_decimal_cdc.py",
      "read_script": "generator/df-reads-spark/1588_between_decimal_cdc.sql",
      "description": "DECIMAL BETWEEN predicate with CDC enabled. DELETE rows 91-150 (~60 rows removed).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 5523,
      "write_warm_ms": 4425,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1589_between_timestamp_partition",
      "num": 1589,
      "name": "between_timestamp_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1589_between_timestamp_partition.py",
      "read_script": "generator/df-reads-spark/1589_between_timestamp_partition.sql",
      "description": "TIMESTAMP BETWEEN predicate with partitioned table. DELETE EU rows within hours 20-80. Final: ~100 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "write_cold_ms": 0,
      "write_warm_ms": 1811,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/158_schema_evolution_complex",
      "num": 158,
      "name": "schema_evolution_complex",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/158_schema_evolution_complex.py",
      "read_script": "generator/df-reads-spark/158_schema_evolution_complex.sql",
      "description": "Complex schema evolution with column additions after initial insert. 100 rows then ALTER TABLE to add extra_field column.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 621,
      "write_warm_ms": 635
    },
    {
      "id": "spark-writes/delta/1590_functions_zorder",
      "num": 1590,
      "name": "functions_zorder",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1590_functions_zorder.py",
      "read_script": "generator/df-reads-spark/1590_functions_zorder.sql",
      "description": "ABS/SQRT/SIGN in UPDATE then Z-ORDER on computed column. 200 rows in 4 batches, UPDATE with ABS and SIGN, then OPTIMIZE ZORDER BY (abs_val).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 11552,
      "write_warm_ms": 10683,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1591_five_deletes",
      "num": 1591,
      "name": "five_deletes",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1591_five_deletes.py",
      "read_script": "generator/df-reads-spark/1591_five_deletes.sql",
      "description": "5 sequential DELETEs with different typed predicates. 1000 rows initially.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "write_cold_ms": 15258,
      "write_warm_ms": 14759,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1592_five_updates_same_col",
      "num": 1592,
      "name": "five_updates_same_col",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1592_five_updates_same_col.py",
      "read_script": "generator/df-reads-spark/1592_five_updates_same_col.sql",
      "description": "5 UPDATEs on same DECIMAL column with overlapping ranges. DV stacking stress test. 500 rows, 5 overlapping ranges with accumulated DECIMAL arithmetic.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "write_cold_ms": 17805,
      "write_warm_ms": 15371,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1593_interleaved_overwrite_dml",
      "num": 1593,
      "name": "interleaved_overwrite_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1593_interleaved_overwrite_dml.py",
      "read_script": "generator/df-reads-spark/1593_interleaved_overwrite_dml.sql",
      "description": "INSERT OVERWRITE interleaved with DML. Final: 80 rows (from last OVERWRITE, 20 with tag='final').",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 13828,
      "write_warm_ms": 14642,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1594_ten_merges",
      "num": 1594,
      "name": "ten_merges",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1594_ten_merges.py",
      "read_script": "generator/df-reads-spark/1594_ten_merges.sql",
      "description": "10 sequential MERGEs growing from 60 to 140 row source CTEs. Final: 140 rows.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 10,
      "read_warm_ms": 1,
      "write_cold_ms": 31867,
      "write_warm_ms": 32940,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1595_twenty_inserts",
      "num": 1595,
      "name": "twenty_inserts",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1595_twenty_inserts.py",
      "read_script": "generator/df-reads-spark/1595_twenty_inserts.sql",
      "description": "20 sequential INSERT batches. Tests many-file read with 20 separate data files. 200 rows in 20 files.",
      "status": "pass",
      "duration_ms": 46,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 46,
      "read_warm_ms": 14,
      "write_cold_ms": 30693,
      "write_warm_ms": 32737,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1596_delete_update_delete_update",
      "num": 1596,
      "name": "delete_update_delete_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1596_delete_update_delete_update.py",
      "read_script": "generator/df-reads-spark/1596_delete_update_delete_update.sql",
      "description": "Alternating DELETE and UPDATE 4 times. DV stacking with interleaved operations.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "write_cold_ms": 15639,
      "write_warm_ms": 16255,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1597_merge_delete_merge_delete",
      "num": 1597,
      "name": "merge_delete_merge_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1597_merge_delete_merge_delete.py",
      "read_script": "generator/df-reads-spark/1597_merge_delete_merge_delete.sql",
      "description": "Alternating MERGE and DELETE operations. Final: ~195 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 15600,
      "write_warm_ms": 14792,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1598_overwrite_merge_overwrite",
      "num": 1598,
      "name": "overwrite_merge_overwrite",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1598_overwrite_merge_overwrite.py",
      "read_script": "generator/df-reads-spark/1598_overwrite_merge_overwrite.sql",
      "description": "Two OVERWRITE-MERGE cycles. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 10030,
      "write_warm_ms": 10706,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "dml:overwrite",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1599_stress_typed_chain",
      "num": 1599,
      "name": "stress_typed_chain",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1599_stress_typed_chain.py",
      "read_script": "generator/df-reads-spark/1599_stress_typed_chain.sql",
      "description": "MERGE, UPDATE BOOLEAN, DELETE on INT, INSERT more. Final: ~230 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "write_cold_ms": 22497,
      "write_warm_ms": 18472,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/159_crc_checksum",
      "num": 159,
      "name": "crc_checksum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/159_crc_checksum.py",
      "read_script": "generator/df-reads-spark/159_crc_checksum.sql",
      "description": "Multiple UPDATE operations testing CRC checksum handling. 100 rows, 3x UPDATE SET score = score + 1 WHERE category = 'alpha'.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 3184,
      "write_warm_ms": 3280
    },
    {
      "id": "spark-writes/delta/15_action_add_file_with_stats",
      "num": 15,
      "name": "action_add_file_with_stats",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/15_action_add_file_with_stats.py",
      "read_script": "generator/df-reads-spark/15_action_add_file_with_stats.sql",
      "description": "32,000 sales records with deterministic formulas. Tests stats-based data skipping with 18 indexed columns across regions, categories, and time ranges.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 1354,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1600_stress_all_features",
      "num": 1600,
      "name": "stress_all_features",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1600_stress_all_features.py",
      "read_script": "generator/df-reads-spark/1600_stress_all_features.sql",
      "description": "Maximum stress test combining CDC, column mapping, partitions, constraints, schema evolution, INSERT OVERWRITE, MERGE, functions, OPTIMIZE, and VACUUM.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Spark OSS cannot generate (CDF + column mapping schema change = DELTA_BLOCK_COLUMN_MAPPING_AND_CDC_OPERATION)",
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "delta:vacuum",
        "delta:z-order",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1601_not_in_decimal",
      "num": 1601,
      "name": "not_in_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1601_not_in_decimal.py",
      "read_script": "generator/df-reads-spark/1601_not_in_decimal.sql",
      "description": "DELETE WHERE amount NOT IN (specific DECIMAL values). Final: 3 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 4248,
      "write_warm_ms": 6197,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1602_not_between_decimal_cdc",
      "num": 1602,
      "name": "not_between_decimal_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1602_not_between_decimal_cdc.py",
      "read_script": "generator/df-reads-spark/1602_not_between_decimal_cdc.sql",
      "description": "NOT BETWEEN DECIMAL + CDC. DELETE outside [200, 600]. Final: 81 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 4997,
      "write_warm_ms": 4938,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1603_between_timestamp_cdc",
      "num": 1603,
      "name": "between_timestamp_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1603_between_timestamp_cdc.py",
      "read_script": "generator/df-reads-spark/1603_between_timestamp_cdc.sql",
      "description": "BETWEEN TIMESTAMP + CDC. DELETE rows i=1..50 => 50 rows deleted. Final: 150 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "write_cold_ms": 0,
      "write_warm_ms": 1336,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1604_negation_colmap",
      "num": 1604,
      "name": "negation_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1604_negation_colmap.py",
      "read_script": "generator/df-reads-spark/1604_negation_colmap.sql",
      "description": "NOT BETWEEN + column mapping (name mode). DELETE outside [20, 80]. Final: ~61 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "write_cold_ms": 5302,
      "write_warm_ms": 4649,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1605_negation_constraint",
      "num": 1605,
      "name": "negation_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1605_negation_constraint.py",
      "read_script": "generator/df-reads-spark/1605_negation_constraint.sql",
      "description": "NOT BETWEEN + constraint. Constraint remains valid after delete. Final: ~80 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "write_cold_ms": 8249,
      "write_warm_ms": 7745,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1606_negation_evolve",
      "num": 1606,
      "name": "negation_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1606_negation_evolve.py",
      "read_script": "generator/df-reads-spark/1606_negation_evolve.sql",
      "description": "NOT BETWEEN + schema evolution. ALTER ADD COLUMN, then NOT BETWEEN DELETE.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "write_cold_ms": 9007,
      "write_warm_ms": 7671,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1607_between_decimal_partition",
      "num": 1607,
      "name": "between_decimal_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1607_between_decimal_partition.py",
      "read_script": "generator/df-reads-spark/1607_between_decimal_partition.sql",
      "description": "BETWEEN DECIMAL + partition. DELETE US rows with amount in [200, 400]. Final: 111 rows.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 3844,
      "write_warm_ms": 4414,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1608_functions_not_between",
      "num": 1608,
      "name": "functions_not_between",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1608_functions_not_between.py",
      "read_script": "generator/df-reads-spark/1608_functions_not_between.sql",
      "description": "ABS + NOT BETWEEN combo. UPDATE SET processed=ABS(raw) WHERE raw NOT BETWEEN -100 AND 100.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "write_cold_ms": 7267,
      "write_warm_ms": 6519,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1609_functions_between_decimal",
      "num": 1609,
      "name": "functions_between_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1609_functions_between_decimal.py",
      "read_script": "generator/df-reads-spark/1609_functions_between_decimal.sql",
      "description": "COALESCE + BETWEEN DECIMAL combo. UPDATE tag='in_range' WHERE COALESCE(amount, 0) in [200, 500].",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "write_cold_ms": 6372,
      "write_warm_ms": 5880,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/160_symlink_manifest",
      "num": 160,
      "name": "symlink_manifest",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/160_symlink_manifest.py",
      "read_script": "generator/df-reads-spark/160_symlink_manifest.sql",
      "description": "Partitioned table with deletion vectors enabled for symlink manifest testing. 200 rows across 3 region partitions (us/eu/apac).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 579,
      "write_warm_ms": 570
    },
    {
      "id": "spark-writes/delta/1610_power_sqrt_partition",
      "num": 1610,
      "name": "power_sqrt_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1610_power_sqrt_partition.py",
      "read_script": "generator/df-reads-spark/1610_power_sqrt_partition.sql",
      "description": "POWER/SQRT + partition. UPDATE computed=SQRT(POWER(score, 2)) for US partition only.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 4061,
      "write_warm_ms": 4505,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1611_sign_decimal_cdc",
      "num": 1611,
      "name": "sign_decimal_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1611_sign_decimal_cdc.py",
      "read_script": "generator/df-reads-spark/1611_sign_decimal_cdc.sql",
      "description": "SIGN(DECIMAL) + CDC. UPDATE sign_val for balance range -495 to +500.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "write_cold_ms": 4570,
      "write_warm_ms": 5275,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1612_reverse_upper_merge",
      "num": 1612,
      "name": "reverse_upper_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1612_reverse_upper_merge.py",
      "read_script": "generator/df-reads-spark/1612_reverse_upper_merge.sql",
      "description": "REVERSE + UPPER in MERGE UPDATE SET. 100 rows, all matched and updated.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "write_cold_ms": 7362,
      "write_warm_ms": 6571,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1613_lpad_rpad_partition",
      "num": 1613,
      "name": "lpad_rpad_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1613_lpad_rpad_partition.py",
      "read_script": "generator/df-reads-spark/1613_lpad_rpad_partition.sql",
      "description": "LPAD/RPAD + partition. UPDATE padded=LPAD(score, 5, '0') for US partition only.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 4661,
      "write_warm_ms": 3184,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1614_functions_timestamp",
      "num": 1614,
      "name": "functions_timestamp",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1614_functions_timestamp.py",
      "read_script": "generator/df-reads-spark/1614_functions_timestamp.sql",
      "description": "Functions on rows with TIMESTAMP columns. UPDATE label=CONCAT('ts_', id).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "write_cold_ms": 5757,
      "write_warm_ms": 5114,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1615_not_in_cdc_partition",
      "num": 1615,
      "name": "not_in_cdc_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1615_not_in_cdc_partition.py",
      "read_script": "generator/df-reads-spark/1615_not_in_cdc_partition.sql",
      "description": "NOT IN + CDC + partition. DELETE US rows not in specific id set. Final: 82 rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "write_cold_ms": 4662,
      "write_warm_ms": 3469,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1616_between_decimal_colmap",
      "num": 1616,
      "name": "between_decimal_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1616_between_decimal_colmap.py",
      "read_script": "generator/df-reads-spark/1616_between_decimal_colmap.sql",
      "description": "BETWEEN DECIMAL + column mapping (name mode). DELETE rows i=60..100. Final: 159 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 5718,
      "write_warm_ms": 5025,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1617_not_between_constraint",
      "num": 1617,
      "name": "not_between_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1617_not_between_constraint.py",
      "read_script": "generator/df-reads-spark/1617_not_between_constraint.sql",
      "description": "NOT BETWEEN + constraint. After delete, remaining rows satisfy constraint. Final: ~160 rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "write_cold_ms": 7611,
      "write_warm_ms": 8370,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1618_functions_nmbys",
      "num": 1618,
      "name": "functions_nmbys",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1618_functions_nmbys.py",
      "read_script": "generator/df-reads-spark/1618_functions_nmbys.sql",
      "description": "ABS/COALESCE in NOT MATCHED BY SOURCE + constraint. 100 rows, constraint added first.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 8315,
      "write_warm_ms": 7783,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1619_negation_merge",
      "num": 1619,
      "name": "negation_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1619_negation_merge.py",
      "read_script": "generator/df-reads-spark/1619_negation_merge.sql",
      "description": "NOT BETWEEN in MERGE WHEN MATCHED condition. MERGE deletes rows with score outside [20, 80], updates the rest. Final: ~120 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "write_cold_ms": 5574,
      "write_warm_ms": 6967,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/161_generated_columns",
      "num": 161,
      "name": "generated_columns",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/161_generated_columns.py",
      "read_script": "generator/df-reads-spark/161_generated_columns.sql",
      "description": "Table with computed/generated columns (full_name, total). 50 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 518,
      "write_warm_ms": 575
    },
    {
      "id": "spark-writes/delta/1620_between_decimal_merge",
      "num": 1620,
      "name": "between_decimal_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1620_between_decimal_merge.py",
      "read_script": "generator/df-reads-spark/1620_between_decimal_merge.sql",
      "description": "BETWEEN DECIMAL in MERGE condition. Tags rows based on amount range.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 6980,
      "write_warm_ms": 6172,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1621_overwrite_functions",
      "num": 1621,
      "name": "overwrite_functions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1621_overwrite_functions.py",
      "read_script": "generator/df-reads-spark/1621_overwrite_functions.sql",
      "description": "INSERT OVERWRITE then function-based UPDATE. ABS + UPPER + TRIM.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "write_cold_ms": 4989,
      "write_warm_ms": 5303,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1622_overwrite_negation",
      "num": 1622,
      "name": "overwrite_negation",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1622_overwrite_negation.py",
      "read_script": "generator/df-reads-spark/1622_overwrite_negation.sql",
      "description": "INSERT OVERWRITE then NOT BETWEEN DELETE. Final: ~120 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "write_cold_ms": 5515,
      "write_warm_ms": 5264,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1623_five_deletes_typed",
      "num": 1623,
      "name": "five_deletes_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1623_five_deletes_typed.py",
      "read_script": "generator/df-reads-spark/1623_five_deletes_typed.sql",
      "description": "5 sequential DELETEs all on DECIMAL predicates. Final: 230 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 15595,
      "write_warm_ms": 16608,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1624_five_updates_typed",
      "num": 1624,
      "name": "five_updates_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1624_five_updates_typed.py",
      "read_script": "generator/df-reads-spark/1624_five_updates_typed.sql",
      "description": "5 UPDATEs each using a different function: ABS, UPPER, COALESCE, SQRT, REVERSE.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 15424,
      "write_warm_ms": 13932,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1625_overwrite_zorder_vacuum",
      "num": 1625,
      "name": "overwrite_zorder_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1625_overwrite_zorder_vacuum.py",
      "read_script": "generator/df-reads-spark/1625_overwrite_zorder_vacuum.sql",
      "description": "INSERT OVERWRITE + Z-ORDER + VACUUM lifecycle. Final: 200 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 29786,
      "write_warm_ms": 30365,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1626_negation_zorder",
      "num": 1626,
      "name": "negation_zorder",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1626_negation_zorder.py",
      "read_script": "generator/df-reads-spark/1626_negation_zorder.sql",
      "description": "NOT BETWEEN DELETE then Z-ORDER. Final: ~120 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 7939,
      "write_warm_ms": 7332,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1627_negation_vacuum",
      "num": 1627,
      "name": "negation_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1627_negation_vacuum.py",
      "read_script": "generator/df-reads-spark/1627_negation_vacuum.sql",
      "description": "NOT BETWEEN DELETE then OPTIMIZE + VACUUM. Final: ~80 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 25823,
      "write_warm_ms": 30890,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1628_negation_restore",
      "num": 1628,
      "name": "negation_restore",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1628_negation_restore.py",
      "read_script": "generator/df-reads-spark/1628_negation_restore.sql",
      "description": "NOT BETWEEN DELETE then RESTORE to pre-delete version. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "write_cold_ms": 13139,
      "write_warm_ms": 12616,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1629_between_decimal_zorder",
      "num": 1629,
      "name": "between_decimal_zorder",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1629_between_decimal_zorder.py",
      "read_script": "generator/df-reads-spark/1629_between_decimal_zorder.sql",
      "description": "BETWEEN DECIMAL DELETE then Z-ORDER. Removes rows 60-100 (41 rows). Final: 159 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 11619,
      "write_warm_ms": 9490,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/162_default_columns",
      "num": 162,
      "name": "default_columns",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/162_default_columns.py",
      "read_script": "generator/df-reads-spark/162_default_columns.sql",
      "description": "Default column values simulation. 50 rows with nullable notes column. notes = \"Notes for item {i}\" if ((i * 43) % 2) == 1 else NULL.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 500,
      "write_warm_ms": 559
    },
    {
      "id": "spark-writes/delta/1630_functions_restore",
      "num": 1630,
      "name": "functions_restore",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1630_functions_restore.py",
      "read_script": "generator/df-reads-spark/1630_functions_restore.sql",
      "description": "Function-based UPDATE then RESTORE to undo. INSERT 100 rows with negative scores for i%4=0 and lowercase names. UPDATE ABS(score), UPDATE UPPER(name), then RESTORE to version 1 to get back original negatives and lowercase.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "write_cold_ms": 13193,
      "write_warm_ms": 14363,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1631_power_partition_cdc",
      "num": 1631,
      "name": "power_partition_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1631_power_partition_cdc.py",
      "read_script": "generator/df-reads-spark/1631_power_partition_cdc.sql",
      "description": "POWER function + partition + CDC. INSERT 120 rows across US/EU/APAC regions, then UPDATE SET squared=POWER(score, 2) WHERE region='US'.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "write_cold_ms": 3195,
      "write_warm_ms": 4392,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1632_sqrt_colmap",
      "num": 1632,
      "name": "sqrt_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1632_sqrt_colmap.py",
      "read_script": "generator/df-reads-spark/1632_sqrt_colmap.sql",
      "description": "SQRT + column mapping (name mode). INSERT 100 rows with value = i*10, then UPDATE SET root=SQRT(ABS(value)).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 4991,
      "write_warm_ms": 4906,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1633_sign_partition",
      "num": 1633,
      "name": "sign_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1633_sign_partition.py",
      "read_script": "generator/df-reads-spark/1633_sign_partition.sql",
      "description": "SIGN + partition. INSERT 120 rows with value = (i*13)%1000-500, partitioned by region. Then UPDATE SET sign_val=CAST(SIGN(value) AS INT).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "write_cold_ms": 4204,
      "write_warm_ms": 4288,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1634_reverse_cdc",
      "num": 1634,
      "name": "reverse_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1634_reverse_cdc.py",
      "read_script": "generator/df-reads-spark/1634_reverse_cdc.sql",
      "description": "REVERSE + CDC. INSERT 100 rows with forward='row_N', then UPDATE SET backward=REVERSE(forward).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "write_cold_ms": 4856,
      "write_warm_ms": 5136,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1635_lpad_constraint",
      "num": 1635,
      "name": "lpad_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1635_lpad_constraint.py",
      "read_script": "generator/df-reads-spark/1635_lpad_constraint.sql",
      "description": "LPAD + constraint. INSERT 100 rows, add CHECK constraint LENGTH(name) > 0, then UPDATE SET padded=LPAD(CAST(score AS STRING), 5, '0').",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "write_cold_ms": 7217,
      "write_warm_ms": 6134,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1636_upper_lower_merge",
      "num": 1636,
      "name": "upper_lower_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1636_upper_lower_merge.py",
      "read_script": "generator/df-reads-spark/1636_upper_lower_merge.sql",
      "description": "UPPER/LOWER in MERGE SET. INSERT 80 rows (ids 1-80), then MERGE from 100-row source: WHEN MATCHED UPDATE SET upper_name=UPPER(name), lower_name=LOWER(name); WHEN NOT MATCHED INSERT (ids 81-100).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 7760,
      "write_warm_ms": 6775,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1637_functions_five_way",
      "num": 1637,
      "name": "functions_five_way",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1637_functions_five_way.py",
      "read_script": "generator/df-reads-spark/1637_functions_five_way.sql",
      "description": "SQL functions + CDC + colmap + partition + constraint. Five-way combination. INSERT 120 rows (scores have negatives for i%4=0, names have leading spaces). UPDATE SET score=ABS(score), name=TRIM(name). ADD CONSTRAINT score >= 0.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Spark OSS cannot generate (CDF + column mapping schema change = DELTA_BLOCK_COLUMN_MAPPING_AND_CDC_OPERATION)",
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1638_negation_five_way",
      "num": 1638,
      "name": "negation_five_way",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1638_negation_five_way.py",
      "read_script": "generator/df-reads-spark/1638_negation_five_way.sql",
      "description": "NOT BETWEEN + CDC + partition + constraint + schema evolution. Five-way. INSERT 120 rows, ADD CONSTRAINT score>=0, ALTER ADD COLUMN extra STRING, DELETE WHERE score NOT BETWEEN 10 AND 90.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "write_cold_ms": 8916,
      "write_warm_ms": 6396,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1639_between_decimal_five_way",
      "num": 1639,
      "name": "between_decimal_five_way",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1639_between_decimal_five_way.py",
      "read_script": "generator/df-reads-spark/1639_between_decimal_five_way.sql",
      "description": "DECIMAL BETWEEN + CDC + colmap + partition + constraint. Five-way. INSERT 120 rows, ADD CONSTRAINT amount > 0, DELETE WHERE amount BETWEEN 300 AND 500. Rows with i*8.33 in [300,500] => i in [36,60] => 25 rows deleted.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Spark OSS cannot generate (CDF + column mapping schema change = DELTA_BLOCK_COLUMN_MAPPING_AND_CDC_OPERATION)",
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/163_not_null_constraint",
      "num": 163,
      "name": "not_null_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/163_not_null_constraint.py",
      "read_script": "generator/df-reads-spark/163_not_null_constraint.sql",
      "description": "NOT NULL constraints on columns. 50 rows with id (INT NOT NULL), required_name (STRING NOT NULL), required_value (INT NOT NULL), optional_field (STRING nullable), created_at (TIMESTAMP NOT NULL). Constraints added via ALTER TABLE ALTER COLUMN SET NOT NULL.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 0,
      "write_warm_ms": 0
    },
    {
      "id": "spark-writes/delta/1640_overwrite_five_way",
      "num": 1640,
      "name": "overwrite_five_way",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1640_overwrite_five_way.py",
      "read_script": "generator/df-reads-spark/1640_overwrite_five_way.sql",
      "description": "INSERT OVERWRITE + CDC + colmap + partition + constraint. Five-way. INSERT 100 rows, ADD CONSTRAINT score >= 0, INSERT OVERWRITE 120 rows.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Spark OSS cannot generate (CDF + column mapping schema change = DELTA_BLOCK_COLUMN_MAPPING_AND_CDC_OPERATION)",
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1641_stress_ten_operations",
      "num": 1641,
      "name": "stress_ten_operations",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1641_stress_ten_operations.py",
      "read_script": "generator/df-reads-spark/1641_stress_ten_operations.sql",
      "description": "10 sequential DML operations of mixed types. V0: INSERT 200 rows.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "write_cold_ms": 28737,
      "write_warm_ms": 27701,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1642_stress_functions_chain",
      "num": 1642,
      "name": "stress_functions_chain",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1642_stress_functions_chain.py",
      "read_script": "generator/df-reads-spark/1642_stress_functions_chain.sql",
      "description": "Chain of function-based UPDATEs: ABS -> SQRT -> FLOOR -> CAST.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 11320,
      "write_warm_ms": 11696,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1643_not_in_merge_delete",
      "num": 1643,
      "name": "not_in_merge_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1643_not_in_merge_delete.py",
      "read_script": "generator/df-reads-spark/1643_not_in_merge_delete.sql",
      "description": "NOT IN in MERGE WHEN MATCHED DELETE condition. INSERT 200 rows, then MERGE from 200-row CTE: delete all except ids in (1,2,3,4,5,10,20,50,100,200).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 6901,
      "write_warm_ms": 5325,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1644_between_decimal_nmbys",
      "num": 1644,
      "name": "between_decimal_nmbys",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1644_between_decimal_nmbys.py",
      "read_script": "generator/df-reads-spark/1644_between_decimal_nmbys.sql",
      "description": "BETWEEN DECIMAL in NOT MATCHED BY SOURCE condition. INSERT 100 rows with amount = ROUND(i*3.0, 2). MERGE from 60-row CTE: WHEN MATCHED -> tag='matched'; WHEN NOT MATCHED BY SOURCE AND amount BETWEEN 100 AND 300 -> DELETE (40 rows, ids 61-100); WHEN NOT MATCHED BY SOURCE ->...",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 5183,
      "write_warm_ms": 5348,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1645_functions_time_travel",
      "num": 1645,
      "name": "functions_time_travel",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1645_functions_time_travel.py",
      "read_script": "generator/df-reads-spark/1645_functions_time_travel.sql",
      "description": "Function-based UPDATE then time travel to pre-function version. Spark reads V1 via time travel to verify original data accessible.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 5616,
      "write_warm_ms": 4849,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1646_negation_time_travel",
      "num": 1646,
      "name": "negation_time_travel",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1646_negation_time_travel.py",
      "read_script": "generator/df-reads-spark/1646_negation_time_travel.sql",
      "description": "NOT BETWEEN DELETE then time travel to pre-delete version. Spark reads V1 via time travel to verify all 100 rows accessible.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "write_cold_ms": 6019,
      "write_warm_ms": 5963,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1647_between_decimal_stats",
      "num": 1647,
      "name": "between_decimal_stats",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1647_between_decimal_stats.py",
      "read_script": "generator/df-reads-spark/1647_between_decimal_stats.sql",
      "description": "BETWEEN DECIMAL + predicate pushdown / stats verification. 4 batches with non-overlapping DECIMAL ranges so predicates can skip files. Batch1 (ids 1-50): amount = ROUND(i*2.0, 2) => 2.00..100.00 Batch2 (ids 51-100): amount = ROUND((i+50)*2.0+100, 2) => 202.00..300.00",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "write_cold_ms": 5701,
      "write_warm_ms": 6133,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1648_functions_checkpoint",
      "num": 1648,
      "name": "functions_checkpoint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1648_functions_checkpoint.py",
      "read_script": "generator/df-reads-spark/1648_functions_checkpoint.sql",
      "description": "Functions across 12+ commits to force checkpoint creation. 11 INSERT batches of 10 rows each (110 rows total), then ABS UPDATE. With CREATE=V0, 11 INSERTs=V1-V11, UPDATE=V12 => checkpoint at V10.",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 14,
      "read_warm_ms": 2,
      "write_cold_ms": 24454,
      "write_warm_ms": 22052,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1649_negation_checkpoint",
      "num": 1649,
      "name": "negation_checkpoint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1649_negation_checkpoint.py",
      "read_script": "generator/df-reads-spark/1649_negation_checkpoint.sql",
      "description": "NOT BETWEEN across 12+ commits to force checkpoint creation. 11 INSERT batches of 10 rows each (110 rows total), score = (id*7)%100. Then DELETE WHERE score NOT BETWEEN 20 AND 80.",
      "status": "pass",
      "duration_ms": 25,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 25,
      "read_warm_ms": 6,
      "write_cold_ms": 22213,
      "write_warm_ms": 22980,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/164_multipart_checkpoint_large",
      "num": 164,
      "name": "multipart_checkpoint_large",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/164_multipart_checkpoint_large.py",
      "read_script": "generator/df-reads-spark/164_multipart_checkpoint_large.sql",
      "description": "Large multipart checkpoint handling. 10 batches of 100 records (1000 total). Batch 0 uses INSERT OVERWRITE, rest INSERT INTO. 5 UPDATE operations after all inserts.",
      "status": "pass",
      "duration_ms": 32,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 32,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:checkpoint-multipart",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 9169,
      "write_warm_ms": 9470
    },
    {
      "id": "spark-writes/delta/1650_ultimate_gap_final",
      "num": 1650,
      "name": "ultimate_gap_final",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1650_ultimate_gap_final.py",
      "read_script": "generator/df-reads-spark/1650_ultimate_gap_final.sql",
      "description": "FINAL ULTIMATE test combining every remaining gap: CDC, colmap=name, PARTITIONED BY DECIMAL tier, SQL functions, negation predicates, BETWEEN DECIMAL in MERGE, NM-BY-SOURCE, constraint, schema evolution, Z-ORDER, VACUUM.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Spark OSS cannot generate (CDF + column mapping schema change = DELTA_BLOCK_COLUMN_MAPPING_AND_CDC_OPERATION)",
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "delta:vacuum",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1651_partdir_string_basic",
      "num": 1651,
      "name": "partdir_string_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1651_partdir_string_basic.py",
      "read_script": "generator/df-reads-spark/1651_partdir_string_basic.sql",
      "description": "Basic STRING partition with simple ASCII values. 90 rows (30 per region: US, EU, AP). Partition dirs: region=US, region=EU, region=AP.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "write_cold_ms": 4689,
      "write_warm_ms": 4797,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1652_partdir_string_spaces",
      "num": 1652,
      "name": "partdir_string_spaces",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1652_partdir_string_spaces.py",
      "read_script": "generator/df-reads-spark/1652_partdir_string_spaces.sql",
      "description": "STRING partition with spaces in values. Tests URL-encoding of spaces in partition directory names. 80 rows (20 per category).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 6457,
      "write_warm_ms": 6881,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1653_partdir_string_special",
      "num": 1653,
      "name": "partdir_string_special",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1653_partdir_string_special.py",
      "read_script": "generator/df-reads-spark/1653_partdir_string_special.sql",
      "description": "Tests URL-encoding of special chars in partition dirs. 80 rows (20 per tag: 'a/b', 'c=d', 'e%f', 'normal').",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "write_cold_ms": 6187,
      "write_warm_ms": 6438,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1654_partdir_string_empty",
      "num": 1654,
      "name": "partdir_string_empty",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1654_partdir_string_empty.py",
      "read_script": "generator/df-reads-spark/1654_partdir_string_empty.sql",
      "description": "STRING partition with empty string value. Tests that empty string partition dir exists and is distinct from NULL. 60 rows (20 per cat: '', 'A', 'B').",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "write_cold_ms": 4893,
      "write_warm_ms": 5651,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1655_partdir_string_null",
      "num": 1655,
      "name": "partdir_string_null",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1655_partdir_string_null.py",
      "read_script": "generator/df-reads-spark/1655_partdir_string_null.sql",
      "description": "STRING partition with NULL values. Tests that NULL partition uses __HIVE_DEFAULT_PARTITION__ directory. 80 rows: i%3=0 -> 'A', i%3=1 -> 'B', i%3=2 -> NULL.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "write_cold_ms": 1406,
      "write_warm_ms": 1614,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1656_partdir_string_unicode",
      "num": 1656,
      "name": "partdir_string_unicode",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1656_partdir_string_unicode.py",
      "read_script": "generator/df-reads-spark/1656_partdir_string_unicode.sql",
      "description": "STRING partition with characters requiring URL encoding: plus, ampersand, question mark. Tests URL-encoding in partition dirs. 60 rows (20 per label: 'a+b', 'x&y', 'p?q').",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "write_cold_ms": 5578,
      "write_warm_ms": 4965,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1657_partdir_int_basic",
      "num": 1657,
      "name": "partdir_int_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1657_partdir_int_basic.py",
      "read_script": "generator/df-reads-spark/1657_partdir_int_basic.sql",
      "description": "Basic INT partition with 4 values (0, 1, 2, 3). 100 rows (25 per bucket: 0, 1, 2, 3). bucket = i % 4.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "write_cold_ms": 1492,
      "write_warm_ms": 1884,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1658_partdir_int_negative",
      "num": 1658,
      "name": "partdir_int_negative",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1658_partdir_int_negative.py",
      "read_script": "generator/df-reads-spark/1658_partdir_int_negative.sql",
      "description": "INT partition with negative values. Tests directory names with negative integers. 80 rows (20 per level: -10, -1, 0, 10). level = {0:-10, 1:-1, 2:0, 3:10}[i%4].",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "write_cold_ms": 1469,
      "write_warm_ms": 1176,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1659_partdir_int_large",
      "num": 1659,
      "name": "partdir_int_large",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1659_partdir_int_large.py",
      "read_script": "generator/df-reads-spark/1659_partdir_int_large.sql",
      "description": "INT partition with large values (millions). Tests large integers in directory names. 60 rows (20 per group_id: 1000000, 2000000, 3000000). group_id = {0:1000000, 1:2000000, 2:3000000}[i%3].",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "write_cold_ms": 1305,
      "write_warm_ms": 1427,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/165_domain_metadata",
      "num": 165,
      "name": "domain_metadata",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/165_domain_metadata.py",
      "read_script": "generator/df-reads-spark/165_domain_metadata.sql",
      "description": "Domain metadata custom properties with data governance fields. 100 rows using deterministic formulas with entity_type from 3 types.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 896,
      "write_warm_ms": 912
    },
    {
      "id": "spark-writes/delta/1660_partdir_int_null",
      "num": 1660,
      "name": "partdir_int_null",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1660_partdir_int_null.py",
      "read_script": "generator/df-reads-spark/1660_partdir_int_null.sql",
      "description": "INT partition with NULL values. Tests that NULL uses __HIVE_DEFAULT_PARTITION__. 100 rows: i%5=0 -> NULL, else -> i%4 (values 0,1,2,3). 5 partitions: 0, 1, 2, 3, NULL.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "write_cold_ms": 1166,
      "write_warm_ms": 1501,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1661_partdir_int_zero",
      "num": 1661,
      "name": "partdir_int_zero",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1661_partdir_int_zero.py",
      "read_script": "generator/df-reads-spark/1661_partdir_int_zero.sql",
      "description": "INT partition where one value is 0. Tests tier=0 directory exists. 60 rows (20 per tier: 0, 1, 2). tier = {0:0, 1:1, 2:2}[i%3].",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "write_cold_ms": 1674,
      "write_warm_ms": 1115,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1662_partdir_int_dml",
      "num": 1662,
      "name": "partdir_int_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1662_partdir_int_dml.py",
      "read_script": "generator/df-reads-spark/1662_partdir_int_dml.sql",
      "description": "INT partition with UPDATE, DELETE, and MERGE targeting specific partitions. 120 rows initial (30 per bucket: 0, 1, 2, 3). bucket = i % 4.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "write_cold_ms": 9489,
      "write_warm_ms": 9112,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1663_partdir_boolean_basic",
      "num": 1663,
      "name": "partdir_boolean_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1663_partdir_boolean_basic.py",
      "read_script": "generator/df-reads-spark/1663_partdir_boolean_basic.sql",
      "description": "BOOLEAN partition with true/false values. Tests exact directory names. 100 rows (50 true, 50 false). even i -> true, odd i -> false.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "write_cold_ms": 1542,
      "write_warm_ms": 1623,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1664_partdir_boolean_null",
      "num": 1664,
      "name": "partdir_boolean_null",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1664_partdir_boolean_null.py",
      "read_script": "generator/df-reads-spark/1664_partdir_boolean_null.sql",
      "description": "BOOLEAN partition with NULL values. Tests that NULL uses __HIVE_DEFAULT_PARTITION__. 90 rows: i%3=0 -> NULL, i%3=1 -> true, i%3=2 -> false.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "write_cold_ms": 1447,
      "write_warm_ms": 1589,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1665_partdir_boolean_dml",
      "num": 1665,
      "name": "partdir_boolean_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1665_partdir_boolean_dml.py",
      "read_script": "generator/df-reads-spark/1665_partdir_boolean_dml.sql",
      "description": "BOOLEAN partition with DML operations. 200 rows initial (100 true, 100 false).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "write_cold_ms": 5695,
      "write_warm_ms": 5623,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1666_partdir_decimal_basic",
      "num": 1666,
      "name": "partdir_decimal_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1666_partdir_decimal_basic.py",
      "read_script": "generator/df-reads-spark/1666_partdir_decimal_basic.sql",
      "description": "DECIMAL(5,2) partition with known values. Tests exact directory names. 80 rows (20 per tier: 10.00, 25.50, 99.99, 100.00). tier = {0:10.00, 1:25.50, 2:99.99, 3:100.00}[i%4].",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "write_cold_ms": 1779,
      "write_warm_ms": 1641,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1667_partdir_decimal_negative",
      "num": 1667,
      "name": "partdir_decimal_negative",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1667_partdir_decimal_negative.py",
      "read_script": "generator/df-reads-spark/1667_partdir_decimal_negative.sql",
      "description": "DECIMAL(8,2) partition with negative values. Tests directory names with negative DECIMAL. 60 rows (20 per level: -50.25, 0.00, 100.50). level = {0:-50.25, 1:0.00, 2:100.50}[i%3].",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "write_cold_ms": 1316,
      "write_warm_ms": 1534,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1668_partdir_decimal_zero",
      "num": 1668,
      "name": "partdir_decimal_zero",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1668_partdir_decimal_zero.py",
      "read_script": "generator/df-reads-spark/1668_partdir_decimal_zero.sql",
      "description": "DECIMAL(6,2) partition with exact 0.00. Tests zero DECIMAL partition directory encoding. 60 rows (20 per rate: 0.00, 1.50, 99.99). rate = {0:0.00, 1:1.50, 2:99.99}[i%3].",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "write_cold_ms": 1619,
      "write_warm_ms": 1373,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1669_partdir_decimal_precision",
      "num": 1669,
      "name": "partdir_decimal_precision",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1669_partdir_decimal_precision.py",
      "read_script": "generator/df-reads-spark/1669_partdir_decimal_precision.sql",
      "description": "DECIMAL(10,4) partition to test precision in dir names (4 decimal places). 80 rows (20 per price: 1.0001, 2.5000, 10.9999, 0.0100). price = {0:1.0001, 1:2.5000, 2:10.9999, 3:0.0100}[i%4].",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 1713,
      "write_warm_ms": 1458,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/166_ecosystem_torture",
      "num": 166,
      "name": "ecosystem_torture",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/166_ecosystem_torture.py",
      "read_script": "generator/df-reads-spark/166_ecosystem_torture.sql",
      "description": "Ultimate interoperability stress test with multiple features. Deletion Vectors, partitioning by region, complex types (DECIMAL, TIMESTAMP, BOOLEAN, FLOAT). 500 rows inserted, UPDATE status for multiples of 50, DELETE multiples of 100, OPTIMIZE.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 3268,
      "write_warm_ms": 3083
    },
    {
      "id": "spark-writes/delta/1670_partdir_decimal_dml",
      "num": 1670,
      "name": "partdir_decimal_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1670_partdir_decimal_dml.py",
      "read_script": "generator/df-reads-spark/1670_partdir_decimal_dml.sql",
      "description": "DECIMAL(5,2) partition with UPDATE and DELETE. 100 rows (25 per tier).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "write_cold_ms": 5617,
      "write_warm_ms": 4955,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1671_partdir_date_basic",
      "num": 1671,
      "name": "partdir_date_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1671_partdir_date_basic.py",
      "read_script": "generator/df-reads-spark/1671_partdir_date_basic.sql",
      "description": "DATE partition with 4 date values. Tests exact date directory names. 80 rows (20 per date). Dates (days since epoch): 19723=2024-01-02, 19753=2024-02-01, 19783=2024-03-02, 19813=2024-04-01. date = {0:19723, 1:19753, 2:19783, 3:19813}[i%4].",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 1374,
      "write_warm_ms": 1695,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1672_partdir_date_null",
      "num": 1672,
      "name": "partdir_date_null",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1672_partdir_date_null.py",
      "read_script": "generator/df-reads-spark/1672_partdir_date_null.sql",
      "description": "DATE partition with NULL values. Tests NULL uses __HIVE_DEFAULT_PARTITION__. 80 rows: i%5=0 -> NULL, else -> one of 4 dates.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "write_cold_ms": 1433,
      "write_warm_ms": 1334,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1673_partdir_date_dml",
      "num": 1673,
      "name": "partdir_date_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1673_partdir_date_dml.py",
      "read_script": "generator/df-reads-spark/1673_partdir_date_dml.sql",
      "description": "DATE partition with DML per date partition. 120 rows (30 per date).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "write_cold_ms": 5722,
      "write_warm_ms": 5430,
      "tags": [
        "type:date",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1674_partdir_date_many",
      "num": 1674,
      "name": "partdir_date_many",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1674_partdir_date_many.py",
      "read_script": "generator/df-reads-spark/1674_partdir_date_many.sql",
      "description": "DATE partition with 12 distinct dates (one per month). Tests all 12 partition dirs. 120 rows (10 per month). Dates: 19723 + (i%12)*30 days from epoch.",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 14,
      "read_warm_ms": 5,
      "write_cold_ms": 1572,
      "write_warm_ms": 1701,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1675_partdir_two_string",
      "num": 1675,
      "name": "partdir_two_string",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1675_partdir_two_string.py",
      "read_script": "generator/df-reads-spark/1675_partdir_two_string.sql",
      "description": "Two STRING partition columns. Tests nested partition directory structure. 90 rows (10 per combo: 3 regions x 3 categories = 9 combos). region: US, EU, AP. category: A, B, C.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "write_cold_ms": 1834,
      "write_warm_ms": 1313,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1676_partdir_int_string",
      "num": 1676,
      "name": "partdir_int_string",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1676_partdir_int_string.py",
      "read_script": "generator/df-reads-spark/1676_partdir_int_string.sql",
      "description": "INT + STRING partition columns. Tests nested partition directory structure. 120 rows (20 per combo: 2 years x 3 regions = 6 combos). year: 2024 (even), 2025 (odd). region: US/EU/AP based on i%3.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "write_cold_ms": 1977,
      "write_warm_ms": 1561,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1677_partdir_boolean_int",
      "num": 1677,
      "name": "partdir_boolean_int",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1677_partdir_boolean_int.py",
      "read_script": "generator/df-reads-spark/1677_partdir_boolean_int.sql",
      "description": "BOOLEAN + INT partition columns. Tests nested partition directory structure. 120 rows (20 per combo: 2 booleans x 3 tiers = 6 combos). active: even -> true, odd -> false. tier: i % 3.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "write_cold_ms": 1517,
      "write_warm_ms": 1579,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1678_partdir_three_cols",
      "num": 1678,
      "name": "partdir_three_cols",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1678_partdir_three_cols.py",
      "read_script": "generator/df-reads-spark/1678_partdir_three_cols.sql",
      "description": "Three partition columns (STRING + INT + BOOLEAN). Tests nested three-level dirs. 120 rows: region US/EU, bucket i%3, flag i%4<2. 12 combos (2*3*2), 10 rows each.",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 15,
      "read_warm_ms": 5,
      "write_cold_ms": 2090,
      "write_warm_ms": 1818,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1679_partdir_string_cdc",
      "num": 1679,
      "name": "partdir_string_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1679_partdir_string_cdc.py",
      "read_script": "generator/df-reads-spark/1679_partdir_string_cdc.sql",
      "description": "STRING partition + CDC enabled. 90 rows initial (30 per region: US, EU, AP).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "write_cold_ms": 9102,
      "write_warm_ms": 9648,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/167_ecosystem_torture_interop",
      "num": 167,
      "name": "ecosystem_torture_interop",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/167_ecosystem_torture_interop.py",
      "read_script": "generator/df-reads-spark/167_ecosystem_torture_interop.sql",
      "description": "Ultimate interoperability stress test with column mapping enabled. Same data formulas as 166 but with column mapping mode=name. 500 rows inserted, UPDATE/DELETE/OPTIMIZE. Final: 495 rows.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 3125,
      "write_warm_ms": 3163
    },
    {
      "id": "spark-writes/delta/1680_partdir_decimal_colmap",
      "num": 1680,
      "name": "partdir_decimal_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1680_partdir_decimal_colmap.py",
      "read_script": "generator/df-reads-spark/1680_partdir_decimal_colmap.sql",
      "description": "DECIMAL(5,2) partition + column mapping (name mode). Verifies partition dirs use DECIMAL values and logical column names preserved. 80 rows (20 per tier: 10.00, 25.50, 50.75, 99.99).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 5024,
      "write_warm_ms": 5573,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1681_stats_int_range_per_file",
      "num": 1681,
      "name": "stats_int_range_per_file",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1681_stats_int_range_per_file.py",
      "read_script": "generator/df-reads-spark/1681_stats_int_range_per_file.sql",
      "description": "3 INSERT batches with disjoint INT ranges per file.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "write_cold_ms": 4922,
      "write_warm_ms": 5434,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1682_stats_decimal_range_per_file",
      "num": 1682,
      "name": "stats_decimal_range_per_file",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1682_stats_decimal_range_per_file.py",
      "read_script": "generator/df-reads-spark/1682_stats_decimal_range_per_file.sql",
      "description": "3 INSERT batches with disjoint DECIMAL(10,2) ranges.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "write_cold_ms": 5462,
      "write_warm_ms": 5040,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1683_stats_timestamp_range_per_file",
      "num": 1683,
      "name": "stats_timestamp_range_per_file",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1683_stats_timestamp_range_per_file.py",
      "read_script": "generator/df-reads-spark/1683_stats_timestamp_range_per_file.sql",
      "description": "3 INSERT batches with disjoint TIMESTAMP ranges.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 5,
      "write_cold_ms": 6317,
      "write_warm_ms": 6379,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1684_stats_string_range_per_file",
      "num": 1684,
      "name": "stats_string_range_per_file",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1684_stats_string_range_per_file.py",
      "read_script": "generator/df-reads-spark/1684_stats_string_range_per_file.sql",
      "description": "3 INSERT batches with disjoint STRING prefix ranges.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "write_cold_ms": 5973,
      "write_warm_ms": 5719,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1685_stats_boolean_per_file",
      "num": 1685,
      "name": "stats_boolean_per_file",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1685_stats_boolean_per_file.py",
      "read_script": "generator/df-reads-spark/1685_stats_boolean_per_file.sql",
      "description": "2 INSERT batches: one all-true, one all-false.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "write_cold_ms": 4591,
      "write_warm_ms": 3375,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1686_stats_double_range_per_file",
      "num": 1686,
      "name": "stats_double_range_per_file",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1686_stats_double_range_per_file.py",
      "read_script": "generator/df-reads-spark/1686_stats_double_range_per_file.sql",
      "description": "3 INSERT batches with disjoint DOUBLE ranges.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 11,
      "read_warm_ms": 5,
      "write_cold_ms": 6822,
      "write_warm_ms": 6243,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1687_stats_null_count_per_file",
      "num": 1687,
      "name": "stats_null_count_per_file",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1687_stats_null_count_per_file.py",
      "read_script": "generator/df-reads-spark/1687_stats_null_count_per_file.sql",
      "description": "3 INSERT batches with varying NULL counts.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "write_cold_ms": 5472,
      "write_warm_ms": 5469,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1688_stats_after_update_min",
      "num": 1688,
      "name": "stats_after_update_min",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1688_stats_after_update_min.py",
      "read_script": "generator/df-reads-spark/1688_stats_after_update_min.sql",
      "description": "2 INSERT batches, UPDATE raises the minimum in batch 1. UPDATE SET score=score+50 WHERE id<=50.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "write_cold_ms": 6528,
      "write_warm_ms": 6291,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1689_stats_after_update_max",
      "num": 1689,
      "name": "stats_after_update_max",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1689_stats_after_update_max.py",
      "read_script": "generator/df-reads-spark/1689_stats_after_update_max.sql",
      "description": "2 INSERT batches, UPDATE lowers the maximum in batch 1. UPDATE SET score=score-20 WHERE id<=50 AND score>=40.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 6145,
      "write_warm_ms": 5339,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/168_dbx_insert_into_deltaflow",
      "num": 168,
      "name": "dbx_insert_into_deltaflow",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/168_dbx_insert_into_deltaflow.py",
      "read_script": "generator/df-reads-spark/168_dbx_insert_into_deltaflow.sql",
      "description": "100 rows with deterministic formulas.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 524,
      "write_warm_ms": 524
    },
    {
      "id": "spark-writes/delta/1690_stats_after_delete_via_dv",
      "num": 1690,
      "name": "stats_after_delete_via_dv",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1690_stats_after_delete_via_dv.py",
      "read_script": "generator/df-reads-spark/1690_stats_after_delete_via_dv.sql",
      "description": "2 INSERT batches, DELETE max row via DV. Stats may be stale (DV hides deleted row). DELETE WHERE score=99.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 6270,
      "write_warm_ms": 6396,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1691_stats_after_optimize",
      "num": 1691,
      "name": "stats_after_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1691_stats_after_optimize.py",
      "read_script": "generator/df-reads-spark/1691_stats_after_optimize.sql",
      "description": "4 INSERT batches with non-overlapping ranges, then OPTIMIZE. 4 batches: scores [0,24], [25,49], [50,74], [75,99]. OPTIMIZE compacts.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 8468,
      "write_warm_ms": 9595,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1692_stats_after_merge",
      "num": 1692,
      "name": "stats_after_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1692_stats_after_merge.py",
      "read_script": "generator/df-reads-spark/1692_stats_after_merge.sql",
      "description": "2 INSERT batches, MERGE rewrites batch 1 scores to new range. MERGE updates batch 1 scores to 200-249.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 9553,
      "write_warm_ms": 7551,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1693_stats_after_schema_evolve",
      "num": 1693,
      "name": "stats_after_schema_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1693_stats_after_schema_evolve.py",
      "read_script": "generator/df-reads-spark/1693_stats_after_schema_evolve.sql",
      "description": "2 INSERT batches, ADD COLUMN, 1 more batch. New column has NULLs in old files.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "write_cold_ms": 6245,
      "write_warm_ms": 7417,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1694_stats_decimal_precision",
      "num": 1694,
      "name": "stats_decimal_precision",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1694_stats_decimal_precision.py",
      "read_script": "generator/df-reads-spark/1694_stats_decimal_precision.sql",
      "description": "2 INSERT batches with DECIMAL values differing at 4th decimal place.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "write_cold_ms": 3912,
      "write_warm_ms": 3796,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1695_stats_negative_int",
      "num": 1695,
      "name": "stats_negative_int",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1695_stats_negative_int.py",
      "read_script": "generator/df-reads-spark/1695_stats_negative_int.sql",
      "description": "2 INSERT batches: negative range and positive range.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "write_cold_ms": 3725,
      "write_warm_ms": 5193,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1696_stats_negative_decimal",
      "num": 1696,
      "name": "stats_negative_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1696_stats_negative_decimal.py",
      "read_script": "generator/df-reads-spark/1696_stats_negative_decimal.sql",
      "description": "2 INSERT batches: negative and positive DECIMAL.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "write_cold_ms": 4410,
      "write_warm_ms": 3445,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1697_stats_all_same_int",
      "num": 1697,
      "name": "stats_all_same_int",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1697_stats_all_same_int.py",
      "read_script": "generator/df-reads-spark/1697_stats_all_same_int.sql",
      "description": "2 INSERT batches: batch1 all score=42, batch2 all score=99.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "write_cold_ms": 3863,
      "write_warm_ms": 3801,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1698_stats_all_null",
      "num": 1698,
      "name": "stats_all_null",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1698_stats_all_null.py",
      "read_script": "generator/df-reads-spark/1698_stats_all_null.sql",
      "description": "2 INSERT batches: batch1 non-NULL score, batch2 all NULL score.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "write_cold_ms": 3696,
      "write_warm_ms": 3417,
      "tags": [
        "type:integer",
        "type:null-handling",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1699_stats_wide_range",
      "num": 1699,
      "name": "stats_wide_range",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1699_stats_wide_range.py",
      "read_script": "generator/df-reads-spark/1699_stats_wide_range.sql",
      "description": "2 INSERT batches with BIGINT at extreme ranges.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "write_cold_ms": 3678,
      "write_warm_ms": 4084,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/169_dbx_optimize_deltaflow",
      "num": 169,
      "name": "dbx_optimize_deltaflow",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/169_dbx_optimize_deltaflow.py",
      "read_script": "generator/df-reads-spark/169_dbx_optimize_deltaflow.sql",
      "description": "Creates file fragmentation with 20 small INSERT batches (10 rows each = 200 total). Used for OPTIMIZE testing.",
      "status": "pass",
      "duration_ms": 40,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 40,
      "read_warm_ms": 14,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 5754,
      "write_warm_ms": 5611
    },
    {
      "id": "spark-writes/delta/16_action_remove_file_with_tombstone",
      "num": 16,
      "name": "action_remove_file_with_tombstone",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/16_action_remove_file_with_tombstone.py",
      "read_script": "generator/df-reads-spark/16_action_remove_file_with_tombstone.sql",
      "description": "GDPR compliance and user data deletion. 20000 rows across 4 batches (5000 each). Multiple DELETE operations based on deletion criteria.",
      "status": "pass",
      "duration_ms": 32,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 32,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 7293,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1700_stats_after_zorder",
      "num": 1700,
      "name": "stats_after_zorder",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1700_stats_after_zorder.py",
      "read_script": "generator/df-reads-spark/1700_stats_after_zorder.sql",
      "description": "4 INSERT batches then Z-ORDER BY (score). Stats on Z-ORDER output files reflect re-organized data.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 12784,
      "write_warm_ms": 10379,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1701_stats_after_vacuum",
      "num": 1701,
      "name": "stats_after_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1701_stats_after_vacuum.py",
      "read_script": "generator/df-reads-spark/1701_stats_after_vacuum.sql",
      "description": "4 INSERT batches, OPTIMIZE, VACUUM 0 HOURS. Stats on surviving (compacted) files after vacuum removes old files.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 24555,
      "write_warm_ms": 18281,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1702_stats_partition",
      "num": 1702,
      "name": "stats_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1702_stats_partition.py",
      "read_script": "generator/df-reads-spark/1702_stats_partition.sql",
      "description": "Partitioned table with 2 batches per partition. Per-file stats in partition context. 3 regions x 2 batches = 6 files.",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 16,
      "read_warm_ms": 7,
      "write_cold_ms": 7337,
      "write_warm_ms": 7021,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1703_stats_cdc",
      "num": 1703,
      "name": "stats_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1703_stats_cdc.py",
      "read_script": "generator/df-reads-spark/1703_stats_cdc.sql",
      "description": "CDC table with 2 INSERT batches. Stats on data files (not CDC files).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "write_cold_ms": 3185,
      "write_warm_ms": 2741,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1704_stats_decimal_multi_precision",
      "num": 1704,
      "name": "stats_decimal_multi_precision",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1704_stats_decimal_multi_precision.py",
      "read_script": "generator/df-reads-spark/1704_stats_decimal_multi_precision.sql",
      "description": "2 INSERT batches with DECIMAL(10,2) + DECIMAL(18,8). Both column stats correct.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 2949,
      "write_warm_ms": 2777,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1705_stats_after_multiple_dml",
      "num": 1705,
      "name": "stats_after_multiple_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1705_stats_after_multiple_dml.py",
      "read_script": "generator/df-reads-spark/1705_stats_after_multiple_dml.sql",
      "description": "INSERT 2 batches, UPDATE, DELETE, INSERT 1 more. Stats on final file set after mixed DML.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 10,
      "read_warm_ms": 5,
      "write_cold_ms": 9609,
      "write_warm_ms": 8774,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1706_pushdown_int_eq",
      "num": 1706,
      "name": "pushdown_int_eq",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1706_pushdown_int_eq.py",
      "read_script": "generator/df-reads-spark/1706_pushdown_int_eq.sql",
      "description": "5 non-overlapping INT batches. WHERE score=42 should only scan 1 file. 5 batches: [0,19], [20,39], [40,59], [60,79], [80,99].",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 14,
      "read_warm_ms": 4,
      "write_cold_ms": 6960,
      "write_warm_ms": 7291,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1707_pushdown_int_gt",
      "num": 1707,
      "name": "pushdown_int_gt",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1707_pushdown_int_gt.py",
      "read_script": "generator/df-reads-spark/1707_pushdown_int_gt.sql",
      "description": "5 non-overlapping INT batches. WHERE score > 60 should skip batches 1-3. 5 batches: [0,19], [20,39], [40,59], [60,79], [80,99].",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 14,
      "read_warm_ms": 4,
      "write_cold_ms": 6686,
      "write_warm_ms": 6933,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1708_pushdown_int_lt",
      "num": 1708,
      "name": "pushdown_int_lt",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1708_pushdown_int_lt.py",
      "read_script": "generator/df-reads-spark/1708_pushdown_int_lt.sql",
      "description": "5 non-overlapping INT batches. WHERE score < 40 should skip batches 3-5. 5 batches: [0,19], [20,39], [40,59], [60,79], [80,99].",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 14,
      "read_warm_ms": 5,
      "write_cold_ms": 7079,
      "write_warm_ms": 6976,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1709_pushdown_decimal_eq",
      "num": 1709,
      "name": "pushdown_decimal_eq",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1709_pushdown_decimal_eq.py",
      "read_script": "generator/df-reads-spark/1709_pushdown_decimal_eq.sql",
      "description": "3 non-overlapping DECIMAL batches. WHERE amount = CAST(250.00 AS DECIMAL(10,2)).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "write_cold_ms": 4618,
      "write_warm_ms": 4508,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/170_dbx_delete_from_deltaflow",
      "num": 170,
      "name": "dbx_delete_from_deltaflow",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/170_dbx_delete_from_deltaflow.py",
      "read_script": "generator/df-reads-spark/170_dbx_delete_from_deltaflow.sql",
      "description": "Table with status field for DELETE testing. 25% of rows marked as 'inactive'. No partitioning. No deletion vectors.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 538,
      "write_warm_ms": 518
    },
    {
      "id": "spark-writes/delta/1710_pushdown_decimal_gt",
      "num": 1710,
      "name": "pushdown_decimal_gt",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1710_pushdown_decimal_gt.py",
      "read_script": "generator/df-reads-spark/1710_pushdown_decimal_gt.sql",
      "description": "3 non-overlapping DECIMAL batches. WHERE amount > CAST(300.00 AS DECIMAL(10,2)).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "write_cold_ms": 4809,
      "write_warm_ms": 4496,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1711_pushdown_timestamp_range",
      "num": 1711,
      "name": "pushdown_timestamp_range",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1711_pushdown_timestamp_range.py",
      "read_script": "generator/df-reads-spark/1711_pushdown_timestamp_range.sql",
      "description": "3 batches (Jan/Feb/Mar 2024). WHERE ts BETWEEN Feb boundaries.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "write_cold_ms": 4470,
      "write_warm_ms": 4212,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1712_pushdown_string_range",
      "num": 1712,
      "name": "pushdown_string_range",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1712_pushdown_string_range.py",
      "read_script": "generator/df-reads-spark/1712_pushdown_string_range.sql",
      "description": "3 batches (a_*/b_*/c_*). WHERE name >= 'b_' AND name < 'c_'.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "write_cold_ms": 4737,
      "write_warm_ms": 4342,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1713_pushdown_boolean",
      "num": 1713,
      "name": "pushdown_boolean",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1713_pushdown_boolean.py",
      "read_script": "generator/df-reads-spark/1713_pushdown_boolean.sql",
      "description": "2 batches (all true / all false). WHERE flag = true.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 3626,
      "write_warm_ms": 3074,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1714_pushdown_null",
      "num": 1714,
      "name": "pushdown_null",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1714_pushdown_null.py",
      "read_script": "generator/df-reads-spark/1714_pushdown_null.sql",
      "description": "2 batches (non-NULL / 50% NULL). WHERE score IS NOT NULL.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "write_cold_ms": 3006,
      "write_warm_ms": 3001,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1715_pushdown_compound",
      "num": 1715,
      "name": "pushdown_compound",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1715_pushdown_compound.py",
      "read_script": "generator/df-reads-spark/1715_pushdown_compound.sql",
      "description": "3 batches. WHERE score > 60 AND amount > CAST(400 AS DECIMAL(10,2)).",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "write_cold_ms": 4342,
      "write_warm_ms": 3926,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1716_pushdown_after_update",
      "num": 1716,
      "name": "pushdown_after_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1716_pushdown_after_update.py",
      "read_script": "generator/df-reads-spark/1716_pushdown_after_update.sql",
      "description": "5 batches, UPDATE shifts batch 3 scores +500. WHERE score > 500. 5 batches: [0,19], [20,39], [40,59], [60,79], [80,99]. UPDATE SET score=score+500 WHERE score BETWEEN 40 AND 59. After update, only rewritten batch 3 rows have score > 500.",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 14,
      "read_warm_ms": 6,
      "write_cold_ms": 7857,
      "write_warm_ms": 8577,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1717_pushdown_after_delete",
      "num": 1717,
      "name": "pushdown_after_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1717_pushdown_after_delete.py",
      "read_script": "generator/df-reads-spark/1717_pushdown_after_delete.sql",
      "description": "5 batches, DELETE all of batch 3 via DV. WHERE score BETWEEN 40 AND 59 returns 0 after delete. 5 batches: [0,19], [20,39], [40,59], [60,79], [80,99].",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 13,
      "read_warm_ms": 3,
      "write_cold_ms": 8352,
      "write_warm_ms": 8694,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1718_pushdown_negative",
      "num": 1718,
      "name": "pushdown_negative",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1718_pushdown_negative.py",
      "read_script": "generator/df-reads-spark/1718_pushdown_negative.sql",
      "description": "2 batches (negative / positive). WHERE val > 0.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "write_cold_ms": 3221,
      "write_warm_ms": 3359,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1719_pushdown_decimal_between",
      "num": 1719,
      "name": "pushdown_decimal_between",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1719_pushdown_decimal_between.py",
      "read_script": "generator/df-reads-spark/1719_pushdown_decimal_between.sql",
      "description": "3 disjoint DECIMAL batches. WHERE amount BETWEEN 200 AND 300.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "write_cold_ms": 5129,
      "write_warm_ms": 3839,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/171_reverse_dbx_delete_from_deltaflow",
      "num": 171,
      "name": "reverse_dbx_delete_from_deltaflow",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/171_reverse_dbx_delete_from_deltaflow.py",
      "read_script": "generator/df-reads-spark/171_reverse_dbx_delete_from_deltaflow.sql",
      "description": "2-step interop test. Step 1: DeltaForge (this script) creates table with 200 rows (50 inactive).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 524,
      "write_warm_ms": 514
    },
    {
      "id": "spark-writes/delta/1720_pushdown_partition_plus_stats",
      "num": 1720,
      "name": "pushdown_partition_plus_stats",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1720_pushdown_partition_plus_stats.py",
      "read_script": "generator/df-reads-spark/1720_pushdown_partition_plus_stats.sql",
      "description": "Partitioned table with 2 batches per partition (US/EU/AP regions). WHERE region='US' AND score > 50 uses partition pruning + stats skipping.",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 16,
      "read_warm_ms": 5,
      "write_cold_ms": 7791,
      "write_warm_ms": 8284,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1721_pushdown_decimal_lt",
      "num": 1721,
      "name": "pushdown_decimal_lt",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1721_pushdown_decimal_lt.py",
      "read_script": "generator/df-reads-spark/1721_pushdown_decimal_lt.sql",
      "description": "3 disjoint DECIMAL batches. WHERE amount < 150.00 hits batch 1 only.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "write_cold_ms": 4436,
      "write_warm_ms": 3661,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1722_pushdown_not_between",
      "num": 1722,
      "name": "pushdown_not_between",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1722_pushdown_not_between.py",
      "read_script": "generator/df-reads-spark/1722_pushdown_not_between.sql",
      "description": "5 INT batches. WHERE score NOT BETWEEN 40 AND 59 should skip batch 3.",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 15,
      "read_warm_ms": 4,
      "write_cold_ms": 6995,
      "write_warm_ms": 8306,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1723_pushdown_coalesce",
      "num": 1723,
      "name": "pushdown_coalesce",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1723_pushdown_coalesce.py",
      "read_script": "generator/df-reads-spark/1723_pushdown_coalesce.sql",
      "description": "2 batches. Batch 1: score [1,100] non-null. Batch 2: score NULL (odd i) or [1,50] (even i). WHERE COALESCE(score, 0) > 50 returns batch 1 rows where score > 50.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "write_cold_ms": 3521,
      "write_warm_ms": 3268,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1724_pushdown_abs",
      "num": 1724,
      "name": "pushdown_abs",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1724_pushdown_abs.py",
      "read_script": "generator/df-reads-spark/1724_pushdown_abs.sql",
      "description": "2 batches. Batch1: value [-500, -401]. Batch2: value [1, 100]. WHERE ABS(CAST(value AS DOUBLE)) > 300 returns all of batch 1.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "write_cold_ms": 3502,
      "write_warm_ms": 3191,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1725_pushdown_after_merge",
      "num": 1725,
      "name": "pushdown_after_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1725_pushdown_after_merge.py",
      "read_script": "generator/df-reads-spark/1725_pushdown_after_merge.sql",
      "description": "5 batches, MERGE updates batch 3 scores by +500. WHERE score > 500 should hit the rewritten file from batch 3.",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 18,
      "read_warm_ms": 6,
      "write_cold_ms": 12237,
      "write_warm_ms": 10755,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1726_nullable_all_nullable",
      "num": 1726,
      "name": "nullable_all_nullable",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1726_nullable_all_nullable.py",
      "read_script": "generator/df-reads-spark/1726_nullable_all_nullable.sql",
      "description": "All columns nullable (no NOT NULL constraints). Verify all fields marked nullable in Spark schema.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 1764,
      "write_warm_ms": 2213,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:null-handling",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1727_nullable_all_not_null",
      "num": 1727,
      "name": "nullable_all_not_null",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1727_nullable_all_not_null.py",
      "read_script": "generator/df-reads-spark/1727_nullable_all_not_null.sql",
      "description": "All columns NOT NULL. Verify all fields marked non-nullable in Spark schema.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "write_cold_ms": 2402,
      "write_warm_ms": 2270,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1728_nullable_mixed",
      "num": 1728,
      "name": "nullable_mixed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1728_nullable_mixed.py",
      "read_script": "generator/df-reads-spark/1728_nullable_mixed.sql",
      "description": "Mix of NOT NULL and nullable columns. id NOT NULL, name NOT NULL; score NULL for i%3=0, amount NULL for i%4=0, flag NULL for i%5=0.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "write_cold_ms": 2330,
      "write_warm_ms": 2101,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1729_nullable_after_update",
      "num": 1729,
      "name": "nullable_after_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1729_nullable_after_update.py",
      "read_script": "generator/df-reads-spark/1729_nullable_after_update.sql",
      "description": "NOT NULL + nullable. UPDATE sets nullable col to NULL for ids 1-30. id/name NOT NULL preserved. value has 30 NULLs after UPDATE.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "write_cold_ms": 4399,
      "write_warm_ms": 4235,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/172_merge_execute",
      "num": 172,
      "name": "merge_execute",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/172_merge_execute.py",
      "read_script": "generator/df-reads-spark/172_merge_execute.sql",
      "description": "MERGE target table with customer data. Deletion vectors enabled.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 499,
      "write_warm_ms": 600
    },
    {
      "id": "spark-writes/delta/1730_nullable_after_delete",
      "num": 1730,
      "name": "nullable_after_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1730_nullable_after_delete.py",
      "read_script": "generator/df-reads-spark/1730_nullable_after_delete.sql",
      "description": "NOT NULL + nullable after DELETE. DELETE removes every 3rd row (id%3=0), 33 rows removed.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "write_cold_ms": 6580,
      "write_warm_ms": 4338,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1731_nullable_after_merge",
      "num": 1731,
      "name": "nullable_after_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1731_nullable_after_merge.py",
      "read_script": "generator/df-reads-spark/1731_nullable_after_merge.sql",
      "description": "NOT NULL + MERGE. MERGE updates existing rows and inserts new ones. NOT NULL cols must remain non-null through MERGE.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 5708,
      "write_warm_ms": 6013,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1732_nullable_after_evolve",
      "num": 1732,
      "name": "nullable_after_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1732_nullable_after_evolve.py",
      "read_script": "generator/df-reads-spark/1732_nullable_after_evolve.sql",
      "description": "NOT NULL original cols + evolved nullable col. ALTER ADD COLUMN adds extra INT. Pre-evolution rows have extra=NULL.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "write_cold_ms": 3579,
      "write_warm_ms": 3211,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1733_nullable_partition",
      "num": 1733,
      "name": "nullable_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1733_nullable_partition.py",
      "read_script": "generator/df-reads-spark/1733_nullable_partition.sql",
      "description": "NOT NULL partition column. Partition column marked non-nullable. INSERT 120 rows across 3 regions, DELETE every 6th row.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "write_cold_ms": 5561,
      "write_warm_ms": 3540,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1734_nullable_decimal_not_null",
      "num": 1734,
      "name": "nullable_decimal_not_null",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1734_nullable_decimal_not_null.py",
      "read_script": "generator/df-reads-spark/1734_nullable_decimal_not_null.sql",
      "description": "DECIMAL NOT NULL column. amount is NOT NULL. UPDATE modifies name but not amount.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "write_cold_ms": 4277,
      "write_warm_ms": 4517,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1735_nullable_multiple_not_null",
      "num": 1735,
      "name": "nullable_multiple_not_null",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1735_nullable_multiple_not_null.py",
      "read_script": "generator/df-reads-spark/1735_nullable_multiple_not_null.sql",
      "description": "4 NOT NULL columns of different types + 1 nullable. DELETE removes every 5th row.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 4219,
      "write_warm_ms": 4509,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1736_order_descending",
      "num": 1736,
      "name": "order_descending",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1736_order_descending.py",
      "read_script": "generator/df-reads-spark/1736_order_descending.sql",
      "description": "INSERT data in descending order. Tests stats when max is first row. score goes from 100 down to 1. Stats should have min=1, max=100.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "write_cold_ms": 2488,
      "write_warm_ms": 1991,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1737_order_random_like",
      "num": 1737,
      "name": "order_random_like",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1737_order_random_like.py",
      "read_script": "generator/df-reads-spark/1737_order_random_like.sql",
      "description": "INSERT data in pseudo-random order. score = (i*53)%100. 2 batches of 100. Stats per file must cover actual range.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 3287,
      "write_warm_ms": 3496,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1738_duplicate_values",
      "num": 1738,
      "name": "duplicate_values",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1738_duplicate_values.py",
      "read_script": "generator/df-reads-spark/1738_duplicate_values.sql",
      "description": "2 batches, score = i%10, only 10 distinct values (0-9), each repeated 20 times.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "write_cold_ms": 3817,
      "write_warm_ms": 3747,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1739_constant_value_file",
      "num": 1739,
      "name": "constant_value_file",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1739_constant_value_file.py",
      "read_script": "generator/df-reads-spark/1739_constant_value_file.sql",
      "description": "2 batches with constant score values.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "write_cold_ms": 3119,
      "write_warm_ms": 3213,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/173_update_execute",
      "num": 173,
      "name": "update_execute",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/173_update_execute.py",
      "read_script": "generator/df-reads-spark/173_update_execute.sql",
      "description": "200 transaction rows with deletion vectors enabled. amount_cents BIGINT, region STRING, user_id STRING, created_at TIMESTAMP, processed_at TIMESTAMP, priority INT.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 492,
      "write_warm_ms": 572
    },
    {
      "id": "spark-writes/delta/1740_single_value_delete",
      "num": 1740,
      "name": "single_value_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1740_single_value_delete.py",
      "read_script": "generator/df-reads-spark/1740_single_value_delete.sql",
      "description": "INSERT 100 rows with score = (i*53)%100. DELETE all where score != 42. Only rows with score=42 survive. min=max=42 in remaining data.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 4366,
      "write_warm_ms": 5293,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1741_gap_in_ids",
      "num": 1741,
      "name": "gap_in_ids",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1741_gap_in_ids.py",
      "read_script": "generator/df-reads-spark/1741_gap_in_ids.sql",
      "description": "INSERT with gaps in id sequence (non-contiguous ids).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 4921,
      "write_warm_ms": 6484,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1742_extreme_int_values",
      "num": 1742,
      "name": "extreme_int_values",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1742_extreme_int_values.py",
      "read_script": "generator/df-reads-spark/1742_extreme_int_values.sql",
      "description": "100 normal rows (value=id) + 3 boundary rows: id=101: value=INT_MIN (-2147483648) id=102: value=0 id=103: value=INT_MAX (2147483647)",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "write_cold_ms": 2629,
      "write_warm_ms": 2236,
      "tags": [
        "type:boundary",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1743_extreme_bigint_values",
      "num": 1743,
      "name": "extreme_bigint_values",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1743_extreme_bigint_values.py",
      "read_script": "generator/df-reads-spark/1743_extreme_bigint_values.sql",
      "description": "100 normal rows (value = 999+id) + 3 boundary rows: id=101: value=-9223372036854775807 (near BIGINT_MIN) id=102: value=0 id=103: value=9223372036854775807 (BIGINT_MAX)",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 2101,
      "write_warm_ms": 2103,
      "tags": [
        "type:boundary",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1744_extreme_decimal_values",
      "num": 1744,
      "name": "extreme_decimal_values",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1744_extreme_decimal_values.py",
      "read_script": "generator/df-reads-spark/1744_extreme_decimal_values.sql",
      "description": "100 normal rows (small_dec = ROUND(i*1.23,2), large_dec = ROUND(i*1234.5678,4)) + 4 boundary rows: id=101: small_dec=-999.99, large_dec=-999999.9999, label='dec_min' id=102: small_dec=999.99, large_dec=999999.9999, label='dec_max' id=103: small_dec=0.01, large_dec=0.0001...",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "write_cold_ms": 2627,
      "write_warm_ms": 2929,
      "tags": [
        "type:boundary",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1745_extreme_double_values",
      "num": 1745,
      "name": "extreme_double_values",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1745_extreme_double_values.py",
      "read_script": "generator/df-reads-spark/1745_extreme_double_values.sql",
      "description": "100 normal rows (value = id * 0.01) + 5 boundary rows: id=101: value=1e-300 (tiny_pos) id=102: value=-1e-300 (tiny_neg) id=103: value=1e300 (huge_pos) id=104: value=-1e300 (huge_neg) id=105: value=0.0 (zero)",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "write_cold_ms": 2552,
      "write_warm_ms": 1949,
      "tags": [
        "type:boundary",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1746_all_null_column",
      "num": 1746,
      "name": "all_null_column",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1746_all_null_column.py",
      "read_script": "generator/df-reads-spark/1746_all_null_column.sql",
      "description": "phantom INT is NULL for all 100 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 2030,
      "write_warm_ms": 2029,
      "tags": [
        "type:integer",
        "type:null-handling",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1747_constant_string",
      "num": 1747,
      "name": "constant_string",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1747_constant_string.py",
      "read_script": "generator/df-reads-spark/1747_constant_string.sql",
      "description": "name='constant' for all 100 rows. Stats: min=max='constant'. score = id * 5.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 2449,
      "write_warm_ms": 2189,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1748_sparse_then_dense",
      "num": 1748,
      "name": "sparse_then_dense",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1748_sparse_then_dense.py",
      "read_script": "generator/df-reads-spark/1748_sparse_then_dense.sql",
      "description": "Batch 1: 90% NULL in score column. Batch 2: 0% NULL.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "write_cold_ms": 3268,
      "write_warm_ms": 3958,
      "tags": [
        "type:integer",
        "type:null-handling",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1749_wide_range_narrow_file",
      "num": 1749,
      "name": "wide_range_narrow_file",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1749_wide_range_narrow_file.py",
      "read_script": "generator/df-reads-spark/1749_wide_range_narrow_file.sql",
      "description": "2 batches with very different range widths.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 3235,
      "write_warm_ms": 3253,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/174_delete_dv",
      "num": 174,
      "name": "delete_dv",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/174_delete_dv.py",
      "read_script": "generator/df-reads-spark/174_delete_dv.sql",
      "description": "500 employee records with deletion vectors enabled. department STRING, level STRING, status STRING, hire_date TIMESTAMP, termination_date TIMESTAMP, salary INT.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 489,
      "write_warm_ms": 520
    },
    {
      "id": "spark-writes/delta/1750_ordering_stats_ultimate",
      "num": 1750,
      "name": "ordering_stats_ultimate",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1750_ordering_stats_ultimate.py",
      "read_script": "generator/df-reads-spark/1750_ordering_stats_ultimate.sql",
      "description": "5 batches with overlapping ranges, duplicates, NULLs, extreme values:",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 12,
      "read_warm_ms": 5,
      "write_cold_ms": 26137,
      "write_warm_ms": 8957,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1751_insert_group_by_sum",
      "num": 1751,
      "name": "insert_group_by_sum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1751_insert_group_by_sum.py",
      "read_script": "generator/df-reads-spark/1751_insert_group_by_sum.sql",
      "description": "INSERT INTO ... SELECT with GROUP BY and SUM aggregation.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3068,
      "write_warm_ms": 3066,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1752_insert_group_by_count",
      "num": 1752,
      "name": "insert_group_by_count",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1752_insert_group_by_count.py",
      "read_script": "generator/df-reads-spark/1752_insert_group_by_count.sql",
      "description": "INSERT INTO ... SELECT with GROUP BY and COUNT(*).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3236,
      "write_warm_ms": 2563,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1753_insert_group_by_avg",
      "num": 1753,
      "name": "insert_group_by_avg",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1753_insert_group_by_avg.py",
      "read_script": "generator/df-reads-spark/1753_insert_group_by_avg.sql",
      "description": "INSERT INTO ... SELECT with GROUP BY and AVG aggregation.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2871,
      "write_warm_ms": 3359,
      "tags": [
        "type:floating",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1754_insert_group_by_min_max",
      "num": 1754,
      "name": "insert_group_by_min_max",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1754_insert_group_by_min_max.py",
      "read_script": "generator/df-reads-spark/1754_insert_group_by_min_max.sql",
      "description": "INSERT INTO ... SELECT with GROUP BY and MIN/MAX aggregations.",
      "status": "pass",
      "duration_ms": 2,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 2,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3009,
      "write_warm_ms": 3270,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1755_insert_group_by_decimal",
      "num": 1755,
      "name": "insert_group_by_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1755_insert_group_by_decimal.py",
      "read_script": "generator/df-reads-spark/1755_insert_group_by_decimal.sql",
      "description": "INSERT INTO ... SELECT with GROUP BY SUM on a DECIMAL column.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3416,
      "write_warm_ms": 2741,
      "tags": [
        "type:decimal",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1756_insert_group_by_having",
      "num": 1756,
      "name": "insert_group_by_having",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1756_insert_group_by_having.py",
      "read_script": "generator/df-reads-spark/1756_insert_group_by_having.sql",
      "description": "HAVING COUNT(*) > 15: each cat has 20 rows so all 5 pass.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2605,
      "write_warm_ms": 2736,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1757_insert_group_by_two_cols",
      "num": 1757,
      "name": "insert_group_by_two_cols",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1757_insert_group_by_two_cols.py",
      "read_script": "generator/df-reads-spark/1757_insert_group_by_two_cols.sql",
      "description": "INSERT INTO ... SELECT with GROUP BY on two columns.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2521,
      "write_warm_ms": 2519,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1758_insert_group_by_partition",
      "num": 1758,
      "name": "insert_group_by_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1758_insert_group_by_partition.py",
      "read_script": "generator/df-reads-spark/1758_insert_group_by_partition.sql",
      "description": "INSERT INTO ... SELECT with GROUP BY into a PARTITIONED table.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3117,
      "write_warm_ms": 3448,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1759_insert_group_by_cdc",
      "num": 1759,
      "name": "insert_group_by_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1759_insert_group_by_cdc.py",
      "read_script": "generator/df-reads-spark/1759_insert_group_by_cdc.sql",
      "description": "INSERT INTO ... SELECT with GROUP BY into a CDC-enabled table.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4186,
      "write_warm_ms": 2498,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/175_check_enforce",
      "num": 175,
      "name": "check_enforce",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/175_check_enforce.py",
      "read_script": "generator/df-reads-spark/175_check_enforce.sql",
      "description": "100 product review rows with all values satisfying CHECK constraints. rating INT, product_name STRING, review_text STRING.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 523,
      "write_warm_ms": 528
    },
    {
      "id": "spark-writes/delta/1760_insert_group_by_then_dml",
      "num": 1760,
      "name": "insert_group_by_then_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1760_insert_group_by_then_dml.py",
      "read_script": "generator/df-reads-spark/1760_insert_group_by_then_dml.sql",
      "description": "INSERT INTO ... SELECT with GROUP BY, followed by UPDATE then DELETE.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 12028,
      "write_warm_ms": 8248,
      "tags": [
        "type:decimal",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1761_insert_distinct",
      "num": 1761,
      "name": "insert_distinct",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1761_insert_distinct.py",
      "read_script": "generator/df-reads-spark/1761_insert_distinct.sql",
      "description": "INSERT INTO ... SELECT DISTINCT with deduplication.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2120,
      "write_warm_ms": 2663,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1762_insert_distinct_decimal",
      "num": 1762,
      "name": "insert_distinct_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1762_insert_distinct_decimal.py",
      "read_script": "generator/df-reads-spark/1762_insert_distinct_decimal.sql",
      "description": "INSERT INTO ... SELECT DISTINCT with DECIMAL deduplication.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2660,
      "write_warm_ms": 3485,
      "tags": [
        "type:decimal",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1763_insert_distinct_multi_col",
      "num": 1763,
      "name": "insert_distinct_multi_col",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1763_insert_distinct_multi_col.py",
      "read_script": "generator/df-reads-spark/1763_insert_distinct_multi_col.sql",
      "description": "INSERT INTO ... SELECT DISTINCT on multiple columns.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2378,
      "write_warm_ms": 2472,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1764_insert_distinct_partition",
      "num": 1764,
      "name": "insert_distinct_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1764_insert_distinct_partition.py",
      "read_script": "generator/df-reads-spark/1764_insert_distinct_partition.sql",
      "description": "INSERT INTO ... SELECT DISTINCT into a PARTITIONED table.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2406,
      "write_warm_ms": 2064,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1765_insert_distinct_with_dml",
      "num": 1765,
      "name": "insert_distinct_with_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1765_insert_distinct_with_dml.py",
      "read_script": "generator/df-reads-spark/1765_insert_distinct_with_dml.sql",
      "description": "INSERT DISTINCT (10 rows) followed by UPDATE and DELETE.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8151,
      "write_warm_ms": 6969,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1766_insert_subquery_basic",
      "num": 1766,
      "name": "insert_subquery_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1766_insert_subquery_basic.py",
      "read_script": "generator/df-reads-spark/1766_insert_subquery_basic.sql",
      "description": "INSERT INTO ... SELECT FROM (SELECT ...) basic subquery.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2542,
      "write_warm_ms": 1986,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1767_insert_subquery_filtered",
      "num": 1767,
      "name": "insert_subquery_filtered",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1767_insert_subquery_filtered.py",
      "read_script": "generator/df-reads-spark/1767_insert_subquery_filtered.sql",
      "description": "INSERT INTO ... SELECT with WHERE on a subquery.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2533,
      "write_warm_ms": 2777,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1768_insert_subquery_aggregated",
      "num": 1768,
      "name": "insert_subquery_aggregated",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1768_insert_subquery_aggregated.py",
      "read_script": "generator/df-reads-spark/1768_insert_subquery_aggregated.sql",
      "description": "INSERT INTO ... SELECT from an aggregated subquery (GROUP BY in inner SELECT).",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2268,
      "write_warm_ms": 1542,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1769_insert_subquery_two_levels",
      "num": 1769,
      "name": "insert_subquery_two_levels",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1769_insert_subquery_two_levels.py",
      "read_script": "generator/df-reads-spark/1769_insert_subquery_two_levels.sql",
      "description": "INSERT via 2-level nested subquery. 50 rows. Deterministic formulas (i = 1..50): id = i (BIGINT) val = i*3 (INT)",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2777,
      "write_warm_ms": 2571,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/176_not_null_enforce",
      "num": 176,
      "name": "not_null_enforce",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/176_not_null_enforce.py",
      "read_script": "generator/df-reads-spark/176_not_null_enforce.sql",
      "description": "value = NULL when i%10==0, else 50000.0 + (i%50)*1000.0 status = statuses[i%3] where statuses = [\"active\", \"inactive\", \"on_leave\"]",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 502,
      "write_warm_ms": 561
    },
    {
      "id": "spark-writes/delta/1770_insert_subquery_with_join",
      "num": 1770,
      "name": "insert_subquery_with_join",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1770_insert_subquery_with_join.py",
      "read_script": "generator/df-reads-spark/1770_insert_subquery_with_join.sql",
      "description": "INSERT via derived subquery. 90 rows. id = i (BIGINT) region = \"US\" if i%3==0, \"EU\" if i%3==1, \"AP\" if i%3==2 value = i*10 (INT)",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2919,
      "write_warm_ms": 2186,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1771_insert_row_number",
      "num": 1771,
      "name": "insert_row_number",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1771_insert_row_number.py",
      "read_script": "generator/df-reads-spark/1771_insert_row_number.sql",
      "description": "INSERT with ROW_NUMBER() OVER (ORDER BY i). 100 rows. id = i (BIGINT) name = \"item_\" + i rn = i (ROW_NUMBER equals id since ordered by i)",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2492,
      "write_warm_ms": 2742,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1772_insert_row_number_partition",
      "num": 1772,
      "name": "insert_row_number_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1772_insert_row_number_partition.py",
      "read_script": "generator/df-reads-spark/1772_insert_row_number_partition.sql",
      "description": "INSERT with ROW_NUMBER() OVER (PARTITION BY i%3 ORDER BY i). 90 rows. id = i (BIGINT) region = \"US\" if i%3==0, \"EU\" if i%3==1, \"AP\" if i%3==2 rn_in_region = row number within each region, 1..30",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2242,
      "write_warm_ms": 2945,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1773_insert_rank",
      "num": 1773,
      "name": "insert_rank",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1773_insert_rank.py",
      "read_script": "generator/df-reads-spark/1773_insert_rank.sql",
      "description": "INSERT with RANK() OVER (ORDER BY score DESC) with ties. 100 rows. id = i (BIGINT) score = (i*53)%10 (INT) rnk = gap-style RANK based on score descending",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2645,
      "write_warm_ms": 2714,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1774_insert_sum_over",
      "num": 1774,
      "name": "insert_sum_over",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1774_insert_sum_over.py",
      "read_script": "generator/df-reads-spark/1774_insert_sum_over.sql",
      "description": "INSERT with SUM() OVER (ORDER BY i) cumulative sum. 50 rows. id = i (BIGINT) val = i (INT) running_total = i*(i+1)/2 (BIGINT, triangular numbers)",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2343,
      "write_warm_ms": 2514,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1775_insert_lag_lead",
      "num": 1775,
      "name": "insert_lag_lead",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1775_insert_lag_lead.py",
      "read_script": "generator/df-reads-spark/1775_insert_lag_lead.sql",
      "description": "INSERT with LAG and LEAD window functions. 50 rows. id = i (BIGINT) val = i*2 (INT) prev_val = (i-1)*2 if i>1, else 0 (INT, LAG default=0) next_val = (i+1)*2 if i<50, else 0 (INT, LEAD default=0)",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2295,
      "write_warm_ms": 2756,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1776_insert_window_partition",
      "num": 1776,
      "name": "insert_window_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1776_insert_window_partition.py",
      "read_script": "generator/df-reads-spark/1776_insert_window_partition.sql",
      "description": "INSERT with SUM() OVER (PARTITION BY region). 60 rows. id = i (BIGINT) region = \"US\" if i%3==0, \"EU\" if i%3==1, \"AP\" if i%3==2 value = i (INT) region_total = SUM(i) for all rows in same region (BIGINT)",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2342,
      "write_warm_ms": 2392,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1777_insert_dense_rank",
      "num": 1777,
      "name": "insert_dense_rank",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1777_insert_dense_rank.py",
      "read_script": "generator/df-reads-spark/1777_insert_dense_rank.sql",
      "description": "INSERT with DENSE_RANK() OVER (ORDER BY score DESC). 50 rows. id = i (BIGINT) score = (i*53)%10 (INT) dr = dense rank per score descending (no gaps for ties)",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2883,
      "write_warm_ms": 2322,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1778_insert_window_decimal",
      "num": 1778,
      "name": "insert_window_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1778_insert_window_decimal.py",
      "read_script": "generator/df-reads-spark/1778_insert_window_decimal.sql",
      "description": "INSERT with SUM() OVER (PARTITION BY region) on DECIMAL. 60 rows. id = i (BIGINT) region = \"US\" if i%3==0, \"EU\" if i%3==1, \"AP\" if i%3==2 amount = ROUND(i*9.99, 2) as DECIMAL(10,2) region_sum = SUM(amount) over region as DECIMAL(15,2)",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2588,
      "write_warm_ms": 2539,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1779_insert_window_then_dml",
      "num": 1779,
      "name": "insert_window_then_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1779_insert_window_then_dml.py",
      "read_script": "generator/df-reads-spark/1779_insert_window_then_dml.sql",
      "description": "INSERT with ROW_NUMBER, then UPDATE top-10.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5446,
      "write_warm_ms": 5330,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/177_generated_compute",
      "num": 177,
      "name": "generated_compute",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/177_generated_compute.py",
      "read_script": "generator/df-reads-spark/177_generated_compute.sql",
      "description": "100 order rows. Generated columns computed in Python (no DB-side generation). first_names = [\"John\", \"Jane\", \"Bob\", \"Alice\", \"Charlie\"] last_names = [\"Doe\", \"Smith\", \"Wilson\", \"Johnson\", \"Brown\"] id = i first_name = first_names[i%5] last_name = last_names[i%5]",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 577,
      "write_warm_ms": 484
    },
    {
      "id": "spark-writes/delta/1780_insert_aggregation_partition_cdc",
      "num": 1780,
      "name": "insert_aggregation_partition_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1780_insert_aggregation_partition_cdc.py",
      "read_script": "generator/df-reads-spark/1780_insert_aggregation_partition_cdc.sql",
      "description": "INSERT aggregated GROUP BY into CDC+partitioned table.",
      "status": "pass",
      "duration_ms": 2,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 2,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2230,
      "write_warm_ms": 2005,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1781_struct_zorder",
      "num": 1781,
      "name": "struct_zorder",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1781_struct_zorder.py",
      "read_script": "generator/df-reads-spark/1781_struct_zorder.sql",
      "description": "STRUCT column survives Z-ORDER. 4 batches of 50. OPTIMIZE ZORDER BY (score). id = absolute id (BIGINT) profile = STRUCT<name: \"p_i\", age: (i%60)+18> score = i-1 (note: score = absolute_id - 1)",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 9390,
      "write_warm_ms": 9506,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1782_struct_vacuum",
      "num": 1782,
      "name": "struct_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1782_struct_vacuum.py",
      "read_script": "generator/df-reads-spark/1782_struct_vacuum.sql",
      "description": "STRUCT column survives OPTIMIZE + VACUUM RETAIN 0 HOURS. 4 batches of 50. score = i (not i-1 like 1781).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 31322,
      "write_warm_ms": 26945,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1783_struct_restore",
      "num": 1783,
      "name": "struct_restore",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1783_struct_restore.py",
      "read_script": "generator/df-reads-spark/1783_struct_restore.sql",
      "description": "RESTORE undoes UPDATE on STRUCT table.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 17155,
      "write_warm_ms": 13778,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1784_date_zorder",
      "num": 1784,
      "name": "date_zorder",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1784_date_zorder.py",
      "read_script": "generator/df-reads-spark/1784_date_zorder.sql",
      "description": "DATE column with Z-ORDER BY (event_date). 4 batches of 50. 200 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8363,
      "write_warm_ms": 7907,
      "tags": [
        "type:date",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1785_date_vacuum",
      "num": 1785,
      "name": "date_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1785_date_vacuum.py",
      "read_script": "generator/df-reads-spark/1785_date_vacuum.sql",
      "description": "DATE column survives OPTIMIZE + VACUUM RETAIN 0 HOURS. Same 200-row data as 1784.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 21389,
      "write_warm_ms": 25985,
      "tags": [
        "type:date",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1786_date_restore",
      "num": 1786,
      "name": "date_restore",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1786_date_restore.py",
      "read_script": "generator/df-reads-spark/1786_date_restore.sql",
      "description": "RESTORE undoes DELETE on DATE table.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 14319,
      "write_warm_ms": 11729,
      "tags": [
        "type:date",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1787_binary_colmap",
      "num": 1787,
      "name": "binary_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1787_binary_colmap.py",
      "read_script": "generator/df-reads-spark/1787_binary_colmap.sql",
      "description": "BINARY column + column-mapping mode=name + UPDATE non-binary column. 100 rows: payload='payload_i' bytes, label='lbl_i'. UPDATE label='updated' WHERE id<=50.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5765,
      "write_warm_ms": 4618,
      "tags": [
        "type:binary",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1788_binary_constraint",
      "num": 1788,
      "name": "binary_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1788_binary_constraint.py",
      "read_script": "generator/df-reads-spark/1788_binary_constraint.sql",
      "description": "BINARY column + CHECK constraint on sibling score (score >= 0). 100 rows: payload='blob_i', score=i%100. UPDATE score=0 WHERE score<0 (no-op since all >=0).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5397,
      "write_warm_ms": 4019,
      "tags": [
        "type:binary",
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1789_binary_zorder",
      "num": 1789,
      "name": "binary_zorder",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1789_binary_zorder.py",
      "read_script": "generator/df-reads-spark/1789_binary_zorder.sql",
      "description": "BINARY column survives Z-ORDER BY (score). 4 batches of 50. payload='blob_i' bytes, score=i. 200 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 10273,
      "write_warm_ms": 7635,
      "tags": [
        "type:binary",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/178_v2_checkpoints",
      "num": 178,
      "name": "v2_checkpoints",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/178_v2_checkpoints.py",
      "read_script": "generator/df-reads-spark/178_v2_checkpoints.sql",
      "description": "Operations: categories = [\"electronics\", \"clothing\", \"home\", \"sports\", \"books\"] category = categories[(i*17)%5] value = 10 + (i%990) for initial; +10 if electronics; i*10 for new products",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 8529,
      "write_warm_ms": 8662
    },
    {
      "id": "spark-writes/delta/1790_binary_vacuum",
      "num": 1790,
      "name": "binary_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1790_binary_vacuum.py",
      "read_script": "generator/df-reads-spark/1790_binary_vacuum.sql",
      "description": "BINARY column survives OPTIMIZE + VACUUM RETAIN 0 HOURS. Same 200-row data as 1789 (4 batches, payload='blob_i', score=i).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 19735,
      "write_warm_ms": 19014,
      "tags": [
        "type:binary",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1791_binary_restore",
      "num": 1791,
      "name": "binary_restore",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1791_binary_restore.py",
      "read_script": "generator/df-reads-spark/1791_binary_restore.sql",
      "description": "RESTORE undoes UPDATE label='updated' on BINARY table.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 12282,
      "write_warm_ms": 12800,
      "tags": [
        "type:binary",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1792_tinyint_cdc",
      "num": 1792,
      "name": "tinyint_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1792_tinyint_cdc.py",
      "read_script": "generator/df-reads-spark/1792_tinyint_cdc.sql",
      "description": "TINYINT + CDF across INSERT/UPDATE/DELETE. INSERT 100 (val=i%127). UPDATE val=0 WHERE id<=30. DELETE WHERE id>80.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7430,
      "write_warm_ms": 6749,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1793_tinyint_zorder",
      "num": 1793,
      "name": "tinyint_zorder",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1793_tinyint_zorder.py",
      "read_script": "generator/df-reads-spark/1793_tinyint_zorder.sql",
      "description": "TINYINT column with Z-ORDER BY (val). 4 batches of 50. 200 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7261,
      "write_warm_ms": 7171,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1794_tinyint_vacuum",
      "num": 1794,
      "name": "tinyint_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1794_tinyint_vacuum.py",
      "read_script": "generator/df-reads-spark/1794_tinyint_vacuum.sql",
      "description": "TINYINT column survives OPTIMIZE + VACUUM RETAIN 0 HOURS. Same 200-row layout as 1793.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 20392,
      "write_warm_ms": 25896,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1795_smallint_cdc_partition",
      "num": 1795,
      "name": "smallint_cdc_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1795_smallint_cdc_partition.py",
      "read_script": "generator/df-reads-spark/1795_smallint_cdc_partition.sql",
      "description": "SMALLINT + CDF + PARTITIONED by region. 120 rows.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8270,
      "write_warm_ms": 6490,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1796_float_zorder",
      "num": 1796,
      "name": "float_zorder",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1796_float_zorder.py",
      "read_script": "generator/df-reads-spark/1796_float_zorder.sql",
      "description": "FLOAT column with Z-ORDER BY (val). 4 batches of 50. val = id * 1.25. 200 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8275,
      "write_warm_ms": 6706,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1797_float_vacuum",
      "num": 1797,
      "name": "float_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1797_float_vacuum.py",
      "read_script": "generator/df-reads-spark/1797_float_vacuum.sql",
      "description": "FLOAT column survives OPTIMIZE + VACUUM RETAIN 0 HOURS. Same 200-row data as 1796 (val = id * 1.25).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 24337,
      "write_warm_ms": 23129,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1798_float_restore",
      "num": 1798,
      "name": "float_restore",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1798_float_restore.py",
      "read_script": "generator/df-reads-spark/1798_float_restore.sql",
      "description": "RESTORE undoes UPDATE val*=10 on FLOAT table.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 11296,
      "write_warm_ms": 11312,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1799_struct_cdc_zorder",
      "num": 1799,
      "name": "struct_cdc_zorder",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1799_struct_cdc_zorder.py",
      "read_script": "generator/df-reads-spark/1799_struct_cdc_zorder.sql",
      "description": "STRUCT + CDF + Z-ORDER three-way combination. 4 batches of 50. score=i (id). OPTIMIZE ZORDER BY (score). CDF enabled. 200 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 9510,
      "write_warm_ms": 9017,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/179_type_widening_interop",
      "num": 179,
      "name": "type_widening_interop",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/179_type_widening_interop.py",
      "read_script": "generator/df-reads-spark/179_type_widening_interop.sql",
      "description": "where i in [501..600] -> ids 100501-100600 narrow ids: 1-500; wide ids: 100501-100600. value > INT32_MAX for wide records (3000000000+i). id<100 rows have '_updated' suffix in name.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 1770,
      "write_warm_ms": 1709
    },
    {
      "id": "spark-writes/delta/17_action_cdc_file_partitioned",
      "num": 17,
      "name": "action_cdc_file_partitioned",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/17_action_cdc_file_partitioned.py",
      "read_script": "generator/df-reads-spark/17_action_cdc_file_partitioned.sql",
      "description": "Multi-store retail inventory management. 14 columns. Partitioned by store_id. 10 stores (STORE-001..STORE-010). 10 categories cycling. 5 suppliers.",
      "status": "pass",
      "duration_ms": 29,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 29,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 931,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1800_complex_types_all_maintenance",
      "num": 1800,
      "name": "complex_types_all_maintenance",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1800_complex_types_all_maintenance.py",
      "read_script": "generator/df-reads-spark/1800_complex_types_all_maintenance.sql",
      "description": "All 4 complex types (STRUCT, BINARY, DATE, FLOAT) + INT score. 4 batches of 50. OPTIMIZE ZORDER BY (score). VACUUM RETAIN 0 HOURS. 200 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 23212,
      "write_warm_ms": 21987,
      "tags": [
        "type:binary",
        "type:date",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1801_delete_where_sign",
      "num": 1801,
      "name": "delete_where_sign",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1801_delete_where_sign.py",
      "read_script": "generator/df-reads-spark/1801_delete_where_sign.sql",
      "description": "DELETE WHERE SIGN(value) = -1. 200 rows: value=(i-100)*5. i<100 are negative.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5671,
      "write_warm_ms": 4568,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1802_delete_where_upper",
      "num": 1802,
      "name": "delete_where_upper",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1802_delete_where_upper.py",
      "read_script": "generator/df-reads-spark/1802_delete_where_upper.sql",
      "description": "DELETE WHERE UPPER(name) = 'ITEM_50'. 100 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6809,
      "write_warm_ms": 4915,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1803_delete_where_length",
      "num": 1803,
      "name": "delete_where_length",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1803_delete_where_length.py",
      "read_script": "generator/df-reads-spark/1803_delete_where_length.sql",
      "description": "DELETE WHERE LENGTH(name) = 6. 100 rows, name='row_i'. 'row_1'..'row_9' -> LENGTH=5, 'row_10'..'row_99' -> LENGTH=6, 'row_100' -> LENGTH=7.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4763,
      "write_warm_ms": 4976,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1804_delete_where_reverse",
      "num": 1804,
      "name": "delete_where_reverse",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1804_delete_where_reverse.py",
      "read_script": "generator/df-reads-spark/1804_delete_where_reverse.sql",
      "description": "DELETE WHERE REVERSE(name) = 'cificeps_esrever'. 100 rows. i=42 has name='reverse_specific'. All others name='row_i'.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5176,
      "write_warm_ms": 4517,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1805_merge_where_length",
      "num": 1805,
      "name": "merge_where_length",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1805_merge_where_length.py",
      "read_script": "generator/df-reads-spark/1805_merge_where_length.sql",
      "description": "MERGE with LENGTH() in WHEN MATCHED AND condition. i 1..100: even name='longname_i' (always LENGTH>7), odd name='s_i' (LENGTH<=4).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 9148,
      "write_warm_ms": 7550,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1806_merge_where_upper",
      "num": 1806,
      "name": "merge_where_upper",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1806_merge_where_upper.py",
      "read_script": "generator/df-reads-spark/1806_merge_where_upper.sql",
      "description": "MERGE with UPPER() in WHEN MATCHED AND condition. Target name='Item_i', source name='item_i'. UPPER matches all 100.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7461,
      "write_warm_ms": 7479,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1807_merge_where_sign",
      "num": 1807,
      "name": "merge_where_sign",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1807_merge_where_sign.py",
      "read_script": "generator/df-reads-spark/1807_merge_where_sign.sql",
      "description": "MERGE with SIGN() in WHEN MATCHED AND condition. balance=(i-50)*7: i<50 negative, i=50 zero, i>50 positive. Only i>50 gets tag='positive'; others remain 'init'.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8124,
      "write_warm_ms": 6092,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1808_update_sqrt_between",
      "num": 1808,
      "name": "update_sqrt_between",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1808_update_sqrt_between.py",
      "read_script": "generator/df-reads-spark/1808_update_sqrt_between.sql",
      "description": "UPDATE SET tag='moderate' WHERE SQRT(ABS(value)) BETWEEN 5.0 AND 10.0. i 1..200: value=(i-100)*3. 200 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5792,
      "write_warm_ms": 5853,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1809_delete_compound_functions",
      "num": 1809,
      "name": "delete_compound_functions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1809_delete_compound_functions.py",
      "read_script": "generator/df-reads-spark/1809_delete_compound_functions.sql",
      "description": "DELETE WHERE ABS(value)>100 AND LENGTH(name)>8. i 1..200: value=(i-100)*4, name='row_item_i' (LENGTH always>8). Predicate reduces to |value|>100 -> |i-100|>25 -> i<75 or i>125.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5238,
      "write_warm_ms": 4550,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/180_variant_type",
      "num": 180,
      "name": "variant_type",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/180_variant_type.py",
      "read_script": "generator/df-reads-spark/180_variant_type.sql",
      "description": "JSON data stored in STRING column. 500 entities + 50 complex nested = 550 rows. UPDATE WHERE id<50: name = name + '_modified'.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 1884,
      "write_warm_ms": 1884
    },
    {
      "id": "spark-writes/delta/1810_nmbys_with_function_condition",
      "num": 1810,
      "name": "nmbys_with_function_condition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1810_nmbys_with_function_condition.py",
      "read_script": "generator/df-reads-spark/1810_nmbys_with_function_condition.sql",
      "description": "NOT MATCHED BY SOURCE + ABS() function condition. - ids 1..60 matched -> tag='matched' - ids 61..100 unmatched: |score|>50 -> DELETE (i>75), else tag='small' (i<=75)",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7097,
      "write_warm_ms": 6898,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1811_update_function_chain",
      "num": 1811,
      "name": "update_function_chain",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1811_update_function_chain.py",
      "read_script": "generator/df-reads-spark/1811_update_function_chain.sql",
      "description": "UPDATE SET result=ROUND(SQRT(POWER(score,2)),4) = ABS(score) as double. i 1..100: score=(i-50)*3, initial result=0.0. 100 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4488,
      "write_warm_ms": 4706,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1812_delete_function_in_or",
      "num": 1812,
      "name": "delete_function_in_or",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1812_delete_function_in_or.py",
      "read_script": "generator/df-reads-spark/1812_delete_function_in_or.sql",
      "description": "DELETE WHERE ABS(value)>400 OR LENGTH(name)>10. i 1..200: value=(i-100)*5, name='rec_i' (LENGTH<=7, never>10). Predicate reduces to |value|>400 -> i<20 or i>180. Deleted: 39 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5293,
      "write_warm_ms": 4599,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1813_merge_functions_set",
      "num": 1813,
      "name": "merge_functions_set",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1813_merge_functions_set.py",
      "read_script": "generator/df-reads-spark/1813_merge_functions_set.sql",
      "description": "MERGE with multiple function calls in UPDATE SET clause. score = ABS(src.score) = ABS(-(i*2)) = i*2 name = UPPER(TRIM(src.name)) = 'SRC_i' amount = ROUND(src.amount*1.1, 2) = round(i*1.1, 2) 100 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6709,
      "write_warm_ms": 5908,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1814_update_function_partition",
      "num": 1814,
      "name": "update_function_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1814_update_function_partition.py",
      "read_script": "generator/df-reads-spark/1814_update_function_partition.sql",
      "description": "UPDATE SET score=ABS(score), name=UPPER(name) WHERE region='US'. i 1..120 partitioned by region (i%3==0 -> US, i%3==1 -> EU, else -> AP). 120 rows.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4013,
      "write_warm_ms": 3475,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1815_function_dml_lifecycle",
      "num": 1815,
      "name": "function_dml_lifecycle",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1815_function_dml_lifecycle.py",
      "read_script": "generator/df-reads-spark/1815_function_dml_lifecycle.sql",
      "description": "Functions used across the full DML lifecycle:",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 10793,
      "write_warm_ms": 11021,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1816_protocol_v1_writer",
      "num": 1816,
      "name": "protocol_v1_writer",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1816_protocol_v1_writer.py",
      "read_script": "generator/df-reads-spark/1816_protocol_v1_writer.sql",
      "description": "Minimal Delta protocol (minReaderVersion=1, minWriterVersion=1). No deletion vectors. INSERT 100 rows. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3000,
      "write_warm_ms": 2111,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1817_protocol_v2_reader_v3_writer",
      "num": 1817,
      "name": "protocol_v2_reader_v3_writer",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1817_protocol_v2_reader_v3_writer.py",
      "read_script": "generator/df-reads-spark/1817_protocol_v2_reader_v3_writer.sql",
      "description": "Delta protocol minReaderVersion=2, minWriterVersion=3. INSERT 100 rows. value=(i*7)%1000, bucket=i%5. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2284,
      "write_warm_ms": 2886,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1818_protocol_v2_v5_full",
      "num": 1818,
      "name": "protocol_v2_v5_full",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1818_protocol_v2_v5_full.py",
      "read_script": "generator/df-reads-spark/1818_protocol_v2_v5_full.sql",
      "description": "Protocol minReaderVersion=2, minWriterVersion=5 + columnMapping=name. INSERT 100 rows. name='name_i', value=(i*11)%500. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1765,
      "write_warm_ms": 2075,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1819_protocol_v3_v7_dv",
      "num": 1819,
      "name": "protocol_v3_v7_dv",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1819_protocol_v3_v7_dv.py",
      "read_script": "generator/df-reads-spark/1819_protocol_v3_v7_dv.sql",
      "description": "Protocol minReaderVersion=3, minWriterVersion=7, deletion vectors enabled. INSERT 100, DELETE WHERE id%5=0 (20 rows). Final: 80 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4733,
      "write_warm_ms": 4485,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/181_timestamp_ntz",
      "num": 181,
      "name": "timestamp_ntz",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/181_timestamp_ntz.py",
      "read_script": "generator/df-reads-spark/181_timestamp_ntz.sql",
      "description": "UPDATE WHERE id<50: event_name = event_name + '_updated'.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "type:timestamp-ntz",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 1902,
      "write_warm_ms": 1847
    },
    {
      "id": "spark-writes/delta/1820_protocol_explicit_features",
      "num": 1820,
      "name": "protocol_explicit_features",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1820_protocol_explicit_features.py",
      "read_script": "generator/df-reads-spark/1820_protocol_explicit_features.sql",
      "description": "Auto-promoted protocol from explicit deletionVectors feature. INSERT 100, DELETE WHERE id%4=0 (25), UPDATE id<=20 tag='upd'. Final: 75 rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8421,
      "write_warm_ms": 6081,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1821_protocol_appendonly_feature",
      "num": 1821,
      "name": "protocol_appendonly_feature",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1821_protocol_appendonly_feature.py",
      "read_script": "generator/df-reads-spark/1821_protocol_appendonly_feature.sql",
      "description": "appendOnly=true table. INSERT 100 then INSERT 50 more (id 101..150). Final: 150 rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3204,
      "write_warm_ms": 4060,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1822_protocol_invariants_feature",
      "num": 1822,
      "name": "protocol_invariants_feature",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1822_protocol_invariants_feature.py",
      "read_script": "generator/df-reads-spark/1822_protocol_invariants_feature.sql",
      "description": "CHECK constraint (invariants). INSERT 100, ADD CONSTRAINT score_range, INSERT 50 more.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6025,
      "write_warm_ms": 4897,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1823_protocol_columnmapping_id",
      "num": 1823,
      "name": "protocol_columnmapping_id",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1823_protocol_columnmapping_id.py",
      "read_script": "generator/df-reads-spark/1823_protocol_columnmapping_id.sql",
      "description": "Column mapping mode='id'. INSERT 100, UPDATE name WHERE id<=30 to 'upd_i'. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4405,
      "write_warm_ms": 4178,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1824_protocol_cdc_feature",
      "num": 1824,
      "name": "protocol_cdc_feature",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1824_protocol_cdc_feature.py",
      "read_script": "generator/df-reads-spark/1824_protocol_cdc_feature.sql",
      "description": "CDF + deletion vectors. INSERT 100, UPDATE first 30 (tag='upd'), DELETE id 31-40. Final: 90 rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8165,
      "write_warm_ms": 7035,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1825_protocol_check_constraints",
      "num": 1825,
      "name": "protocol_check_constraints",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1825_protocol_check_constraints.py",
      "read_script": "generator/df-reads-spark/1825_protocol_check_constraints.sql",
      "description": "checkConstraints writer feature. INSERT 100, ADD CONSTRAINT name_not_empty, INSERT 50 more.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6240,
      "write_warm_ms": 5811,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1826_protocol_multiple_features",
      "num": 1826,
      "name": "protocol_multiple_features",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1826_protocol_multiple_features.py",
      "read_script": "generator/df-reads-spark/1826_protocol_multiple_features.sql",
      "description": "INSERT 100, UPDATE first 30 (name='upd'), DELETE id 31-40. Final: 90 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6605,
      "write_warm_ms": 6206,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1827_protocol_minimal",
      "num": 1827,
      "name": "protocol_minimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1827_protocol_minimal.py",
      "read_script": "generator/df-reads-spark/1827_protocol_minimal.sql",
      "description": "Minimal protocol, no deletion vectors (full file rewrites on DML). INSERT 100, UPDATE first 30 (name='upd'), DELETE id 50-69. Final: 80 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5924,
      "write_warm_ms": 5587,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1828_protocol_evolution_upgrade",
      "num": 1828,
      "name": "protocol_evolution_upgrade",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1828_protocol_evolution_upgrade.py",
      "read_script": "generator/df-reads-spark/1828_protocol_evolution_upgrade.sql",
      "description": "Auto-upgrade of protocol when ADD CONSTRAINT triggers checkConstraints. INSERT 100, ADD CONSTRAINT score_check, INSERT 50 more. Final: 150 rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5230,
      "write_warm_ms": 4455,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1829_protocol_with_partition",
      "num": 1829,
      "name": "protocol_with_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1829_protocol_with_partition.py",
      "read_script": "generator/df-reads-spark/1829_protocol_with_partition.sql",
      "description": "Multiple features + partitioned by region. INSERT 120, UPDATE id<=30 (value+=1000), DELETE id 31-50. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5720,
      "write_warm_ms": 6974,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/182_row_tracking",
      "num": 182,
      "name": "row_tracking",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/182_row_tracking.py",
      "read_script": "generator/df-reads-spark/182_row_tracking.sql",
      "description": "Row tracking + deletion vectors. INSERT 500, UPDATE sales += 1000, DELETE id<20, INSERT 50 (501-550), UPDATE id>540 name+='_updated', MERGE id=525 -> MergedRecord_525/99999.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 5387,
      "write_warm_ms": 5266
    },
    {
      "id": "spark-writes/delta/1830_protocol_full_lifecycle",
      "num": 1830,
      "name": "protocol_full_lifecycle",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1830_protocol_full_lifecycle.py",
      "read_script": "generator/df-reads-spark/1830_protocol_full_lifecycle.sql",
      "description": "Full DML lifecycle with all major Delta features enabled:",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 14100,
      "write_warm_ms": 14216,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1831_aggregated_cdc",
      "num": 1831,
      "name": "aggregated_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1831_aggregated_cdc.py",
      "read_script": "generator/df-reads-spark/1831_aggregated_cdc.sql",
      "description": "GROUP BY aggregated INSERT into CDC-enabled table.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2227,
      "write_warm_ms": 2560,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1832_aggregated_partition",
      "num": 1832,
      "name": "aggregated_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1832_aggregated_partition.py",
      "read_script": "generator/df-reads-spark/1832_aggregated_partition.sql",
      "description": "GROUP BY aggregated INSERT into partitioned table.",
      "status": "pass",
      "duration_ms": 2,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 2,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2459,
      "write_warm_ms": 2498,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1833_aggregated_decimal",
      "num": 1833,
      "name": "aggregated_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1833_aggregated_decimal.py",
      "read_script": "generator/df-reads-spark/1833_aggregated_decimal.sql",
      "description": "GROUP BY with DECIMAL aggregation. 100 rows -> 4 cats (A/B/C/D by i%4). amt=round(i*1.2345,4). total=SUM(amt) per cat.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2516,
      "write_warm_ms": 2103,
      "tags": [
        "type:decimal",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1834_aggregated_then_update",
      "num": 1834,
      "name": "aggregated_then_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1834_aggregated_then_update.py",
      "read_script": "generator/df-reads-spark/1834_aggregated_then_update.sql",
      "description": "Aggregated INSERT followed by UPDATE on the aggregated rows. 5 cats (A/B/C/D/E by i%5), amt=ROUND(i*3.21,2) DECIMAL(10,2), i in 1..100. total=SUM(amt) per cat DECIMAL(15,2). UPDATE SET total=total*2 WHERE cat='A'.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5581,
      "write_warm_ms": 3585,
      "tags": [
        "type:decimal",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1835_aggregated_then_delete",
      "num": 1835,
      "name": "aggregated_then_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1835_aggregated_then_delete.py",
      "read_script": "generator/df-reads-spark/1835_aggregated_then_delete.sql",
      "description": "Aggregated INSERT followed by DELETE filtering aggregated rows. 10 buckets (cat_0..cat_9 by i%10), amt=i, i in 1..100. total=SUM(amt) per cat BIGINT. DELETE WHERE total < 100.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3211,
      "write_warm_ms": 2628,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1836_aggregated_then_merge",
      "num": 1836,
      "name": "aggregated_then_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1836_aggregated_then_merge.py",
      "read_script": "generator/df-reads-spark/1836_aggregated_then_merge.sql",
      "description": "Aggregated INSERT followed by MERGE (matched UPDATE, not-matched INSERT) from a source CTE.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6638,
      "write_warm_ms": 6501,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1837_window_partition_typed",
      "num": 1837,
      "name": "window_partition_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1837_window_partition_typed.py",
      "read_script": "generator/df-reads-spark/1837_window_partition_typed.sql",
      "description": "Window function ROW_NUMBER over PARTITION BY with typed columns including DECIMAL. 90 rows: id, region (i%3: 0->US, 1->EU, else->AP), amount=ROUND(i*9.99,2) DECIMAL(10,2), rn=ROW_NUMBER() OVER (PARTITION BY i%3 ORDER BY i).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1881,
      "write_warm_ms": 2523,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1838_window_then_dml",
      "num": 1838,
      "name": "window_then_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1838_window_then_dml.py",
      "read_script": "generator/df-reads-spark/1838_window_then_dml.sql",
      "description": "INSERT with window function ROW_NUMBER, then UPDATE/DELETE filtering on rn.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6747,
      "write_warm_ms": 6380,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1839_aggregation_partition_cdc",
      "num": 1839,
      "name": "aggregation_partition_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1839_aggregation_partition_cdc.py",
      "read_script": "generator/df-reads-spark/1839_aggregation_partition_cdc.sql",
      "description": "3 regions (US/EU/AP by i%3), amt=i, i in 1..90. total=SUM(amt) BIGINT per region. Partitioned by region, CDC enabled.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2328,
      "write_warm_ms": 1886,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/183_streaming_read",
      "num": 183,
      "name": "streaming_read",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/183_streaming_read.py",
      "read_script": "generator/df-reads-spark/183_streaming_read.sql",
      "description": "- Streaming read compatible operations - Deletion vectors enabled - Multiple INSERT, UPDATE, DELETE operations",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 4968,
      "write_warm_ms": 4822
    },
    {
      "id": "spark-writes/delta/1840_aggregation_constraint",
      "num": 1840,
      "name": "aggregation_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1840_aggregation_constraint.py",
      "read_script": "generator/df-reads-spark/1840_aggregation_constraint.sql",
      "description": "Aggregated INSERT into a constrained table; constraint added between two INSERTs.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5321,
      "write_warm_ms": 5400,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1841_aggregation_evolution",
      "num": 1841,
      "name": "aggregation_evolution",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1841_aggregation_evolution.py",
      "read_script": "generator/df-reads-spark/1841_aggregation_evolution.sql",
      "description": "Aggregated INSERT, schema evolution (ADD COLUMN), then more aggregated INSERT.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5276,
      "write_warm_ms": 4122,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1842_aggregation_decimal_partition",
      "num": 1842,
      "name": "aggregation_decimal_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1842_aggregation_decimal_partition.py",
      "read_script": "generator/df-reads-spark/1842_aggregation_decimal_partition.sql",
      "description": "Aggregated DECIMAL INSERT into a partitioned table. 3 regions (US/EU/AP by i%3), amt=ROUND(i*1.2345,4) DECIMAL(10,4), i in 1..90. total=SUM(amt) DECIMAL(15,4) per region. Partitioned by region.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2491,
      "write_warm_ms": 2282,
      "tags": [
        "type:decimal",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1843_aggregation_count_decimal",
      "num": 1843,
      "name": "aggregation_count_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1843_aggregation_count_decimal.py",
      "read_script": "generator/df-reads-spark/1843_aggregation_count_decimal.sql",
      "description": "Aggregated INSERT combining COUNT(*) and DECIMAL SUM. 5 cats (A/B/C/D/E by i%5), amt=ROUND(i*9.99,2) DECIMAL(10,2), i in 1..100. row_count=COUNT(*) BIGINT, total_amount=SUM(amt) DECIMAL(15,2) per cat.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2138,
      "write_warm_ms": 1684,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1844_aggregation_max_min",
      "num": 1844,
      "name": "aggregation_max_min",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1844_aggregation_max_min.py",
      "read_script": "generator/df-reads-spark/1844_aggregation_max_min.sql",
      "description": "Aggregated INSERT with MIN, MAX, and AVG aggregates. 5 buckets (0-4 by i%5), v=(i*37)%1000, i in 1..200. min_val=MIN(v) INT, max_val=MAX(v) INT, avg_val=AVG(v) DOUBLE per bucket.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2193,
      "write_warm_ms": 1955,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1845_window_running_sum",
      "num": 1845,
      "name": "window_running_sum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1845_window_running_sum.py",
      "read_script": "generator/df-reads-spark/1845_window_running_sum.sql",
      "description": "INSERT with running sum window function. 50 rows: id=i BIGINT, val=i INT, running=SUM(i) OVER (ORDER BY i) = i*(i+1)/2 BIGINT.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2999,
      "write_warm_ms": 1859,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1846_window_dense_rank_typed",
      "num": 1846,
      "name": "window_dense_rank_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1846_window_dense_rank_typed.py",
      "read_script": "generator/df-reads-spark/1846_window_dense_rank_typed.sql",
      "description": "DENSE_RANK window over a typed INT column. 50 rows: id=i BIGINT, score=(i*53)%10 INT, dr=DENSE_RANK() OVER (ORDER BY score DESC) INT.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2550,
      "write_warm_ms": 2529,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1847_aggregation_having_typed",
      "num": 1847,
      "name": "aggregation_having_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1847_aggregation_having_typed.py",
      "read_script": "generator/df-reads-spark/1847_aggregation_having_typed.sql",
      "description": "GROUP BY + HAVING with typed DECIMAL output column. 3 regions (US/EU/AP by i%3), amt=ROUND(i*5.55,2) DECIMAL(10,2), i in 1..100. total=SUM(amt) DECIMAL(15,2) per region HAVING SUM(amt) > 1000. All 3 regions survive (sums are large).",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2190,
      "write_warm_ms": 1980,
      "tags": [
        "type:decimal",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1848_distinct_typed_combo",
      "num": 1848,
      "name": "distinct_typed_combo",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1848_distinct_typed_combo.py",
      "read_script": "generator/df-reads-spark/1848_distinct_typed_combo.sql",
      "description": "SELECT DISTINCT across typed columns (INT + DECIMAL + BOOLEAN). INSERT SELECT DISTINCT -> ~30 distinct combos (5 buckets x 3 amounts x 2 booleans).",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2549,
      "write_warm_ms": 2199,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1849_subquery_aggregated",
      "num": 1849,
      "name": "subquery_aggregated",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1849_subquery_aggregated.py",
      "read_script": "generator/df-reads-spark/1849_subquery_aggregated.sql",
      "description": "INSERT from a subquery wrapping an aggregation. 4 cats (A/B/C/D by i%4: 0->A, 1->B, 2->C, else->D), v=i, i in 1..100. total=SUM(v) BIGINT per cat.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2447,
      "write_warm_ms": 2114,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/184_streaming_write",
      "num": 184,
      "name": "streaming_write",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/184_streaming_write.py",
      "read_script": "generator/df-reads-spark/184_streaming_write.sql",
      "description": "Streaming write simulation (append-only). Initial batch of 500 + 5 micro-batches of 50. event_id range: 1-500 initial; batches: 550-599, 600-649, 650-699, 700-749, 750-799.",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 2840,
      "write_warm_ms": 2836
    },
    {
      "id": "spark-writes/delta/1850_aggregation_ultimate",
      "num": 1850,
      "name": "aggregation_ultimate",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1850_aggregation_ultimate.py",
      "read_script": "generator/df-reads-spark/1850_aggregation_ultimate.sql",
      "description": "ULTIMATE aggregation test combining GROUP BY + HAVING + DECIMAL + partitioning + CDC + CHECK. amt=ROUND(i*9.99,2) DECIMAL(10,2), i in 1..90, region by i%3.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6242,
      "write_warm_ms": 4605,
      "tags": [
        "type:decimal",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1851_like_basic",
      "num": 1851,
      "name": "like_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1851_like_basic.py",
      "read_script": "generator/df-reads-spark/1851_like_basic.sql",
      "description": "DELETE WHERE name LIKE 'item_1%'. 200 rows: id=i, name='item_i', score=i. Matches item_1, item_10..item_19, item_100..item_199 (111 rows deleted).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6579,
      "write_warm_ms": 3782,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1852_like_underscore",
      "num": 1852,
      "name": "like_underscore",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1852_like_underscore.py",
      "read_script": "generator/df-reads-spark/1852_like_underscore.sql",
      "description": "LIKE with single-character _ wildcard. 100 rows: id=i, name=CONCAT('a', i, 'z') -> 'a1z'..'a100z', score=i. DELETE WHERE name LIKE 'a_z' matches a1z..a9z (9 rows, single char between a and z).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5263,
      "write_warm_ms": 3758,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1853_like_escape",
      "num": 1853,
      "name": "like_escape",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1853_like_escape.py",
      "read_script": "generator/df-reads-spark/1853_like_escape.sql",
      "description": "DELETE WHERE name LIKE 'val10%'. 100 rows: id=i, name='val'+i, score=i. Matches val10, val100..val109 (but range is 1..100, so val10 and val100 -> 2 rows? range is 1..100, so names are val1..val100. 'val10%' matches val10 and val100. That's 2 rows deleted. But SQL says 100 - 11...",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4350,
      "write_warm_ms": 4373,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1854_like_start",
      "num": 1854,
      "name": "like_start",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1854_like_start.py",
      "read_script": "generator/df-reads-spark/1854_like_start.sql",
      "description": "LIKE 'prefix%' anchored prefix match. 100 rows: id=i, name=us_i/eu_i/ap_i by i%3 (0->us, 1->eu, else->ap), score=i. DELETE WHERE name LIKE 'us_%' (matches i%3==0: 3,6,...,99 -> 33 rows).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4283,
      "write_warm_ms": 5059,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1855_like_end",
      "num": 1855,
      "name": "like_end",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1855_like_end.py",
      "read_script": "generator/df-reads-spark/1855_like_end.sql",
      "description": "LIKE '%suffix' anchored suffix match used in UPDATE WHERE. 100 rows: id=i, name='item_i_done', tag='pending'. All names end with '_done', so UPDATE WHERE name LIKE '%_done' tags all 100 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4108,
      "write_warm_ms": 4511,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1856_like_middle",
      "num": 1856,
      "name": "like_middle",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1856_like_middle.py",
      "read_script": "generator/df-reads-spark/1856_like_middle.sql",
      "description": "LIKE '%middle%' substring match. 100 rows: id=i, name='prefix_gold/silver/bronze_i' by i%3 (0->gold, 1->silver, else->bronze), score=i. DELETE WHERE name LIKE '%gold%' (matches i%3==0: 3,6,...,99 -> 33 rows).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4269,
      "write_warm_ms": 5695,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1857_like_in_update",
      "num": 1857,
      "name": "like_in_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1857_like_in_update.py",
      "read_script": "generator/df-reads-spark/1857_like_in_update.sql",
      "description": "UPDATE WHERE name LIKE 'item_1%' sets tier='premium'. 100 rows: id=i, name='item_i', tier='standard'. Matches item_1, item_10..item_19 -> 11 rows get tier='premium'. Others stay 'standard'.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5373,
      "write_warm_ms": 4368,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1858_like_in_merge",
      "num": 1858,
      "name": "like_in_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1858_like_in_merge.py",
      "read_script": "generator/df-reads-spark/1858_like_in_merge.sql",
      "description": "MERGE with LIKE in WHEN MATCHED conditional branches. 100 rows: id=i, name='item_i', tag='init'. MERGE using self as source (all 100 ids). WHEN MATCHED AND name LIKE 'item_5%' THEN tag='special', else tag='normal'.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6386,
      "write_warm_ms": 6605,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1859_not_like",
      "num": 1859,
      "name": "not_like",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1859_not_like.py",
      "read_script": "generator/df-reads-spark/1859_not_like.sql",
      "description": "DELETE NOT LIKE 'keep_%' -> drops 50 drop_* rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4428,
      "write_warm_ms": 4912,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/185_cdf_consume",
      "num": 185,
      "name": "cdf_consume",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/185_cdf_consume.py",
      "read_script": "generator/df-reads-spark/185_cdf_consume.sql",
      "description": "CDC-enabled table with INSERT, UPDATE, DELETE, and MERGE.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 3591,
      "write_warm_ms": 3430
    },
    {
      "id": "spark-writes/delta/1860_like_partition",
      "num": 1860,
      "name": "like_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1860_like_partition.py",
      "read_script": "generator/df-reads-spark/1860_like_partition.sql",
      "description": "INSERT 120 rows, region cycles US/EU/AP by i%3 (0=US,1=EU,2=AP). name = 'item_<i>', score = i*2. DELETE WHERE name LIKE 'item_1%' AND region='US'.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3406,
      "write_warm_ms": 3064,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1861_like_cdc",
      "num": 1861,
      "name": "like_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1861_like_cdc.py",
      "read_script": "generator/df-reads-spark/1861_like_cdc.sql",
      "description": "INSERT 100, name='item_<i>', score=i*4. DELETE LIKE 'item_5%' matches id=5, 50..59 -> 11 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5367,
      "write_warm_ms": 4287,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1862_starts_with",
      "num": 1862,
      "name": "starts_with",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1862_starts_with.py",
      "read_script": "generator/df-reads-spark/1862_starts_with.sql",
      "description": "INSERT 200, name='item_<i>', score=i*3. STARTS_WITH 'item_1' equivalent to LIKE 'item_1%' -> matches id=1, 10..19, 100..199 = 111 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3681,
      "write_warm_ms": 3728,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1863_ends_with",
      "num": 1863,
      "name": "ends_with",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1863_ends_with.py",
      "read_script": "generator/df-reads-spark/1863_ends_with.sql",
      "description": "DELETE matches 50 even rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3287,
      "write_warm_ms": 4304,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1864_contains_like",
      "num": 1864,
      "name": "contains_like",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1864_contains_like.py",
      "read_script": "generator/df-reads-spark/1864_contains_like.sql",
      "description": "DELETE matches 25 rows (i%4==0: 4,8,...100).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4508,
      "write_warm_ms": 4566,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1865_position_substring",
      "num": 1865,
      "name": "position_substring",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1865_position_substring.py",
      "read_script": "generator/df-reads-spark/1865_position_substring.sql",
      "description": "UPDATE sets prefix = SUBSTRING(code, 1, 1) -> 'A', suffix = SUBSTRING(code, LENGTH(code), 1) -> 'C'.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4295,
      "write_warm_ms": 4509,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1866_length_predicate",
      "num": 1866,
      "name": "length_predicate",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1866_length_predicate.py",
      "read_script": "generator/df-reads-spark/1866_length_predicate.sql",
      "description": "DELETE matches 99 rows (i=1..99). Final: 1 row (id=100).",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3839,
      "write_warm_ms": 4042,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1867_string_concat_predicate",
      "num": 1867,
      "name": "string_concat_predicate",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1867_string_concat_predicate.py",
      "read_script": "generator/df-reads-spark/1867_string_concat_predicate.sql",
      "description": "DELETE matches 20 rows (i=5,10,...100).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4658,
      "write_warm_ms": 4703,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1868_upper_predicate",
      "num": 1868,
      "name": "upper_predicate",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1868_upper_predicate.py",
      "read_script": "generator/df-reads-spark/1868_upper_predicate.sql",
      "description": "DELETE matches id=50 (UPPER('Item_50')='ITEM_50').",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4721,
      "write_warm_ms": 3645,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1869_lower_predicate",
      "num": 1869,
      "name": "lower_predicate",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1869_lower_predicate.py",
      "read_script": "generator/df-reads-spark/1869_lower_predicate.sql",
      "description": "name='row_<i>'. DELETE matches i%3==0 -> 33 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4107,
      "write_warm_ms": 4557,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/186_true_concurrent",
      "num": 186,
      "name": "true_concurrent",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/186_true_concurrent.py",
      "read_script": "generator/df-reads-spark/186_true_concurrent.sql",
      "description": "- True concurrent write simulation with multiple versions - UPDATE and DELETE operations with deletion vectors - OCC conflict detection testing",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "robust:concurrent-writes",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 3855,
      "write_warm_ms": 3811
    },
    {
      "id": "spark-writes/delta/1870_string_compare_partition",
      "num": 1870,
      "name": "string_compare_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1870_string_compare_partition.py",
      "read_script": "generator/df-reads-spark/1870_string_compare_partition.sql",
      "description": "INSERT 120 rows, name='item_<i>', region by i%3 (0=US,1=EU,2=AP), tag='low'. UPDATE SET tag='high' WHERE name > 'item_50'. String comparison (lexicographic): 'item_51'..'item_99' and 'item_6'..'item_9' are > 'item_50'.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4358,
      "write_warm_ms": 5431,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1871_like_evolve",
      "num": 1871,
      "name": "like_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1871_like_evolve.py",
      "read_script": "generator/df-reads-spark/1871_like_evolve.sql",
      "description": "LIKE predicate after schema evolution adds a new column.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8740,
      "write_warm_ms": 6964,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1872_like_constraint",
      "num": 1872,
      "name": "like_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1872_like_constraint.py",
      "read_script": "generator/df-reads-spark/1872_like_constraint.sql",
      "description": "INSERT 100, name='item_<i>', score=i. ADD CONSTRAINT score_nonneg CHECK (score >= 0). DELETE WHERE name LIKE 'item_9%' AND score >= 0 -> 11 rows (id=9, 90..99).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7289,
      "write_warm_ms": 7862,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1873_like_zorder",
      "num": 1873,
      "name": "like_zorder",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1873_like_zorder.py",
      "read_script": "generator/df-reads-spark/1873_like_zorder.sql",
      "description": "INSERT 200, name='item_<i>', score=i*7. DELETE LIKE 'item_1%' -> 111 rows deleted. OPTIMIZE ZORDER BY (score).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 9432,
      "write_warm_ms": 10759,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1874_like_vacuum",
      "num": 1874,
      "name": "like_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1874_like_vacuum.py",
      "read_script": "generator/df-reads-spark/1874_like_vacuum.sql",
      "description": "INSERT 200 in 4 batches of 50 (ids 1..200). name='item_<i>', score=i*3. DELETE LIKE 'item_1%' (ids matching: 1, 10..19, 100..199 = 111 rows). OPTIMIZE + VACUUM RETAIN 0 HOURS.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 28033,
      "write_warm_ms": 24727,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1875_string_function_lifecycle",
      "num": 1875,
      "name": "string_function_lifecycle",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1875_string_function_lifecycle.py",
      "read_script": "generator/df-reads-spark/1875_string_function_lifecycle.sql",
      "description": "String functions across the full DML lifecycle.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 13199,
      "write_warm_ms": 14510,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1876_year_extract",
      "num": 1876,
      "name": "year_extract",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1876_year_extract.py",
      "read_script": "generator/df-reads-spark/1876_year_extract.sql",
      "description": "100 rows: event_ts = 2024-01-01 + i days, year_val initially 0. UPDATE SET year_val = YEAR(event_ts) -> all become 2024.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5994,
      "write_warm_ms": 4068,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1877_month_extract",
      "num": 1877,
      "name": "month_extract",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1877_month_extract.py",
      "read_script": "generator/df-reads-spark/1877_month_extract.sql",
      "description": "100 rows: event_ts = 2024-01-01 + i days, month_val initially 0. i=1..100 -> 2024-01-02..2024-04-10. Months: 1..4. UPDATE SET month_val = MONTH(event_ts).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5379,
      "write_warm_ms": 4311,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1878_day_extract",
      "num": 1878,
      "name": "day_extract",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1878_day_extract.py",
      "read_script": "generator/df-reads-spark/1878_day_extract.sql",
      "description": "100 rows: event_ts = 2024-01-01 + i days, day_val initially 0. UPDATE SET day_val = DAY(event_ts).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4571,
      "write_warm_ms": 4027,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1879_year_month_day",
      "num": 1879,
      "name": "year_month_day",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1879_year_month_day.py",
      "read_script": "generator/df-reads-spark/1879_year_month_day.sql",
      "description": "100 rows: event_ts = 2024-01-01 + i days, year_val/month_val/day_val initially 0. UPDATE sets all three from event_ts.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4432,
      "write_warm_ms": 3933,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/187_large_files",
      "num": 187,
      "name": "large_files",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/187_large_files.py",
      "read_script": "generator/df-reads-spark/187_large_files.sql",
      "description": "tags STRING, version_tag STRING, created_at TIMESTAMP",
      "status": "pass",
      "duration_ms": 70,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 70,
      "read_warm_ms": 14,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 8505,
      "write_warm_ms": 8197
    },
    {
      "id": "spark-writes/delta/1880_year_in_where",
      "num": 1880,
      "name": "year_in_where",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1880_year_in_where.py",
      "read_script": "generator/df-reads-spark/1880_year_in_where.sql",
      "description": "365 rows: event_ts = 2024-01-01 + i days (i=1..365). i=365 -> 2025-01-01 (only row outside 2024). DELETE WHERE YEAR(event_ts)=2024 -> removes 364 rows.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 0,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4945,
      "write_warm_ms": 4199,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1881_extract_year",
      "num": 1881,
      "name": "extract_year",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1881_extract_year.py",
      "read_script": "generator/df-reads-spark/1881_extract_year.sql",
      "description": "100 rows: event_date = 2024-01-01 + i days (i=1..100 -> 2024-01-02..2024-04-09). year_val initially 0. UPDATE SET year_val = EXTRACT(YEAR FROM event_date).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5634,
      "write_warm_ms": 4369,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1882_extract_month",
      "num": 1882,
      "name": "extract_month",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1882_extract_month.py",
      "read_script": "generator/df-reads-spark/1882_extract_month.sql",
      "description": "100 rows: event_date = 2024-01-01 + i days. Months 1..4 expected. month_val initially 0. UPDATE SET month_val = EXTRACT(MONTH FROM event_date).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4478,
      "write_warm_ms": 5177,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1883_extract_day",
      "num": 1883,
      "name": "extract_day",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1883_extract_day.py",
      "read_script": "generator/df-reads-spark/1883_extract_day.sql",
      "description": "100 rows: event_date = 2024-01-01 + i days. Days 1..31 expected. day_val initially 0. UPDATE SET day_val = EXTRACT(DAY FROM event_date).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5835,
      "write_warm_ms": 5222,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1884_date_diff",
      "num": 1884,
      "name": "date_diff",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1884_date_diff.py",
      "read_script": "generator/df-reads-spark/1884_date_diff.sql",
      "description": "100 rows: start_date = 2023-12-31, end_date = 2023-12-31 + i. days_diff initially 0. UPDATE SET days_diff = DATEDIFF(end_date, start_date) = i.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4061,
      "write_warm_ms": 5431,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1885_date_add_function",
      "num": 1885,
      "name": "date_add_function",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1885_date_add_function.py",
      "read_script": "generator/df-reads-spark/1885_date_add_function.sql",
      "description": "100 rows: base_date = 2024-01-01 + i days, future_date initially same as base_date. UPDATE SET future_date = DATE_ADD(base_date, 30).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4623,
      "write_warm_ms": 4229,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1886_date_sub_function",
      "num": 1886,
      "name": "date_sub_function",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1886_date_sub_function.py",
      "read_script": "generator/df-reads-spark/1886_date_sub_function.sql",
      "description": "100 rows: base_date = 2024-01-01 + i days, past_date initially same as base_date. UPDATE SET past_date = DATE_SUB(base_date, 7).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4631,
      "write_warm_ms": 5097,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1887_to_date",
      "num": 1887,
      "name": "to_date",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1887_to_date.py",
      "read_script": "generator/df-reads-spark/1887_to_date.sql",
      "description": "100 rows: date_str='2024-01-01', parsed_date initially 2023-12-31. UPDATE SET parsed_date = TO_DATE(date_str) -> 2024-01-01.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4970,
      "write_warm_ms": 4363,
      "tags": [
        "type:date",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1888_to_timestamp",
      "num": 1888,
      "name": "to_timestamp",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1888_to_timestamp.py",
      "read_script": "generator/df-reads-spark/1888_to_timestamp.sql",
      "description": "100 rows: ts_str='2024-01-01 00:00:00', parsed_ts initially 2023-12-31 00:00:00. UPDATE SET parsed_ts = TO_TIMESTAMP(ts_str) -> 2024-01-01 00:00:00.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5117,
      "write_warm_ms": 5103,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1889_date_format",
      "num": 1889,
      "name": "date_format",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1889_date_format.py",
      "read_script": "generator/df-reads-spark/1889_date_format.sql",
      "description": "100 rows: event_date = 2024-01-01 + i days, formatted initially ''. UPDATE SET formatted = DATE_FORMAT(event_date, 'yyyy-MM-dd').",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5142,
      "write_warm_ms": 5139,
      "tags": [
        "type:date",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/188_many_files",
      "num": 188,
      "name": "many_files",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/188_many_files.py",
      "read_script": "generator/df-reads-spark/188_many_files.sql",
      "description": "Many files interoperability testing (200+ small files) 100 initial rows (batch=0) + 100 batches of 20 rows each UPDATE, DELETE, and OPTIMIZE operations",
      "status": "pass",
      "duration_ms": 53,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 53,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 29284,
      "write_warm_ms": 29273
    },
    {
      "id": "spark-writes/delta/1890_year_in_update_set",
      "num": 1890,
      "name": "year_in_update_set",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1890_year_in_update_set.py",
      "read_script": "generator/df-reads-spark/1890_year_in_update_set.sql",
      "description": "100 rows: event_ts = 2024-01-01 + i days, year_label initially ''. UPDATE SET year_label = CONCAT('Y', YEAR(event_ts)) -> 'Y2024' for all.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4361,
      "write_warm_ms": 5119,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1891_month_filter_partition",
      "num": 1891,
      "name": "month_filter_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1891_month_filter_partition.py",
      "read_script": "generator/df-reads-spark/1891_month_filter_partition.sql",
      "description": "INSERT 120 rows; Jan 2024 days = i in 1..30; US rows at i%3==0.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4155,
      "write_warm_ms": 5390,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1892_year_filter_cdc",
      "num": 1892,
      "name": "year_filter_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1892_year_filter_cdc.py",
      "read_script": "generator/df-reads-spark/1892_year_filter_cdc.sql",
      "description": "100 rows: event_ts = 2024-01-01 + i days (all in 2024), score=i*4. DELETE WHERE YEAR(event_ts)=2024 AND id<=50 -> 50 rows removed.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4821,
      "write_warm_ms": 4093,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1893_date_arithmetic",
      "num": 1893,
      "name": "date_arithmetic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1893_date_arithmetic.py",
      "read_script": "generator/df-reads-spark/1893_date_arithmetic.sql",
      "description": "100 rows: event_date = 2024-01-01 + i days, days_old initially 0. UPDATE SET days_old = CAST(id AS INT) -> days_old = id.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5262,
      "write_warm_ms": 4459,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1894_date_in_partition",
      "num": 1894,
      "name": "date_in_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1894_date_in_partition.py",
      "read_script": "generator/df-reads-spark/1894_date_in_partition.sql",
      "description": "120 rows, event_date = 2024-01-01 + i days, year_part = 2024+(i%2). name = 'row_<i>'. Partitioned by year_part.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1730,
      "write_warm_ms": 1815,
      "tags": [
        "type:date",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1895_timestamp_minute_extract",
      "num": 1895,
      "name": "timestamp_minute_extract",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1895_timestamp_minute_extract.py",
      "read_script": "generator/df-reads-spark/1895_timestamp_minute_extract.sql",
      "description": "100 rows: event_ts = 2024-01-01 00:00:00 + i hours. i=1 -> 01:00, i=24 -> 00:00 next day. hour_val initially 0. UPDATE SET hour_val = HOUR(event_ts).",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 1474,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1896_date_function_chain",
      "num": 1896,
      "name": "date_function_chain",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1896_date_function_chain.py",
      "read_script": "generator/df-reads-spark/1896_date_function_chain.sql",
      "description": "100 rows: d = 2024-01-01 + i days, label initially ''. UPDATE SET label = CONCAT('Y', YEAR(d), 'M', MONTH(d)) -> 'Y2024M1' etc.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4964,
      "write_warm_ms": 5034,
      "tags": [
        "type:date",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1897_date_in_merge",
      "num": 1897,
      "name": "date_in_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1897_date_in_merge.py",
      "read_script": "generator/df-reads-spark/1897_date_in_merge.sql",
      "description": "100 rows: event_ts = 2024-01-01 + i days, tag='original'. MERGE with source ids 1..100. WHEN MATCHED AND YEAR(tgt.event_ts)=2024 THEN UPDATE tag='current'. All 100 rows have event_ts in 2024 -> all tags become 'current'.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 9584,
      "write_warm_ms": 8596,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1898_date_function_constraint",
      "num": 1898,
      "name": "date_function_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1898_date_function_constraint.py",
      "read_script": "generator/df-reads-spark/1898_date_function_constraint.sql",
      "description": "CHECK constraint comparing event_date to a constant Date32 floor.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6549,
      "write_warm_ms": 4987,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1899_date_extract_evolve",
      "num": 1899,
      "name": "date_extract_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1899_date_extract_evolve.py",
      "read_script": "generator/df-reads-spark/1899_date_extract_evolve.sql",
      "description": "50 rows: event_ts = 2024-01-01 + i days. ALTER ADD COLUMN year_val INT. UPDATE SET year_val = YEAR(event_ts) -> all become 2024.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6428,
      "write_warm_ms": 7423,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/189_photon_engine",
      "num": 189,
      "name": "photon_engine",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/189_photon_engine.py",
      "read_script": "generator/df-reads-spark/189_photon_engine.sql",
      "description": "version_tag STRING, processed_at TIMESTAMP",
      "status": "pass",
      "duration_ms": 24,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 24,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 5554,
      "write_warm_ms": 5691
    },
    {
      "id": "spark-writes/delta/18_action_txn_idempotent_writes",
      "num": 18,
      "name": "action_txn_idempotent_writes",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/18_action_txn_idempotent_writes.py",
      "read_script": "generator/df-reads-spark/18_action_txn_idempotent_writes.sql",
      "description": "3 batches of 5000 payments (i=1..15000) = 15,000 rows. processor, payment_method, status, amount DECIMAL(12,2), processing_fee DECIMAL(10,2), net_amount DECIMAL(12,2), batch_id INT, payment_date DATE, payment_hour INT, is_high_value BOOLEAN, fee_percentage DECIMAL(5,2)...",
      "status": "pass",
      "duration_ms": 22,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 22,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 2910,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1900_date_lifecycle",
      "num": 1900,
      "name": "date_lifecycle",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1900_date_lifecycle.py",
      "read_script": "generator/df-reads-spark/1900_date_lifecycle.sql",
      "description": "i=1..200 -> 2024-01-03..2025-02-06. December 2024: i in [168..182] = 15 rows. UPDATE SET year_val = YEAR(event_ts). DELETE WHERE MONTH(event_ts) = 12 -> removes ~15 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 14331,
      "write_warm_ms": 15045,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1901_ctas_basic",
      "num": 1901,
      "name": "ctas_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1901_ctas_basic.py",
      "read_script": "generator/df-reads-spark/1901_ctas_basic.sql",
      "description": "CREATE TABLE AS SELECT (CTAS) with simple types.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2727,
      "write_warm_ms": 2040,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1902_ctas_typed",
      "num": 1902,
      "name": "ctas_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1902_ctas_typed.py",
      "read_script": "generator/df-reads-spark/1902_ctas_typed.sql",
      "description": "100 rows: id BIGINT, name STRING, score INT, amount DECIMAL(10,2). name='item_<i>', score=(i*7)%100, amount=ROUND(i*1.23,2).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2470,
      "write_warm_ms": 2319,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1903_ctas_partitioned",
      "num": 1903,
      "name": "ctas_partitioned",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1903_ctas_partitioned.py",
      "read_script": "generator/df-reads-spark/1903_ctas_partitioned.sql",
      "description": "90 rows, 3 regions (US/EU/AP, 30 each by i%3: 0->US, 1->EU, 2->AP). name='item_<i>'. Partitioned by region.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1496,
      "write_warm_ms": 1738,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1904_ctas_with_aggregation",
      "num": 1904,
      "name": "ctas_with_aggregation",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1904_ctas_with_aggregation.py",
      "read_script": "generator/df-reads-spark/1904_ctas_with_aggregation.sql",
      "description": "Aggregates 90 source rows (score=i*10) by region (i%3: 0->US,1->EU,2->AP).",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2311,
      "write_warm_ms": 2280,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1905_ctas_then_dml",
      "num": 1905,
      "name": "ctas_then_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1905_ctas_then_dml.py",
      "read_script": "generator/df-reads-spark/1905_ctas_then_dml.sql",
      "description": "CTAS followed by subsequent INSERT and UPDATE DML.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6440,
      "write_warm_ms": 5281,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1906_truncate_basic",
      "num": 1906,
      "name": "truncate_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1906_truncate_basic.py",
      "read_script": "generator/df-reads-spark/1906_truncate_basic.sql",
      "description": "TRUNCATE TABLE removing all rows, then re-insert.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6667,
      "write_warm_ms": 6266,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:truncate",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1907_truncate_typed",
      "num": 1907,
      "name": "truncate_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1907_truncate_typed.py",
      "read_script": "generator/df-reads-spark/1907_truncate_typed.sql",
      "description": "TRUNCATE TABLE on a table with multiple types.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6847,
      "write_warm_ms": 6509,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "dml:truncate",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1908_truncate_then_zorder",
      "num": 1908,
      "name": "truncate_then_zorder",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1908_truncate_then_zorder.py",
      "read_script": "generator/df-reads-spark/1908_truncate_then_zorder.sql",
      "description": "TRUNCATE, 4 inserts of 50 each (ids 1..200), then OPTIMIZE ZORDER BY (score).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 9651,
      "write_warm_ms": 9123,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:truncate",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1909_truncate_partition",
      "num": 1909,
      "name": "truncate_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1909_truncate_partition.py",
      "read_script": "generator/df-reads-spark/1909_truncate_partition.sql",
      "description": "TRUNCATE on a partitioned table.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4992,
      "write_warm_ms": 4693,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:truncate",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/190_corrupt_log",
      "num": 190,
      "name": "corrupt_log",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/190_corrupt_log.py",
      "read_script": "generator/df-reads-spark/190_corrupt_log.sql",
      "description": "Corrupt transaction log recovery testing Multiple versions with checkpoint triggers Deletion vectors enabled",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 9571,
      "write_warm_ms": 9461
    },
    {
      "id": "spark-writes/delta/1910_truncate_cdc",
      "num": 1910,
      "name": "truncate_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1910_truncate_cdc.py",
      "read_script": "generator/df-reads-spark/1910_truncate_cdc.sql",
      "description": "TRUNCATE on a CDC-enabled table. CDF should capture the",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4887,
      "write_warm_ms": 5668,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "dml:truncate",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1911_set_tblproperties_cdc",
      "num": 1911,
      "name": "set_tblproperties_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1911_set_tblproperties_cdc.py",
      "read_script": "generator/df-reads-spark/1911_set_tblproperties_cdc.sql",
      "description": "Enable CDC mid-life via ALTER TABLE SET TBLPROPERTIES.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4582,
      "write_warm_ms": 4181,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1912_set_tblproperties_dv",
      "num": 1912,
      "name": "set_tblproperties_dv",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1912_set_tblproperties_dv.py",
      "read_script": "generator/df-reads-spark/1912_set_tblproperties_dv.sql",
      "description": "Enable deletion vectors mid-life via ALTER TABLE SET TBLPROPERTIES.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6544,
      "write_warm_ms": 5337,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1913_set_tblproperties_appendonly",
      "num": 1913,
      "name": "set_tblproperties_appendonly",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1913_set_tblproperties_appendonly.py",
      "read_script": "generator/df-reads-spark/1913_set_tblproperties_appendonly.sql",
      "description": "Enable delta.appendOnly mid-life. After SET, UPDATE/DELETE",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3816,
      "write_warm_ms": 4927,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1914_unset_tblproperties",
      "num": 1914,
      "name": "unset_tblproperties",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1914_unset_tblproperties.py",
      "read_script": "generator/df-reads-spark/1914_unset_tblproperties.sql",
      "description": "ALTER TABLE UNSET TBLPROPERTIES. Removing a property mid-life.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5444,
      "write_warm_ms": 4240,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1915_alter_column_int_to_bigint",
      "num": 1915,
      "name": "alter_column_int_to_bigint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1915_alter_column_int_to_bigint.py",
      "read_script": "generator/df-reads-spark/1915_alter_column_int_to_bigint.sql",
      "description": "Simulates type widening by writing two batches with BIGINT schema:",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3526,
      "write_warm_ms": 4040,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:type-widening",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1916_alter_column_int_to_long",
      "num": 1916,
      "name": "alter_column_int_to_long",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1916_alter_column_int_to_long.py",
      "read_script": "generator/df-reads-spark/1916_alter_column_int_to_long.sql",
      "description": "Simulates type widening by writing two batches with BIGINT schema:",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3005,
      "write_warm_ms": 3357,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:type-widening",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1917_drop_constraint_then_violate",
      "num": 1917,
      "name": "drop_constraint_then_violate",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1917_drop_constraint_then_violate.py",
      "read_script": "generator/df-reads-spark/1917_drop_constraint_then_violate.sql",
      "description": "ADD CONSTRAINT, INSERT valid, DROP CONSTRAINT, INSERT",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6929,
      "write_warm_ms": 6004,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1918_set_tblproperties_partition",
      "num": 1918,
      "name": "set_tblproperties_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1918_set_tblproperties_partition.py",
      "read_script": "generator/df-reads-spark/1918_set_tblproperties_partition.sql",
      "description": "SET TBLPROPERTIES on a partitioned table mid-life.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2885,
      "write_warm_ms": 2899,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1919_set_then_unset",
      "num": 1919,
      "name": "set_then_unset",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1919_set_then_unset.py",
      "read_script": "generator/df-reads-spark/1919_set_then_unset.sql",
      "description": "SET followed by UNSET TBLPROPERTIES.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6235,
      "write_warm_ms": 5414,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/191_partial_checkpoint",
      "num": 191,
      "name": "partial_checkpoint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/191_partial_checkpoint.py",
      "read_script": "generator/df-reads-spark/191_partial_checkpoint.sql",
      "description": "Partial checkpoint write handling and recovery.",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 10345,
      "write_warm_ms": 10648
    },
    {
      "id": "spark-writes/delta/1920_alter_column_widen_with_dml",
      "num": 1920,
      "name": "alter_column_widen_with_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1920_alter_column_widen_with_dml.py",
      "read_script": "generator/df-reads-spark/1920_alter_column_widen_with_dml.sql",
      "description": "Simulates type widening + UPDATE/DELETE by computing the final state directly: ids 51..100 with val=i survive; ids 1..50 are deleted.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5032,
      "write_warm_ms": 4259,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1921_alter_column_widen_partition",
      "num": 1921,
      "name": "alter_column_widen_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1921_alter_column_widen_partition.py",
      "read_script": "generator/df-reads-spark/1921_alter_column_widen_partition.sql",
      "description": "Simulates type widening on a partitioned table by writing two batches with BIGINT schema:",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2499,
      "write_warm_ms": 3345,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1922_drop_constraint_chain",
      "num": 1922,
      "name": "drop_constraint_chain",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1922_drop_constraint_chain.py",
      "read_script": "generator/df-reads-spark/1922_drop_constraint_chain.sql",
      "description": "Multiple constraints, sequential DROP CONSTRAINT calls.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 10547,
      "write_warm_ms": 10551,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1923_set_tblproperties_multiple",
      "num": 1923,
      "name": "set_tblproperties_multiple",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1923_set_tblproperties_multiple.py",
      "read_script": "generator/df-reads-spark/1923_set_tblproperties_multiple.sql",
      "description": "Setting multiple properties in a single ALTER TABLE.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5385,
      "write_warm_ms": 5554,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1924_ctas_with_constraint",
      "num": 1924,
      "name": "ctas_with_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1924_ctas_with_constraint.py",
      "read_script": "generator/df-reads-spark/1924_ctas_with_constraint.sql",
      "description": "CTAS followed by adding a CHECK constraint and more inserts.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4587,
      "write_warm_ms": 4240,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1925_ddl_lifecycle",
      "num": 1925,
      "name": "ddl_lifecycle",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1925_ddl_lifecycle.py",
      "read_script": "generator/df-reads-spark/1925_ddl_lifecycle.sql",
      "description": "Full DDL lifecycle in one table: CTAS + ADD CONSTRAINT",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 9784,
      "write_warm_ms": 10933,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1926_insert_zero_rows",
      "num": 1926,
      "name": "insert_zero_rows",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1926_insert_zero_rows.py",
      "read_script": "generator/df-reads-spark/1926_insert_zero_rows.sql",
      "description": "INSERT that produces zero rows via WHERE clause. Table remains empty.",
      "status": "pass",
      "duration_ms": 2,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 2,
      "read_warm_ms": 0,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1762,
      "write_warm_ms": 1630,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1927_insert_one_row",
      "num": 1927,
      "name": "insert_one_row",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1927_insert_one_row.py",
      "read_script": "generator/df-reads-spark/1927_insert_one_row.sql",
      "description": "Single-row INSERT, then full DML lifecycle against 1 row.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7908,
      "write_warm_ms": 7215,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1928_insert_two_rows",
      "num": 1928,
      "name": "insert_two_rows",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1928_insert_two_rows.py",
      "read_script": "generator/df-reads-spark/1928_insert_two_rows.sql",
      "description": "2-row INSERT, UPDATE 1, DELETE 1, INSERT 1.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7085,
      "write_warm_ms": 8492,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1929_insert_then_zero_match_dml",
      "num": 1929,
      "name": "insert_then_zero_match_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1929_insert_then_zero_match_dml.py",
      "read_script": "generator/df-reads-spark/1929_insert_then_zero_match_dml.sql",
      "description": "INSERT then UPDATE/DELETE/MERGE with zero matches. Validates that zero-match DML does not corrupt the table.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4448,
      "write_warm_ms": 3384,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/192_clock_skew",
      "num": 192,
      "name": "clock_skew",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/192_clock_skew.py",
      "read_script": "generator/df-reads-spark/192_clock_skew.sql",
      "description": "Clock skew handling in commit logs. Multiple systems inserting/updating rows.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 8866,
      "write_warm_ms": 8557
    },
    {
      "id": "spark-writes/delta/1930_insert_max_int_count",
      "num": 1930,
      "name": "insert_max_int_count",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1930_insert_max_int_count.py",
      "read_script": "generator/df-reads-spark/1930_insert_max_int_count.sql",
      "description": "INSERT exactly 256 rows (power-of-2 boundary).",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1916,
      "write_warm_ms": 2635,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1931_insert_512_rows",
      "num": 1931,
      "name": "insert_512_rows",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1931_insert_512_rows.py",
      "read_script": "generator/df-reads-spark/1931_insert_512_rows.sql",
      "description": "INSERT exactly 512 rows (power-of-2 boundary).",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2326,
      "write_warm_ms": 2573,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1932_insert_1024_rows",
      "num": 1932,
      "name": "insert_1024_rows",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1932_insert_1024_rows.py",
      "read_script": "generator/df-reads-spark/1932_insert_1024_rows.sql",
      "description": "INSERT exactly 1024 rows (power-of-2 boundary).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2467,
      "write_warm_ms": 2611,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1933_insert_4096_rows",
      "num": 1933,
      "name": "insert_4096_rows",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1933_insert_4096_rows.py",
      "read_script": "generator/df-reads-spark/1933_insert_4096_rows.sql",
      "description": "INSERT exactly 4096 rows (page size boundary).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2044,
      "write_warm_ms": 2696,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1934_insert_8191_rows",
      "num": 1934,
      "name": "insert_8191_rows",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1934_insert_8191_rows.py",
      "read_script": "generator/df-reads-spark/1934_insert_8191_rows.sql",
      "description": "INSERT exactly 8191 rows (just under page boundary 8192).",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2767,
      "write_warm_ms": 2801,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1935_insert_8192_rows",
      "num": 1935,
      "name": "insert_8192_rows",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1935_insert_8192_rows.py",
      "read_script": "generator/df-reads-spark/1935_insert_8192_rows.sql",
      "description": "INSERT exactly 8192 rows (exact page boundary).",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2567,
      "write_warm_ms": 2335,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1936_dv_max_size",
      "num": 1936,
      "name": "dv_max_size",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1936_dv_max_size.py",
      "read_script": "generator/df-reads-spark/1936_dv_max_size.sql",
      "description": "Large DELETE with deletion vectors -- 5000 deletes out of 10000 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6634,
      "write_warm_ms": 4657,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1937_pushdown_proof_int",
      "num": 1937,
      "name": "pushdown_proof_int",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1937_pushdown_proof_int.py",
      "read_script": "generator/df-reads-spark/1937_pushdown_proof_int.sql",
      "description": "Predicate pushdown proof on INT column. 4 disjoint INT ranges.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5658,
      "write_warm_ms": 5989,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1938_pushdown_proof_decimal",
      "num": 1938,
      "name": "pushdown_proof_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1938_pushdown_proof_decimal.py",
      "read_script": "generator/df-reads-spark/1938_pushdown_proof_decimal.sql",
      "description": "Predicate pushdown proof on DECIMAL column. 4 disjoint DECIMAL ranges.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5710,
      "write_warm_ms": 6427,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1939_explain_after_insert",
      "num": 1939,
      "name": "explain_after_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1939_explain_after_insert.py",
      "read_script": "generator/df-reads-spark/1939_explain_after_insert.sql",
      "description": "Table for df.filter().explain() verification after multi-batch insert. 4 INSERT batches of 50 rows each with disjoint id ranges.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5515,
      "write_warm_ms": 5845,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/193_file_atomicity",
      "num": 193,
      "name": "file_atomicity",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/193_file_atomicity.py",
      "read_script": "generator/df-reads-spark/193_file_atomicity.sql",
      "description": "File rename atomicity testing. Multiple transaction batches.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 4903,
      "write_warm_ms": 5017
    },
    {
      "id": "spark-writes/delta/1940_files_read_metric",
      "num": 1940,
      "name": "files_read_metric",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1940_files_read_metric.py",
      "read_script": "generator/df-reads-spark/1940_files_read_metric.sql",
      "description": "File skipping by Delta statistics. 5 disjoint score batches in 5 files. Verification reads with predicate and checks numFiles in scan metrics.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7242,
      "write_warm_ms": 6452,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1941_parquet_direct_read",
      "num": 1941,
      "name": "parquet_direct_read",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1941_parquet_direct_read.py",
      "read_script": "generator/df-reads-spark/1941_parquet_direct_read.sql",
      "description": "Table where verification reads underlying Parquet files directly.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2726,
      "write_warm_ms": 2294,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1942_zero_row_after_delete",
      "num": 1942,
      "name": "zero_row_after_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1942_zero_row_after_delete.py",
      "read_script": "generator/df-reads-spark/1942_zero_row_after_delete.sql",
      "description": "DELETE all rows, then verify 0 rows are readable.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 0,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4144,
      "write_warm_ms": 3857,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1943_one_row_per_batch",
      "num": 1943,
      "name": "one_row_per_batch",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1943_one_row_per_batch.py",
      "read_script": "generator/df-reads-spark/1943_one_row_per_batch.sql",
      "description": "100 sequential INSERT batches of 1 row each. Tests small-file handling.",
      "status": "pass",
      "duration_ms": 64,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 64,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 169015,
      "write_warm_ms": 172971,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1944_50_batches_typed",
      "num": 1944,
      "name": "50_batches_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1944_50_batches_typed.py",
      "read_script": "generator/df-reads-spark/1944_50_batches_typed.sql",
      "description": "50 INSERT batches of 10 rows each with multiple types.",
      "status": "pass",
      "duration_ms": 111,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 111,
      "read_warm_ms": 31,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 72443,
      "write_warm_ms": 79968,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:many-batches",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1945_verify_pushed_filters",
      "num": 1945,
      "name": "verify_pushed_filters",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1945_verify_pushed_filters.py",
      "read_script": "generator/df-reads-spark/1945_verify_pushed_filters.sql",
      "description": "Table for PushedFilters plan-text verification. 3 INSERT batches.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4066,
      "write_warm_ms": 4586,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1946_verify_files_skipped",
      "num": 1946,
      "name": "verify_files_skipped",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1946_verify_files_skipped.py",
      "read_script": "generator/df-reads-spark/1946_verify_files_skipped.sql",
      "description": "File skipping reduces files read. 5 batches with disjoint score ranges.",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6425,
      "write_warm_ms": 7492,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1947_verify_format_v2",
      "num": 1947,
      "name": "verify_format_v2",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1947_verify_format_v2.py",
      "read_script": "generator/df-reads-spark/1947_verify_format_v2.sql",
      "description": "Table using Delta v2 features (deletion vectors).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5602,
      "write_warm_ms": 6260,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "iceberg:format-version",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1948_long_table_history",
      "num": 1948,
      "name": "long_table_history",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1948_long_table_history.py",
      "read_script": "generator/df-reads-spark/1948_long_table_history.sql",
      "description": "30+ versions for history depth testing. 30 sequential INSERT batches of 5 rows each.",
      "status": "pass",
      "duration_ms": 46,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 46,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 54151,
      "write_warm_ms": 55109,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1949_alternating_dml",
      "num": 1949,
      "name": "alternating_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1949_alternating_dml.py",
      "read_script": "generator/df-reads-spark/1949_alternating_dml.sql",
      "description": "Alternating DML pattern repeated 10 times. Net +10 rows per iteration.",
      "status": "pass",
      "duration_ms": 43,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 43,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 114431,
      "write_warm_ms": 117963,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/194_partitioned_write",
      "num": 194,
      "name": "partitioned_write",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/194_partitioned_write.py",
      "read_script": "generator/df-reads-spark/194_partitioned_write.sql",
      "description": "Partitioned table with Hive-style partitioning (region). 50 rows across us-east, us-west, eu-west.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 602,
      "write_warm_ms": 576
    },
    {
      "id": "spark-writes/delta/1950_ultimate_size_test",
      "num": 1950,
      "name": "ultimate_size_test",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1950_ultimate_size_test.py",
      "read_script": "generator/df-reads-spark/1950_ultimate_size_test.sql",
      "description": "Ultimate stress test combining large INSERT, UPDATE, DELETE,",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 15132,
      "write_warm_ms": 13821,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1951_ict_enable_basic",
      "num": 1951,
      "name": "ict_enable_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1951_ict_enable_basic.py",
      "read_script": "generator/df-reads-spark/1951_ict_enable_basic.sql",
      "description": "ICT enabled at table creation, basic INSERT.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3037,
      "write_warm_ms": 3093,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1952_ict_monotonic_after_dml",
      "num": 1952,
      "name": "ict_monotonic_after_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1952_ict_monotonic_after_dml.py",
      "read_script": "generator/df-reads-spark/1952_ict_monotonic_after_dml.sql",
      "description": "ICT timestamps strictly increase across INSERT, UPDATE, DELETE.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 9513,
      "write_warm_ms": 7348,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1953_ict_with_partition",
      "num": 1953,
      "name": "ict_with_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1953_ict_with_partition.py",
      "read_script": "generator/df-reads-spark/1953_ict_with_partition.sql",
      "description": "ICT + PARTITIONED BY region (4 partitions: north, south, east, west).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1877,
      "write_warm_ms": 1514,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1954_ict_with_cdc",
      "num": 1954,
      "name": "ict_with_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1954_ict_with_cdc.py",
      "read_script": "generator/df-reads-spark/1954_ict_with_cdc.sql",
      "description": "ICT + Change Data Feed enabled.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6371,
      "write_warm_ms": 4394,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1955_ict_after_optimize",
      "num": 1955,
      "name": "ict_after_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1955_ict_after_optimize.py",
      "read_script": "generator/df-reads-spark/1955_ict_after_optimize.sql",
      "description": "ICT preserved across OPTIMIZE compaction. 5 INSERT batches then OPTIMIZE.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 10223,
      "write_warm_ms": 10464,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1956_ict_with_dv",
      "num": 1956,
      "name": "ict_with_dv",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1956_ict_with_dv.py",
      "read_script": "generator/df-reads-spark/1956_ict_with_dv.sql",
      "description": "ICT + Deletion Vectors with predicate DELETE.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4224,
      "write_warm_ms": 4233,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1957_ict_time_travel_by_timestamp",
      "num": 1957,
      "name": "ict_time_travel_by_timestamp",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1957_ict_time_travel_by_timestamp.py",
      "read_script": "generator/df-reads-spark/1957_ict_time_travel_by_timestamp.sql",
      "description": "ICT enables time travel by timestamp. 2 batches.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3184,
      "write_warm_ms": 3694,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1958_ict_after_restore",
      "num": 1958,
      "name": "ict_after_restore",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1958_ict_after_restore.py",
      "read_script": "generator/df-reads-spark/1958_ict_after_restore.sql",
      "description": "ICT + RESTORE. Verify ICT preserved after restore.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 10941,
      "write_warm_ms": 11388,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1959_rowtrack_enable_basic",
      "num": 1959,
      "name": "rowtrack_enable_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1959_rowtrack_enable_basic.py",
      "read_script": "generator/df-reads-spark/1959_rowtrack_enable_basic.sql",
      "description": "Row tracking enabled, basic INSERT.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2960,
      "write_warm_ms": 2174,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/195_partition_pruning",
      "num": 195,
      "name": "partition_pruning",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/195_partition_pruning.py",
      "read_script": "generator/df-reads-spark/195_partition_pruning.sql",
      "description": "Multi-partition table with 12 AWS-style regions. 120 rows (10 per partition).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 522,
      "write_warm_ms": 602
    },
    {
      "id": "spark-writes/delta/1960_rowtrack_after_update",
      "num": 1960,
      "name": "rowtrack_after_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1960_rowtrack_after_update.py",
      "read_script": "generator/df-reads-spark/1960_rowtrack_after_update.sql",
      "description": "Row tracking + UPDATE preserves row IDs.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5444,
      "write_warm_ms": 4265,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1961_rowtrack_after_merge",
      "num": 1961,
      "name": "rowtrack_after_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1961_rowtrack_after_merge.py",
      "read_script": "generator/df-reads-spark/1961_rowtrack_after_merge.sql",
      "description": "Row tracking + MERGE inserting 20 new rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4117,
      "write_warm_ms": 3459,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1962_rowtrack_with_optimize",
      "num": 1962,
      "name": "rowtrack_with_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1962_rowtrack_with_optimize.py",
      "read_script": "generator/df-reads-spark/1962_rowtrack_with_optimize.sql",
      "description": "Row tracking + OPTIMIZE preserves row IDs. 5 small INSERTs then OPTIMIZE.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 12067,
      "write_warm_ms": 13280,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1963_rowtrack_with_dv",
      "num": 1963,
      "name": "rowtrack_with_dv",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1963_rowtrack_with_dv.py",
      "read_script": "generator/df-reads-spark/1963_rowtrack_with_dv.sql",
      "description": "Row tracking + DV with predicate DELETE.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5370,
      "write_warm_ms": 4401,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1964_rowtrack_partition",
      "num": 1964,
      "name": "rowtrack_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1964_rowtrack_partition.py",
      "read_script": "generator/df-reads-spark/1964_rowtrack_partition.sql",
      "description": "Row tracking + PARTITIONED BY (4 partitions).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1553,
      "write_warm_ms": 1462,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1965_v2_checkpoint_basic",
      "num": 1965,
      "name": "v2_checkpoint_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1965_v2_checkpoint_basic.py",
      "read_script": "generator/df-reads-spark/1965_v2_checkpoint_basic.sql",
      "description": "V2 checkpoint policy with 10 small INSERTs of 10.",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 15138,
      "write_warm_ms": 15900,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1966_v2_checkpoint_multi_sidecar",
      "num": 1966,
      "name": "v2_checkpoint_multi_sidecar",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1966_v2_checkpoint_multi_sidecar.py",
      "read_script": "generator/df-reads-spark/1966_v2_checkpoint_multi_sidecar.sql",
      "description": "V2 checkpoint with 20 small INSERTs to encourage multi-sidecar.",
      "status": "pass",
      "duration_ms": 30,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 30,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 33913,
      "write_warm_ms": 28241,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:checkpoint-sidecar",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1967_v2_checkpoint_after_vacuum",
      "num": 1967,
      "name": "v2_checkpoint_after_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1967_v2_checkpoint_after_vacuum.py",
      "read_script": "generator/df-reads-spark/1967_v2_checkpoint_after_vacuum.sql",
      "description": "V2 checkpoint + INSERT/UPDATE/DELETE + VACUUM RETAIN 0.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 13350,
      "write_warm_ms": 15506,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1968_v2_checkpoint_after_optimize",
      "num": 1968,
      "name": "v2_checkpoint_after_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1968_v2_checkpoint_after_optimize.py",
      "read_script": "generator/df-reads-spark/1968_v2_checkpoint_after_optimize.sql",
      "description": "V2 checkpoint + 8 INSERTs + OPTIMIZE compaction.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 12575,
      "write_warm_ms": 12299,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1969_v2_checkpoint_uuid_naming",
      "num": 1969,
      "name": "v2_checkpoint_uuid_naming",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1969_v2_checkpoint_uuid_naming.py",
      "read_script": "generator/df-reads-spark/1969_v2_checkpoint_uuid_naming.sql",
      "description": "V2 checkpoint files use UUID naming convention. 12 INSERTs with checkpoint interval 5.",
      "status": "pass",
      "duration_ms": 27,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 27,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 17433,
      "write_warm_ms": 18312,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/196_statistics_roundtrip",
      "num": 196,
      "name": "statistics_roundtrip",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/196_statistics_roundtrip.py",
      "read_script": "generator/df-reads-spark/196_statistics_roundtrip.sql",
      "description": "Statistics and Data Skipping Interop. 300 rows in 3 separate files.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "storage:statistics",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 1410,
      "write_warm_ms": 1455
    },
    {
      "id": "spark-writes/delta/1970_drop_col_basic_colmap",
      "num": 1970,
      "name": "drop_col_basic_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1970_drop_col_basic_colmap.py",
      "read_script": "generator/df-reads-spark/1970_drop_col_basic_colmap.sql",
      "description": "Basic ALTER TABLE DROP COLUMN with column mapping enabled. Schema (final): id BIGINT, name STRING, value INT",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2076,
      "write_warm_ms": 2207,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:drop-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1971_drop_col_then_dml",
      "num": 1971,
      "name": "drop_col_then_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1971_drop_col_then_dml.py",
      "read_script": "generator/df-reads-spark/1971_drop_col_then_dml.sql",
      "description": "DROP COLUMN followed by UPDATE and DELETE on remaining columns.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6487,
      "write_warm_ms": 6494,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:drop-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1972_drop_col_then_optimize",
      "num": 1972,
      "name": "drop_col_then_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1972_drop_col_then_optimize.py",
      "read_script": "generator/df-reads-spark/1972_drop_col_then_optimize.sql",
      "description": "DROP COLUMN after multiple INSERT batches, then OPTIMIZE. 5 batches of 20, then DROP junk, then OPTIMIZE.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8681,
      "write_warm_ms": 9593,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "schema:drop-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1973_drop_col_then_zorder",
      "num": 1973,
      "name": "drop_col_then_zorder",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1973_drop_col_then_zorder.py",
      "read_script": "generator/df-reads-spark/1973_drop_col_then_zorder.sql",
      "description": "DROP COLUMN followed by OPTIMIZE ZORDER BY remaining column.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4562,
      "write_warm_ms": 4175,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "schema:drop-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1974_drop_col_with_cdc",
      "num": 1974,
      "name": "drop_col_with_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1974_drop_col_with_cdc.py",
      "read_script": "generator/df-reads-spark/1974_drop_col_with_cdc.sql",
      "description": "DROP COLUMN on table with CDF enabled, then more INSERTs. Schema (final): id BIGINT, name STRING, score INT",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3199,
      "write_warm_ms": 3621,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:drop-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1975_drop_col_partitioned",
      "num": 1975,
      "name": "drop_col_partitioned",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1975_drop_col_partitioned.py",
      "read_script": "generator/df-reads-spark/1975_drop_col_partitioned.sql",
      "description": "DROP COLUMN on a partitioned table (drop a non-partition column).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2076,
      "write_warm_ms": 2255,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:drop-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1976_drop_col_chain_three",
      "num": 1976,
      "name": "drop_col_chain_three",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1976_drop_col_chain_three.py",
      "read_script": "generator/df-reads-spark/1976_drop_col_chain_three.sql",
      "description": "Three sequential DROP COLUMN operations. Schema (final): id BIGINT, keep1 INT, keep2 STRING",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4177,
      "write_warm_ms": 3456,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:drop-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1977_drop_col_then_add_same_name",
      "num": 1977,
      "name": "drop_col_then_add_same_name",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1977_drop_col_then_add_same_name.py",
      "read_script": "generator/df-reads-spark/1977_drop_col_then_add_same_name.sql",
      "description": "DROP a column then ADD it back with same name (different physical id).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2499,
      "write_warm_ms": 2314,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "schema:drop-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1978_gencol_basic_arith",
      "num": 1978,
      "name": "gencol_basic_arith",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1978_gencol_basic_arith.py",
      "read_script": "generator/df-reads-spark/1978_gencol_basic_arith.sql",
      "description": "Basic arithmetic generated column c = a + b. Engine auto-computes c.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1704,
      "write_warm_ms": 1658,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1979_gencol_string_concat",
      "num": 1979,
      "name": "gencol_string_concat",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1979_gencol_string_concat.py",
      "read_script": "generator/df-reads-spark/1979_gencol_string_concat.sql",
      "description": "String generated column full = CONCAT(first, ' ', last).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1690,
      "write_warm_ms": 1743,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/197_nested_schema_modify",
      "num": 197,
      "name": "nested_schema_modify",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/197_nested_schema_modify.py",
      "read_script": "generator/df-reads-spark/197_nested_schema_modify.sql",
      "description": "Deeply nested struct fields. 100 rows with 3-level nesting. metadata STRUCT, status STRING",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:array",
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:nested-types",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 610,
      "write_warm_ms": 556
    },
    {
      "id": "spark-writes/delta/1980_gencol_date_extract",
      "num": 1980,
      "name": "gencol_date_extract",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1980_gencol_date_extract.py",
      "read_script": "generator/df-reads-spark/1980_gencol_date_extract.sql",
      "description": "Generated column extracting YEAR from a TIMESTAMP. year_col = YEAR(ts). All rows in 2024.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1762,
      "write_warm_ms": 1921,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1981_gencol_after_update",
      "num": 1981,
      "name": "gencol_after_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1981_gencol_after_update.py",
      "read_script": "generator/df-reads-spark/1981_gencol_after_update.sql",
      "description": "Generated column auto-recomputed after UPDATE on base column.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4576,
      "write_warm_ms": 4130,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1982_gencol_partition_key",
      "num": 1982,
      "name": "gencol_partition_key",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1982_gencol_partition_key.py",
      "read_script": "generator/df-reads-spark/1982_gencol_partition_key.sql",
      "description": "Generated column used as partition key (id_bucket = id % 6). 60 rows distributed across 6 buckets.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1047,
      "write_warm_ms": 1174,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:generated-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1983_gencol_with_constraint",
      "num": 1983,
      "name": "gencol_with_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1983_gencol_with_constraint.py",
      "read_script": "generator/df-reads-spark/1983_gencol_with_constraint.sql",
      "description": "Generated column combined with CHECK constraint on it (c >= 0).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3824,
      "write_warm_ms": 4846,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1984_gencol_with_cdc",
      "num": 1984,
      "name": "gencol_with_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1984_gencol_with_cdc.py",
      "read_script": "generator/df-reads-spark/1984_gencol_with_cdc.sql",
      "description": "Generated column combined with Change Data Feed.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3857,
      "write_warm_ms": 3798,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1985_gencol_decimal_calc",
      "num": 1985,
      "name": "gencol_decimal_calc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1985_gencol_decimal_calc.py",
      "read_script": "generator/df-reads-spark/1985_gencol_decimal_calc.sql",
      "description": "Generated column with decimal arithmetic (total = price * qty).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1684,
      "write_warm_ms": 1542,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1986_widen_byte_to_short",
      "num": 1986,
      "name": "widen_byte_to_short",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1986_widen_byte_to_short.py",
      "read_script": "generator/df-reads-spark/1986_widen_byte_to_short.sql",
      "description": "SMALLINT column with two appends (values in both TINYINT and SMALLINT ranges).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2419,
      "write_warm_ms": 2705,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1987_widen_short_to_int",
      "num": 1987,
      "name": "widen_short_to_int",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1987_widen_short_to_int.py",
      "read_script": "generator/df-reads-spark/1987_widen_short_to_int.sql",
      "description": "INT column with two appends (values in both SMALLINT and INT ranges).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3033,
      "write_warm_ms": 3015,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1988_widen_int_to_long_partition",
      "num": 1988,
      "name": "widen_int_to_long_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1988_widen_int_to_long_partition.py",
      "read_script": "generator/df-reads-spark/1988_widen_int_to_long_partition.sql",
      "description": "BIGINT column on a partitioned table with two appends.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2220,
      "write_warm_ms": 2271,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1989_widen_float_to_double",
      "num": 1989,
      "name": "widen_float_to_double",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1989_widen_float_to_double.py",
      "read_script": "generator/df-reads-spark/1989_widen_float_to_double.sql",
      "description": "DOUBLE column with two appends (low-precision then high-precision values).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3651,
      "write_warm_ms": 2668,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/198_map_array_types",
      "num": 198,
      "name": "map_array_types",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/198_map_array_types.py",
      "read_script": "generator/df-reads-spark/198_map_array_types.sql",
      "description": "Map<K,V> and Array<T> type operations. 100 rows with complex types.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:array",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 541,
      "write_warm_ms": 578
    },
    {
      "id": "spark-writes/delta/1990_widen_decimal_scale_up",
      "num": 1990,
      "name": "widen_decimal_scale_up",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1990_widen_decimal_scale_up.py",
      "read_script": "generator/df-reads-spark/1990_widen_decimal_scale_up.sql",
      "description": "DECIMAL(20,2) written from the start. 50 rows val=i*1.25.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1815,
      "write_warm_ms": 2040,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1991_widen_decimal_precision",
      "num": 1991,
      "name": "widen_decimal_precision",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1991_widen_decimal_precision.py",
      "read_script": "generator/df-reads-spark/1991_widen_decimal_precision.sql",
      "description": "Demonstrates type widening DECIMAL(8,2) -> DECIMAL(18,2). Inserts 50 rows with val = i * 100.50, then widens the column type.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1840,
      "write_warm_ms": 2111,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1992_widen_then_optimize",
      "num": 1992,
      "name": "widen_then_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1992_widen_then_optimize.py",
      "read_script": "generator/df-reads-spark/1992_widen_then_optimize.sql",
      "description": "Demonstrates INT -> BIGINT widening followed by OPTIMIZE compaction across multiple small batches.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8309,
      "write_warm_ms": 8521,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "scale:large-dataset",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1993_widen_then_zorder",
      "num": 1993,
      "name": "widen_then_zorder",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1993_widen_then_zorder.py",
      "read_script": "generator/df-reads-spark/1993_widen_then_zorder.sql",
      "description": "Demonstrates INT -> BIGINT widening followed by OPTIMIZE ZORDER BY widened col.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4594,
      "write_warm_ms": 4363,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1994_collation_unicode_basic",
      "num": 1994,
      "name": "collation_unicode_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1994_collation_unicode_basic.py",
      "read_script": "generator/df-reads-spark/1994_collation_unicode_basic.sql",
      "description": "Enables collations table feature; inserts 50 string rows with default UTF8_BINARY collation.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1644,
      "write_warm_ms": 1722,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1995_collation_case_insensitive",
      "num": 1995,
      "name": "collation_case_insensitive",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1995_collation_case_insensitive.py",
      "read_script": "generator/df-reads-spark/1995_collation_case_insensitive.sql",
      "description": "Collations feature enabled; 50 rows with mixed-case strings alternating Hello_/HELLO_/hello_ patterns.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1475,
      "write_warm_ms": 1718,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1996_collation_filter_pushdown",
      "num": 1996,
      "name": "collation_filter_pushdown",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1996_collation_filter_pushdown.py",
      "read_script": "generator/df-reads-spark/1996_collation_filter_pushdown.sql",
      "description": "Collations feature + DELETE WHERE col = literal. Inserts 100 rows then deletes 50 where name='target'.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3365,
      "write_warm_ms": 2913,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1997_collation_with_zorder",
      "num": 1997,
      "name": "collation_with_zorder",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1997_collation_with_zorder.py",
      "read_script": "generator/df-reads-spark/1997_collation_with_zorder.sql",
      "description": "Collations feature + OPTIMIZE ZORDER BY string column. 100 rows.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3006,
      "write_warm_ms": 3279,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1998_collation_partition_key",
      "num": 1998,
      "name": "collation_partition_key",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1998_collation_partition_key.py",
      "read_script": "generator/df-reads-spark/1998_collation_partition_key.sql",
      "description": "Collations feature on a partitioned table; partition key is STRING. 80 rows across 4 regions (US, EU, AP, SA).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1804,
      "write_warm_ms": 1048,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/1999_collation_after_dml",
      "num": 1999,
      "name": "collation_after_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/1999_collation_after_dml.py",
      "read_script": "generator/df-reads-spark/1999_collation_after_dml.sql",
      "description": "Collations feature + INSERT/UPDATE/DELETE workflow.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T18:42:38.755977+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5401,
      "write_warm_ms": 5138,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/199_log_compaction",
      "num": 199,
      "name": "log_compaction",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/199_log_compaction.py",
      "read_script": "generator/df-reads-spark/199_log_compaction.sql",
      "description": "Table 199 (chaos_log_compaction): log_compaction Verifies that DeltaForge-triggered log compaction creates checkpoints readable by Spark. 26 total commits: 1 initial (50 rows) + 25 batches of 5 rows each.",
      "status": "pass",
      "duration_ms": 38,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 38,
      "read_warm_ms": 19,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:log-compaction",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 8322,
      "write_warm_ms": 8083
    },
    {
      "id": "spark-writes/delta/19_action_protocol_version_upgrade",
      "num": 19,
      "name": "action_protocol_version_upgrade",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/19_action_protocol_version_upgrade.py",
      "read_script": "generator/df-reads-spark/19_action_protocol_version_upgrade.sql",
      "description": "Financial Services Data Governance Platform. Demonstrates protocol version upgrade action with CDC and column mapping features.",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 1672,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2000_domain_clustering_basic",
      "num": 2000,
      "name": "domain_clustering_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2000_domain_clustering_basic.py",
      "read_script": "generator/df-reads-spark/2000_domain_clustering_basic.sql",
      "description": "Domain metadata feature enabled + CLUSTER BY clustering domain. 100 rows.",
      "status": "pass",
      "duration_ms": 99,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 99,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 19044,
      "write_warm_ms": 2822,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2001_domain_clustering_after_optimize",
      "num": 2001,
      "name": "domain_clustering_after_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2001_domain_clustering_after_optimize.py",
      "read_script": "generator/df-reads-spark/2001_domain_clustering_after_optimize.sql",
      "description": "CLUSTER BY + multiple INSERT batches (5 x 20 rows) + OPTIMIZE.",
      "status": "pass",
      "duration_ms": 20,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 20,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 12890,
      "write_warm_ms": 9839,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2002_domain_rowtrack_combined",
      "num": 2002,
      "name": "domain_rowtrack_combined",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2002_domain_rowtrack_combined.py",
      "read_script": "generator/df-reads-spark/2002_domain_rowtrack_combined.sql",
      "description": "domainMetadata + rowTracking features together with CLUSTER BY. 100 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2275,
      "write_warm_ms": 2021,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2003_domain_persist_through_restore",
      "num": 2003,
      "name": "domain_persist_through_restore",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2003_domain_persist_through_restore.py",
      "read_script": "generator/df-reads-spark/2003_domain_persist_through_restore.sql",
      "description": "Domain metadata persists through RESTORE TO VERSION.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5393,
      "write_warm_ms": 5082,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2004_identity_after_optimize",
      "num": 2004,
      "name": "identity_after_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2004_identity_after_optimize.py",
      "read_script": "generator/df-reads-spark/2004_identity_after_optimize.sql",
      "description": "IDENTITY column with 5 batched INSERTs of 20 rows each (ids 1..100), followed by OPTIMIZE. IDENTITY computed inline in Python (START WITH 1 INCREMENT BY 1).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 9729,
      "write_warm_ms": 8682,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2005_identity_after_merge_insert",
      "num": 2005,
      "name": "identity_after_merge_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2005_identity_after_merge_insert.py",
      "read_script": "generator/df-reads-spark/2005_identity_after_merge_insert.sql",
      "description": "IDENTITY column with INSERT 50 followed by MERGE that inserts 20 NOT MATCHED rows. IDs 51..70 for the merge inserts.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4465,
      "write_warm_ms": 3761,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2006_identity_with_partition",
      "num": 2006,
      "name": "identity_with_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2006_identity_with_partition.py",
      "read_script": "generator/df-reads-spark/2006_identity_with_partition.sql",
      "description": "IDENTITY column with PARTITIONED BY region. 80 rows distributed across 4 regions (US, EU, AP, LA).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1388,
      "write_warm_ms": 1366,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2007_identity_after_restore",
      "num": 2007,
      "name": "identity_after_restore",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2007_identity_after_restore.py",
      "read_script": "generator/df-reads-spark/2007_identity_after_restore.sql",
      "description": "70 rows (RESTORE TO VERSION 1 = post-DELETE state)",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5711,
      "write_warm_ms": 4036,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2008_identity_with_cdc",
      "num": 2008,
      "name": "identity_with_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2008_identity_with_cdc.py",
      "read_script": "generator/df-reads-spark/2008_identity_with_cdc.sql",
      "description": "IDENTITY column with CDC enabled. INSERT 80 (V1), UPDATE WHERE id <= 20 (V2).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4295,
      "write_warm_ms": 4181,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2009_identity_after_delete_resume",
      "num": 2009,
      "name": "identity_after_delete_resume",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2009_identity_after_delete_resume.py",
      "read_script": "generator/df-reads-spark/2009_identity_after_delete_resume.sql",
      "description": "IDENTITY HWM continues across DELETE.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4775,
      "write_warm_ms": 4758,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/200_time_travel_timestamp",
      "num": 200,
      "name": "time_travel_timestamp",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/200_time_travel_timestamp.py",
      "read_script": "generator/df-reads-spark/200_time_travel_timestamp.sql",
      "description": "Table 200 (chaos_time_travel_timestamp): time_travel_timestamp",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:55:48.276525+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null,
      "write_cold_ms": 4723,
      "write_warm_ms": 4171
    },
    {
      "id": "spark-writes/delta/2010_default_literal_after_evolve",
      "num": 2010,
      "name": "default_literal_after_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2010_default_literal_after_evolve.py",
      "read_script": "generator/df-reads-spark/2010_default_literal_after_evolve.sql",
      "description": "ALTER TABLE ADD COLUMN with DEFAULT after rows exist. Schema (final): id BIGINT, name STRING, score INT, status STRING DEFAULT 'unknown",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3345,
      "write_warm_ms": 2623,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2011_default_expression_now",
      "num": 2011,
      "name": "default_expression_now",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2011_default_expression_now.py",
      "read_script": "generator/df-reads-spark/2011_default_expression_now.sql",
      "description": "DEFAULT expression -- column with a fixed timestamp default. 50 rows inserted omitting created_at -> default TIMESTAMP '2024-01-01 00:00:00'.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1981,
      "write_warm_ms": 1943,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2012_default_with_partition",
      "num": 2012,
      "name": "default_with_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2012_default_with_partition.py",
      "read_script": "generator/df-reads-spark/2012_default_with_partition.sql",
      "description": "Partitioned table with non-partition column having DEFAULT. 80 rows across 4 region partitions; status omitted -> 'pending'.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1361,
      "write_warm_ms": 1366,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2013_default_with_constraint",
      "num": 2013,
      "name": "default_with_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2013_default_with_constraint.py",
      "read_script": "generator/df-reads-spark/2013_default_with_constraint.sql",
      "description": "Column with DEFAULT and CHECK constraint. priority DEFAULT 5, CHECK(priority >= 0 AND priority <= 10). 50 rows inserted omitting priority -> default 5.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3835,
      "write_warm_ms": 3610,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2014_default_in_merge_insert",
      "num": 2014,
      "name": "default_in_merge_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2014_default_in_merge_insert.py",
      "read_script": "generator/df-reads-spark/2014_default_in_merge_insert.sql",
      "description": "MERGE NOT MATCHED INSERT relies on column with DEFAULT. 30 unmatched rows inserted via MERGE with status defaulted to 'pending'.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3719,
      "write_warm_ms": 2804,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2015_default_decimal_value",
      "num": 2015,
      "name": "default_decimal_value",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2015_default_decimal_value.py",
      "read_script": "generator/df-reads-spark/2015_default_decimal_value.sql",
      "description": "DEFAULT for a DECIMAL column. 30 rows omit price (default 99.99), 20 supply explicit.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4053,
      "write_warm_ms": 3590,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2016_ctas_with_cdc",
      "num": 2016,
      "name": "ctas_with_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2016_ctas_with_cdc.py",
      "read_script": "generator/df-reads-spark/2016_ctas_with_cdc.sql",
      "description": "CTAS with TBLPROPERTIES enabling CDF. 100 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1896,
      "write_warm_ms": 1757,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2017_ctas_with_dv",
      "num": 2017,
      "name": "ctas_with_dv",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2017_ctas_with_dv.py",
      "read_script": "generator/df-reads-spark/2017_ctas_with_dv.sql",
      "description": "CTAS with deletion vectors enabled, then DELETE 20 rows (ids 81..100).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3776,
      "write_warm_ms": 3495,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2018_ctas_with_colmap",
      "num": 2018,
      "name": "ctas_with_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2018_ctas_with_colmap.py",
      "read_script": "generator/df-reads-spark/2018_ctas_with_colmap.sql",
      "description": "CTAS with column mapping mode = name. 80 rows.",
      "status": "pass",
      "duration_ms": 45,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 45,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2176,
      "write_warm_ms": 1639,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2019_ctas_from_filtered",
      "num": 2019,
      "name": "ctas_from_filtered",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2019_ctas_from_filtered.py",
      "read_script": "generator/df-reads-spark/2019_ctas_from_filtered.sql",
      "description": "CTAS with WHERE filter -- only even-id rows (50 rows out of 100).",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2012,
      "write_warm_ms": 2224,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/201_special_partition_values",
      "num": 201,
      "name": "special_partition_values",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/201_special_partition_values.py",
      "read_script": "generator/df-reads-spark/201_special_partition_values.sql",
      "description": "Table 201 (chaos_special_partition_values): special_partition_values",
      "status": "pass",
      "duration_ms": 43,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 43,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2020_ctas_then_evolve",
      "num": 2020,
      "name": "ctas_then_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2020_ctas_then_evolve.py",
      "read_script": "generator/df-reads-spark/2020_ctas_then_evolve.sql",
      "description": "CTAS 80 rows then ALTER TABLE ADD COLUMN tag STRING (NULL for all existing rows).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2257,
      "write_warm_ms": 2417,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2021_ctas_partitioned_typed",
      "num": 2021,
      "name": "ctas_partitioned_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2021_ctas_partitioned_typed.py",
      "read_script": "generator/df-reads-spark/2021_ctas_partitioned_typed.sql",
      "description": "CTAS into partitioned table with DECIMAL, TIMESTAMP, BOOLEAN columns. 80 rows across 4 regions.",
      "status": "pass",
      "duration_ms": 25,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 25,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1481,
      "write_warm_ms": 1381,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2022_truncate_then_insert",
      "num": 2022,
      "name": "truncate_then_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2022_truncate_then_insert.py",
      "read_script": "generator/df-reads-spark/2022_truncate_then_insert.sql",
      "description": "INSERT 100, TRUNCATE, INSERT 50 new rows. Final: 50 rows.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6137,
      "write_warm_ms": 6217,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:truncate",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2023_truncate_with_dv",
      "num": 2023,
      "name": "truncate_with_dv",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2023_truncate_with_dv.py",
      "read_script": "generator/df-reads-spark/2023_truncate_with_dv.sql",
      "description": "DV table, INSERT 100, TRUNCATE. Final: 0 rows.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4422,
      "write_warm_ms": 4319,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:truncate",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2024_truncate_then_optimize",
      "num": 2024,
      "name": "truncate_then_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2024_truncate_then_optimize.py",
      "read_script": "generator/df-reads-spark/2024_truncate_then_optimize.sql",
      "description": "5 batches of 20, TRUNCATE, INSERT 30, OPTIMIZE. Final: 30 rows.",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 13989,
      "write_warm_ms": 13534,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:truncate",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2025_truncate_evolved_table",
      "num": 2025,
      "name": "truncate_evolved_table",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2025_truncate_evolved_table.py",
      "read_script": "generator/df-reads-spark/2025_truncate_evolved_table.sql",
      "description": "INSERT 50, ALTER ADD COLUMN extra, INSERT 30, TRUNCATE, INSERT 20. Final: 20 rows.",
      "status": "pass",
      "duration_ms": 25,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 25,
      "read_warm_ms": 14,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6704,
      "write_warm_ms": 7167,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:truncate",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2026_truncate_chain_dml",
      "num": 2026,
      "name": "truncate_chain_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2026_truncate_chain_dml.py",
      "read_script": "generator/df-reads-spark/2026_truncate_chain_dml.sql",
      "description": "Chain of INSERT/TRUNCATE/INSERT/TRUNCATE/INSERT. Final: 25 rows.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8833,
      "write_warm_ms": 10035,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:truncate",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2027_alter_col_drop_not_null",
      "num": 2027,
      "name": "alter_col_drop_not_null",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2027_alter_col_drop_not_null.py",
      "read_script": "generator/df-reads-spark/2027_alter_col_drop_not_null.sql",
      "description": "ALTER COLUMN DROP NOT NULL allowing NULLs in subsequent inserts.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3652,
      "write_warm_ms": 5681,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2028_alter_col_add_not_null",
      "num": 2028,
      "name": "alter_col_add_not_null",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2028_alter_col_add_not_null.py",
      "read_script": "generator/df-reads-spark/2028_alter_col_add_not_null.sql",
      "description": "ALTER COLUMN SET NOT NULL on a previously nullable column.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2029_alter_col_set_default",
      "num": 2029,
      "name": "alter_col_set_default",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2029_alter_col_set_default.py",
      "read_script": "generator/df-reads-spark/2029_alter_col_set_default.sql",
      "description": "ALTER COLUMN SET DEFAULT, then INSERT using the default.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4256,
      "write_warm_ms": 3890,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/202_wide_schema",
      "num": 202,
      "name": "wide_schema",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/202_wide_schema.py",
      "read_script": "generator/df-reads-spark/202_wide_schema.sql",
      "description": "Table 202 (chaos_wide_schema): wide_schema Wide table with 450 columns. 100 rows. Every 10th row (row_id % 10 == 0) has NULL for all non-id/timestamp columns.",
      "status": "pass",
      "duration_ms": 505,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 505,
      "read_warm_ms": 333,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2030_alter_col_drop_default",
      "num": 2030,
      "name": "alter_col_drop_default",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2030_alter_col_drop_default.py",
      "read_script": "generator/df-reads-spark/2030_alter_col_drop_default.sql",
      "description": "ALTER COLUMN DROP DEFAULT. 50 rows then drop the default from status column.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2286,
      "write_warm_ms": 2748,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2031_alter_col_widen_with_cdc",
      "num": 2031,
      "name": "alter_col_widen_with_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2031_alter_col_widen_with_cdc.py",
      "read_script": "generator/df-reads-spark/2031_alter_col_widen_with_cdc.sql",
      "description": "INT->BIGINT widen with CDC enabled, 80 rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3044,
      "write_warm_ms": 3684,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2032_alter_col_widen_decimal",
      "num": 2032,
      "name": "alter_col_widen_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2032_alter_col_widen_decimal.py",
      "read_script": "generator/df-reads-spark/2032_alter_col_widen_decimal.sql",
      "description": "DECIMAL(10,2) -> DECIMAL(20,4) widening. 25 + 25 = 50 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4571,
      "write_warm_ms": 5167,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2033_alter_col_widen_chain",
      "num": 2033,
      "name": "alter_col_widen_chain",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2033_alter_col_widen_chain.py",
      "read_script": "generator/df-reads-spark/2033_alter_col_widen_chain.sql",
      "description": "TINYINT -> SMALLINT -> INT -> BIGINT widening chain. Final: 50 rows.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 9235,
      "write_warm_ms": 8097,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2034_alter_col_widen_partition_key",
      "num": 2034,
      "name": "alter_col_widen_partition_key",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2034_alter_col_widen_partition_key.py",
      "read_script": "generator/df-reads-spark/2034_alter_col_widen_partition_key.sql",
      "description": "Widen INT partition key -> BIGINT, 80 rows across 4 partitions.",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3149,
      "write_warm_ms": 2829,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2035_set_tblprop_minfileretention",
      "num": 2035,
      "name": "set_tblprop_minfileretention",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2035_set_tblprop_minfileretention.py",
      "read_script": "generator/df-reads-spark/2035_set_tblprop_minfileretention.sql",
      "description": "SET delta.logRetentionDuration on existing table.",
      "status": "pass",
      "duration_ms": 26,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 26,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3914,
      "write_warm_ms": 3737,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2036_set_tblprop_targetfilesize",
      "num": 2036,
      "name": "set_tblprop_targetfilesize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2036_set_tblprop_targetfilesize.py",
      "read_script": "generator/df-reads-spark/2036_set_tblprop_targetfilesize.sql",
      "description": "SET delta.targetFileSize then INSERT 100 and OPTIMIZE. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3425,
      "write_warm_ms": 3706,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2037_set_tblprop_checkpointinterval",
      "num": 2037,
      "name": "set_tblprop_checkpointinterval",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2037_set_tblprop_checkpointinterval.py",
      "read_script": "generator/df-reads-spark/2037_set_tblprop_checkpointinterval.sql",
      "description": "SET delta.checkpointInterval=5, then 12 single-row INSERTs to force checkpoints.",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 28293,
      "write_warm_ms": 23120,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2038_set_tblprop_autoOptimize",
      "num": 2038,
      "name": "set_tblprop_autoOptimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2038_set_tblprop_autoOptimize.py",
      "read_script": "generator/df-reads-spark/2038_set_tblprop_autoOptimize.sql",
      "description": "SET delta.autoOptimize.optimizeWrite=true, then INSERT 100 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3272,
      "write_warm_ms": 3258,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2039_unset_then_set_again",
      "num": 2039,
      "name": "unset_then_set_again",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2039_unset_then_set_again.py",
      "read_script": "generator/df-reads-spark/2039_unset_then_set_again.sql",
      "description": "SET CDC, INSERT 30, UNSET CDC, INSERT 20, SET CDC again. Final: 50 rows.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6996,
      "write_warm_ms": 6527,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/203_null_partition_values",
      "num": 203,
      "name": "null_partition_values",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/203_null_partition_values.py",
      "read_script": "generator/df-reads-spark/203_null_partition_values.sql",
      "description": "Table 203 (chaos_null_partition_values): null_partition_values",
      "status": "pass",
      "duration_ms": 74,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 74,
      "read_warm_ms": 31,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2040_set_appendonly_then_violate",
      "num": 2040,
      "name": "set_appendonly_then_violate",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2040_set_appendonly_then_violate.py",
      "read_script": "generator/df-reads-spark/2040_set_appendonly_then_violate.sql",
      "description": "SET delta.appendOnly=true; INSERT 50 rows; INSERT 25 more rows (appends still valid).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4590,
      "write_warm_ms": 4219,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2041_uniform_iceberg_basic",
      "num": 2041,
      "name": "uniform_iceberg_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2041_uniform_iceberg_basic.py",
      "read_script": "generator/df-reads-spark/2041_uniform_iceberg_basic.sql",
      "description": "Cluster O - UniForm Iceberg basic Enable UniForm Iceberg, INSERT 50 rows, verify metadata.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2042_uniform_iceberg_after_dml",
      "num": 2042,
      "name": "uniform_iceberg_after_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2042_uniform_iceberg_after_dml.py",
      "read_script": "generator/df-reads-spark/2042_uniform_iceberg_after_dml.sql",
      "description": "UniForm Iceberg + DML. INSERT 100, UPDATE 30, DELETE 20. Final: 80 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5593,
      "write_warm_ms": 5160,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2043_uniform_iceberg_partitioned",
      "num": 2043,
      "name": "uniform_iceberg_partitioned",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2043_uniform_iceberg_partitioned.py",
      "read_script": "generator/df-reads-spark/2043_uniform_iceberg_partitioned.sql",
      "description": "UniForm Iceberg + PARTITIONED BY region. 80 rows across 4 regions.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:partitioning",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2044_uniform_iceberg_after_optimize",
      "num": 2044,
      "name": "uniform_iceberg_after_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2044_uniform_iceberg_after_optimize.py",
      "read_script": "generator/df-reads-spark/2044_uniform_iceberg_after_optimize.sql",
      "description": "UniForm Iceberg + 5 INSERTs of 20 rows each + OPTIMIZE. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8982,
      "write_warm_ms": 7900,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2045_uniform_iceberg_typed_columns",
      "num": 2045,
      "name": "uniform_iceberg_typed_columns",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2045_uniform_iceberg_typed_columns.py",
      "read_script": "generator/df-reads-spark/2045_uniform_iceberg_typed_columns.sql",
      "description": "UniForm Iceberg with diverse column types. 60 rows. INT, BIGINT, STRING, DECIMAL(10,2), DATE, TIMESTAMP, BOOLEAN.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:column-mapping",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2046_uniform_iceberg_evolution",
      "num": 2046,
      "name": "uniform_iceberg_evolution",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2046_uniform_iceberg_evolution.py",
      "read_script": "generator/df-reads-spark/2046_uniform_iceberg_evolution.sql",
      "description": "UniForm Iceberg + schema evolution. INSERT 50, ALTER ADD COLUMN extra, INSERT 30.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2683,
      "write_warm_ms": 3391,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "iceberg:uniform",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2047_ict_rowtrack_combined",
      "num": 2047,
      "name": "ict_rowtrack_combined",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2047_ict_rowtrack_combined.py",
      "read_script": "generator/df-reads-spark/2047_ict_rowtrack_combined.sql",
      "description": "ICT + rowTracking + INSERT 100 + UPDATE 30. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4580,
      "write_warm_ms": 4305,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2048_gencol_rowtrack_optimize",
      "num": 2048,
      "name": "gencol_rowtrack_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2048_gencol_rowtrack_optimize.py",
      "read_script": "generator/df-reads-spark/2048_gencol_rowtrack_optimize.sql",
      "description": "Generated col (doubled = id * 2) + rowTracking + 5 INSERTs of 20 + OPTIMIZE.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 10388,
      "write_warm_ms": 9184,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2049_widen_evolve_cdc",
      "num": 2049,
      "name": "widen_evolve_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2049_widen_evolve_cdc.py",
      "read_script": "generator/df-reads-spark/2049_widen_evolve_cdc.sql",
      "description": "Type widening + ALTER ADD COLUMN + CDF. INSERT 80, ALTER widen score INT->BIGINT, ALTER add col extra, INSERT 20.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2874,
      "write_warm_ms": 3059,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "schema:add-column",
        "schema:type-widening",
        "scale:large-dataset",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/204_unicode_data",
      "num": 204,
      "name": "unicode_data",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/204_unicode_data.py",
      "read_script": "generator/df-reads-spark/204_unicode_data.sql",
      "description": "Table 204 (chaos_unicode_data): unicode_data Verifies DeltaForge handles Unicode data correctly. 50 rows cycling through 20 Unicode samples.",
      "status": "pass",
      "duration_ms": 41,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 41,
      "read_warm_ms": 19,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "type:unicode",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2050_domain_clustering_uniform",
      "num": 2050,
      "name": "domain_clustering_uniform",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2050_domain_clustering_uniform.py",
      "read_script": "generator/df-reads-spark/2050_domain_clustering_uniform.sql",
      "description": "Clustering domain + UniForm Iceberg + INSERT 80 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2051_create_or_replace_basic",
      "num": 2051,
      "name": "create_or_replace_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2051_create_or_replace_basic.py",
      "read_script": "generator/df-reads-spark/2051_create_or_replace_basic.sql",
      "description": "CREATE OR REPLACE replaces existing table contents.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4503,
      "write_warm_ms": 4048,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2052_create_or_replace_schema_change",
      "num": 2052,
      "name": "create_or_replace_schema_change",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2052_create_or_replace_schema_change.py",
      "read_script": "generator/df-reads-spark/2052_create_or_replace_schema_change.sql",
      "description": "CREATE OR REPLACE with a different schema. Schema (final): id BIGINT, label STRING, score DOUBLE",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3463,
      "write_warm_ms": 3757,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2053_create_or_replace_partitioned",
      "num": 2053,
      "name": "create_or_replace_partitioned",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2053_create_or_replace_partitioned.py",
      "read_script": "generator/df-reads-spark/2053_create_or_replace_partitioned.sql",
      "description": "CREATE OR REPLACE adding partitioning.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3907,
      "write_warm_ms": 3668,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2054_create_or_replace_with_cdc",
      "num": 2054,
      "name": "create_or_replace_with_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2054_create_or_replace_with_cdc.py",
      "read_script": "generator/df-reads-spark/2054_create_or_replace_with_cdc.sql",
      "description": "CREATE OR REPLACE preserving CDC enable.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3915,
      "write_warm_ms": 4250,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2055_drop_then_recreate_same_name",
      "num": 2055,
      "name": "drop_then_recreate_same_name",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2055_drop_then_recreate_same_name.py",
      "read_script": "generator/df-reads-spark/2055_drop_then_recreate_same_name.sql",
      "description": "DROP TABLE then CREATE with same name at same location.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4315,
      "write_warm_ms": 3280,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2056_alter_add_multi_column",
      "num": 2056,
      "name": "alter_add_multi_column",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2056_alter_add_multi_column.py",
      "read_script": "generator/df-reads-spark/2056_alter_add_multi_column.sql",
      "description": "ALTER TABLE ADD COLUMNS with multiple columns at once. Schema (final): id BIGINT, name STRING, age INT, email STRING, active BOOLEAN",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3709,
      "write_warm_ms": 3662,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2057_alter_add_column_after_position",
      "num": 2057,
      "name": "alter_add_column_after_position",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2057_alter_add_column_after_position.py",
      "read_script": "generator/df-reads-spark/2057_alter_add_column_after_position.sql",
      "description": "ALTER TABLE ADD COLUMN with AFTER positioning. Schema (final): id BIGINT, name STRING, middle STRING, tail STRING",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4156,
      "write_warm_ms": 3691,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2058_alter_add_column_first",
      "num": 2058,
      "name": "alter_add_column_first",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2058_alter_add_column_first.py",
      "read_script": "generator/df-reads-spark/2058_alter_add_column_first.sql",
      "description": "ALTER TABLE ADD COLUMN with FIRST positioning. Schema (final): seq BIGINT, name STRING, tail STRING",
      "status": "pass",
      "duration_ms": 140,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 140,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3861,
      "write_warm_ms": 3969,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2059_alter_drop_column_partition_safe",
      "num": 2059,
      "name": "alter_drop_column_partition_safe",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2059_alter_drop_column_partition_safe.py",
      "read_script": "generator/df-reads-spark/2059_alter_drop_column_partition_safe.sql",
      "description": "ALTER TABLE DROP COLUMN on a non-partition column. Requires column mapping.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2815,
      "write_warm_ms": 2272,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:drop-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/205_idempotent_writes",
      "num": 205,
      "name": "idempotent_writes",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/205_idempotent_writes.py",
      "read_script": "generator/df-reads-spark/205_idempotent_writes.sql",
      "description": "Table 205 (chaos_idempotent_writes): idempotent_writes Verifies DeltaForge implements SetTransaction action for idempotent writes. 75 rows: 3 apps x 5 batches x 5 records.",
      "status": "pass",
      "duration_ms": 35,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 35,
      "read_warm_ms": 19,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2060_alter_rename_column_with_data",
      "num": 2060,
      "name": "alter_rename_column_with_data",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2060_alter_rename_column_with_data.py",
      "read_script": "generator/df-reads-spark/2060_alter_rename_column_with_data.sql",
      "description": "ALTER TABLE RENAME COLUMN preserves all data. fname -> full_name. 40 rows inserted then column renamed.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2166,
      "write_warm_ms": 1989,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:rename-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2061_alter_rename_then_add_same_name",
      "num": 2061,
      "name": "alter_rename_then_add_same_name",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2061_alter_rename_then_add_same_name.py",
      "read_script": "generator/df-reads-spark/2061_alter_rename_then_add_same_name.sql",
      "description": "Rename old col away, then add new col reusing the old name. Schema (final): id BIGINT, value_legacy STRING, value INT",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4088,
      "write_warm_ms": 4220,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "schema:rename-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2062_alter_change_column_comment",
      "num": 2062,
      "name": "alter_change_column_comment",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2062_alter_change_column_comment.py",
      "read_script": "generator/df-reads-spark/2062_alter_change_column_comment.sql",
      "description": "ALTER COLUMN ... COMMENT 'new comment'. 20 rows then update column comment.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1900,
      "write_warm_ms": 1897,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2063_alter_table_set_comment",
      "num": 2063,
      "name": "alter_table_set_comment",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2063_alter_table_set_comment.py",
      "read_script": "generator/df-reads-spark/2063_alter_table_set_comment.sql",
      "description": "ALTER TABLE SET TBLPROPERTIES adding a comment property. 25 rows.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2536,
      "write_warm_ms": 2157,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2064_alter_table_unset_property",
      "num": 2064,
      "name": "alter_table_unset_property",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2064_alter_table_unset_property.py",
      "read_script": "generator/df-reads-spark/2064_alter_table_unset_property.sql",
      "description": "ALTER TABLE UNSET TBLPROPERTIES removing a custom property. Create with 'custom.owner'='team_a', insert 20 rows, then UNSET.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2390,
      "write_warm_ms": 2087,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2065_create_table_with_column_comments",
      "num": 2065,
      "name": "create_table_with_column_comments",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2065_create_table_with_column_comments.py",
      "read_script": "generator/df-reads-spark/2065_create_table_with_column_comments.sql",
      "description": "CREATE TABLE with COMMENT on each column. 30 rows. score DOUBLE COMMENT 'rank score",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1877,
      "write_warm_ms": 2236,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2066_create_table_partitioned_three_keys",
      "num": 2066,
      "name": "create_table_partitioned_three_keys",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2066_create_table_partitioned_three_keys.py",
      "read_script": "generator/df-reads-spark/2066_create_table_partitioned_three_keys.sql",
      "description": "PARTITIONED BY (a, b, c) -- three partition keys. 60 rows.",
      "status": "pass",
      "duration_ms": 91,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 91,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1080,
      "write_warm_ms": 1636,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2067_create_partitioned_with_cdc",
      "num": 2067,
      "name": "create_partitioned_with_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2067_create_partitioned_with_cdc.py",
      "read_script": "generator/df-reads-spark/2067_create_partitioned_with_cdc.sql",
      "description": "Partitioned + CDC across multiple versions.",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6248,
      "write_warm_ms": 5257,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2068_create_partitioned_with_dv",
      "num": 2068,
      "name": "create_partitioned_with_dv",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2068_create_partitioned_with_dv.py",
      "read_script": "generator/df-reads-spark/2068_create_partitioned_with_dv.sql",
      "description": "Partitioned + DV deletes. INSERT 50, DELETE 10. Final: 40 rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2852,
      "write_warm_ms": 3297,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2069_create_table_all_numeric_types",
      "num": 2069,
      "name": "create_table_all_numeric_types",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2069_create_table_all_numeric_types.py",
      "read_script": "generator/df-reads-spark/2069_create_table_all_numeric_types.sql",
      "description": "30 rows. c_float FLOAT, c_double DOUBLE, c_dec DECIMAL(18,4)",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1578,
      "write_warm_ms": 2001,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/206_auto_optimize_trigger",
      "num": 206,
      "name": "auto_optimize_trigger",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/206_auto_optimize_trigger.py",
      "read_script": "generator/df-reads-spark/206_auto_optimize_trigger.sql",
      "description": "Table 206 (chaos_auto_optimize_trigger): auto_optimize_trigger",
      "status": "pass",
      "duration_ms": 381,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 381,
      "read_warm_ms": 222,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2070_create_table_all_string_types",
      "num": 2070,
      "name": "create_table_all_string_types",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2070_create_table_all_string_types.py",
      "read_script": "generator/df-reads-spark/2070_create_table_all_string_types.sql",
      "description": "Table with string, varchar, char, binary types. 25 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1679,
      "write_warm_ms": 1729,
      "tags": [
        "type:binary",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2071_create_table_all_datetime_types",
      "num": 2071,
      "name": "create_table_all_datetime_types",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2071_create_table_all_datetime_types.py",
      "read_script": "generator/df-reads-spark/2071_create_table_all_datetime_types.sql",
      "description": "Table with date, timestamp, timestamp_ntz columns. 20 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1564,
      "write_warm_ms": 1692,
      "tags": [
        "type:date",
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2072_create_table_struct_three_levels",
      "num": 2072,
      "name": "create_table_struct_three_levels",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2072_create_table_struct_three_levels.py",
      "read_script": "generator/df-reads-spark/2072_create_table_struct_three_levels.sql",
      "description": "3-level nested STRUCT column. 20 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1680,
      "write_warm_ms": 1772,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:nested-types",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2073_create_table_array_of_struct",
      "num": 2073,
      "name": "create_table_array_of_struct",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2073_create_table_array_of_struct.py",
      "read_script": "generator/df-reads-spark/2073_create_table_array_of_struct.sql",
      "description": "ARRAY<STRUCT<...>> column. 15 rows, each with 2-element array.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2126,
      "write_warm_ms": 1637,
      "tags": [
        "type:array",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2074_create_table_map_string_int",
      "num": 2074,
      "name": "create_table_map_string_int",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2074_create_table_map_string_int.py",
      "read_script": "generator/df-reads-spark/2074_create_table_map_string_int.sql",
      "description": "MAP<STRING, INT> column. 18 rows, each with 3-entry map.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2055,
      "write_warm_ms": 1814,
      "tags": [
        "type:integer",
        "type:map",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2075_drop_recreate_with_same_features",
      "num": 2075,
      "name": "drop_recreate_with_same_features",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2075_drop_recreate_with_same_features.py",
      "read_script": "generator/df-reads-spark/2075_drop_recreate_with_same_features.sql",
      "description": "DROP and recreate same name with CDC + partitioning preserved.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3675,
      "write_warm_ms": 3554,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2076_merge_insert_only_clause",
      "num": 2076,
      "name": "merge_insert_only_clause",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2076_merge_insert_only_clause.py",
      "read_script": "generator/df-reads-spark/2076_merge_insert_only_clause.sql",
      "description": "MERGE with WHEN NOT MATCHED THEN INSERT only (no MATCHED clause).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3359,
      "write_warm_ms": 3334,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2077_merge_update_only_clause",
      "num": 2077,
      "name": "merge_update_only_clause",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2077_merge_update_only_clause.py",
      "read_script": "generator/df-reads-spark/2077_merge_update_only_clause.sql",
      "description": "MERGE with only WHEN MATCHED THEN UPDATE clause.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5036,
      "write_warm_ms": 4631,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2078_merge_delete_only_clause",
      "num": 2078,
      "name": "merge_delete_only_clause",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2078_merge_delete_only_clause.py",
      "read_script": "generator/df-reads-spark/2078_merge_delete_only_clause.sql",
      "description": "MERGE with only WHEN MATCHED THEN DELETE clause.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4337,
      "write_warm_ms": 4550,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2079_merge_three_clauses",
      "num": 2079,
      "name": "merge_three_clauses",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2079_merge_three_clauses.py",
      "read_script": "generator/df-reads-spark/2079_merge_three_clauses.sql",
      "description": "MERGE with three clauses: WHEN MATCHED AND tgt.score < 10 THEN DELETE WHEN MATCHED THEN UPDATE SET status = 'new' WHEN NOT MATCHED THEN INSERT",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4401,
      "write_warm_ms": 4377,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/207_auto_optimize_high_throughput",
      "num": 207,
      "name": "auto_optimize_high_throughput",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/207_auto_optimize_high_throughput.py",
      "read_script": "generator/df-reads-spark/207_auto_optimize_high_throughput.sql",
      "description": "autoOptimize.optimizeWrite + autoCompact + targetFileSize=128MB enabled.",
      "status": "pass",
      "duration_ms": 542,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 542,
      "read_warm_ms": 286,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2080_merge_with_cdc_enabled",
      "num": 2080,
      "name": "merge_with_cdc_enabled",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2080_merge_with_cdc_enabled.py",
      "read_script": "generator/df-reads-spark/2080_merge_with_cdc_enabled.sql",
      "description": "MERGE on a table with Change Data Feed enabled. CDF records update_preimage/update_postimage/insert change types.",
      "status": "pass",
      "duration_ms": 105,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 105,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4383,
      "write_warm_ms": 5409,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2081_merge_partitioned_target",
      "num": 2081,
      "name": "merge_partitioned_target",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2081_merge_partitioned_target.py",
      "read_script": "generator/df-reads-spark/2081_merge_partitioned_target.sql",
      "description": "MERGE into a partitioned table. V1 inserts 40 rows across 4 regions, V2 merges source 1..60 updating matched and inserting unmatched rows.",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6083,
      "write_warm_ms": 4436,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2082_merge_with_constraints",
      "num": 2082,
      "name": "merge_with_constraints",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2082_merge_with_constraints.py",
      "read_script": "generator/df-reads-spark/2082_merge_with_constraints.sql",
      "description": "MERGE on a table with a CHECK constraint (value > 0). All MERGE values satisfy it. V1 inserts 30 rows, V2 adds constraint, V3 merges source 1..50.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5026,
      "write_warm_ms": 5593,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2083_merge_evolves_value",
      "num": 2083,
      "name": "merge_evolves_value",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2083_merge_evolves_value.py",
      "read_script": "generator/df-reads-spark/2083_merge_evolves_value.sql",
      "description": "MERGE that updates a derived column using a computed source expression (j*j+5). V1 inserts 30 rows with derived=0, V2 merges to set derived = base*base+5.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5612,
      "write_warm_ms": 4881,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2084_merge_self_join",
      "num": 2084,
      "name": "merge_self_join",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2084_merge_self_join.py",
      "read_script": "generator/df-reads-spark/2084_merge_self_join.sql",
      "description": "MERGE using the same table as source via subquery. Inserts 100 rows with status='base', then merges rows with id+50 (for id<=20) to update ids 51..70 to 'self_merged'.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5745,
      "write_warm_ms": 6172,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2085_merge_no_match_no_op",
      "num": 2085,
      "name": "merge_no_match_no_op",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2085_merge_no_match_no_op.py",
      "read_script": "generator/df-reads-spark/2085_merge_no_match_no_op.sql",
      "description": "MERGE where source has no matching rows (ids 1000..1010 vs target ids 1..30). Only WHEN MATCHED clause, so no rows are touched. Final: 30 rows all 'untouched'.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3561,
      "write_warm_ms": 3548,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2086_merge_all_match",
      "num": 2086,
      "name": "merge_all_match",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2086_merge_all_match.py",
      "read_script": "generator/df-reads-spark/2086_merge_all_match.sql",
      "description": "MERGE where all source rows match all target rows. V1 inserts 25 rows value=i, V2 merges source 1..25 updating value = id*10. Final: 25 rows, value=id*10.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5261,
      "write_warm_ms": 5137,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2087_merge_then_optimize",
      "num": 2087,
      "name": "merge_then_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2087_merge_then_optimize.py",
      "read_script": "generator/df-reads-spark/2087_merge_then_optimize.sql",
      "description": "MERGE followed by OPTIMIZE. V1 inserts 40 rows, V2 merges source 1..60 (40 update + 20 insert), V3 optimizes.",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6710,
      "write_warm_ms": 6508,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2088_merge_then_delete",
      "num": 2088,
      "name": "merge_then_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2088_merge_then_delete.py",
      "read_script": "generator/df-reads-spark/2088_merge_then_delete.sql",
      "description": "MERGE followed by DELETE. V1 inserts 30 rows, V2 merges source 1..50 (30 update + 20 insert = 50 rows), V3 deletes WHERE id > 40 -> 40 rows.",
      "status": "pass",
      "duration_ms": 26,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 26,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7161,
      "write_warm_ms": 6899,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2089_merge_then_update",
      "num": 2089,
      "name": "merge_then_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2089_merge_then_update.py",
      "read_script": "generator/df-reads-spark/2089_merge_then_update.sql",
      "description": "MERGE followed by UPDATE. V1 inserts 30 rows status='init', V2 merges 1..50 (matched -> status='merged', not matched -> insert), V3 updates WHERE id<=10 SET value=999.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7027,
      "write_warm_ms": 7353,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/208_auto_optimize_mixed",
      "num": 208,
      "name": "auto_optimize_mixed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/208_auto_optimize_mixed.py",
      "read_script": "generator/df-reads-spark/208_auto_optimize_mixed.sql",
      "description": "Auto-optimize with mixed INSERT/UPDATE/DELETE operations. Initial batch of 500 customers plus 9 batches of 50 (total 950 rows). Uses autoOptimize properties.",
      "status": "pass",
      "duration_ms": 137,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 137,
      "read_warm_ms": 64,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2090_merge_followed_by_truncate",
      "num": 2090,
      "name": "merge_followed_by_truncate",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2090_merge_followed_by_truncate.py",
      "read_script": "generator/df-reads-spark/2090_merge_followed_by_truncate.sql",
      "description": "MERGE then TRUNCATE -> empty table. V1 inserts 30 rows, V2 merges 1..50, V3 truncates. Final: 0 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6382,
      "write_warm_ms": 5772,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "dml:truncate",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2091_merge_into_dv_table",
      "num": 2091,
      "name": "merge_into_dv_table",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2091_merge_into_dv_table.py",
      "read_script": "generator/df-reads-spark/2091_merge_into_dv_table.sql",
      "description": "MERGE into a table that already has DV-tracked deletes. V1 inserts 50 rows, V2 deletes ids 11..20 (DV), V3 merges source 1..60: updates live rows, inserts deleted rows (11..20) and new rows (51..60). Final: 60 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7326,
      "write_warm_ms": 7064,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2092_merge_two_consecutive",
      "num": 2092,
      "name": "merge_two_consecutive",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2092_merge_two_consecutive.py",
      "read_script": "generator/df-reads-spark/2092_merge_two_consecutive.sql",
      "description": "Two consecutive MERGE statements. V1 inserts 20 rows label='start', V2 merges 1..30 -> label='m1' (20 update + 10 insert), V3 merges 1..40 -> label='m2' (30 update + 10 insert). Final: 40 rows all label='m2'.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8042,
      "write_warm_ms": 6541,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2093_insert_update_delete_chain",
      "num": 2093,
      "name": "insert_update_delete_chain",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2093_insert_update_delete_chain.py",
      "read_script": "generator/df-reads-spark/2093_insert_update_delete_chain.sql",
      "description": "70 rows (ids 1..40 + 100..129)",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5278,
      "write_warm_ms": 6185,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2094_delete_then_merge_reinsert",
      "num": 2094,
      "name": "delete_then_merge_reinsert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2094_delete_then_merge_reinsert.py",
      "read_script": "generator/df-reads-spark/2094_delete_then_merge_reinsert.sql",
      "description": "DELETE all rows then MERGE re-inserts same ids. V1 inserts 30 rows label='orig', V2 deletes all, V3 merges source 1..30 -> all NOT MATCHED -> INSERT label='reinsert'.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6520,
      "write_warm_ms": 4726,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2095_update_then_merge_overwrite",
      "num": 2095,
      "name": "update_then_merge_overwrite",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2095_update_then_merge_overwrite.py",
      "read_script": "generator/df-reads-spark/2095_update_then_merge_overwrite.sql",
      "description": "UPDATE then MERGE that re-updates same rows. V1 inserts 30 rows ver='v0', V2 updates all to ver='v1', V3 merges 1..30 setting value=id*10, ver='v2'.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7824,
      "write_warm_ms": 6543,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "dml:overwrite",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2096_merge_typed_decimal",
      "num": 2096,
      "name": "merge_typed_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2096_merge_typed_decimal.py",
      "read_script": "generator/df-reads-spark/2096_merge_typed_decimal.sql",
      "description": "MERGE on a DECIMAL(10,2) key column. V1 inserts 20 rows key=i+0.5, V2 merges source 1..30: matched UPDATE value, unmatched INSERT. Final: 30 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5003,
      "write_warm_ms": 4587,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2097_merge_typed_string",
      "num": 2097,
      "name": "merge_typed_string",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2097_merge_typed_string.py",
      "read_script": "generator/df-reads-spark/2097_merge_typed_string.sql",
      "description": "MERGE on a STRING key column. V1 inserts 25 rows key='k_i', V2 merges source 1..40: matched UPDATE value=i*7, unmatched INSERT. Final: 40 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4374,
      "write_warm_ms": 3960,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2098_merge_typed_date",
      "num": 2098,
      "name": "merge_typed_date",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2098_merge_typed_date.py",
      "read_script": "generator/df-reads-spark/2098_merge_typed_date.sql",
      "description": "MERGE on a DATE key column. V1 inserts 20 rows with dates starting at epoch day 19724 (19723+1), V2 merges source 1..30: matched UPDATE value*100, unmatched INSERT.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5129,
      "write_warm_ms": 4985,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2099_merge_with_identity",
      "num": 2099,
      "name": "merge_with_identity",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2099_merge_with_identity.py",
      "read_script": "generator/df-reads-spark/2099_merge_with_identity.sql",
      "description": "MERGE into a table with an IDENTITY column. V1 inserts 30 rows (ids 1..30), V2 merges source 1..50 ext_keys: matched 30 update value, NOT MATCHED 20 insert with auto-ids 31..50. Final: 50 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4787,
      "write_warm_ms": 4621,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/209_reorg_purge",
      "num": 209,
      "name": "reorg_purge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/209_reorg_purge.py",
      "read_script": "generator/df-reads-spark/209_reorg_purge.sql",
      "description": "has 1000 rows with reduced schema (id, name, value). 4-step transaction sequence.",
      "status": "pass",
      "duration_ms": 36,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 36,
      "read_warm_ms": 18,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/20_action_commit_info_provenance",
      "num": 20,
      "name": "action_commit_info_provenance",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/20_action_commit_info_provenance.py",
      "read_script": "generator/df-reads-spark/20_action_commit_info_provenance.sql",
      "description": "Healthcare claims processing with audit trail. 12,000 initial claims with 5 UPDATE/DELETE operations creating multiple versions with commitInfo.",
      "status": "pass",
      "duration_ms": 23,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 23,
      "read_warm_ms": 10,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 4608,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2100_merge_with_default",
      "num": 2100,
      "name": "merge_with_default",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2100_merge_with_default.py",
      "read_script": "generator/df-reads-spark/2100_merge_with_default.sql",
      "description": "MERGE into a table with a DEFAULT column (status DEFAULT 'pending'). V1 inserts 20 rows with status='ready', V2 merges 1..40: matched update name, NOT MATCHED insert id+name only (status defaults to 'pending'). Final: 40 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4455,
      "write_warm_ms": 5105,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2101_identity_basic_insert",
      "num": 2101,
      "name": "identity_basic_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2101_identity_basic_insert.py",
      "read_script": "generator/df-reads-spark/2101_identity_basic_insert.sql",
      "description": "Computed inline in Python.",
      "status": "pass",
      "duration_ms": 39,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 39,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1769,
      "write_warm_ms": 1866,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2102_identity_by_default",
      "num": 2102,
      "name": "identity_by_default",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2102_identity_by_default.py",
      "read_script": "generator/df-reads-spark/2102_identity_by_default.sql",
      "description": "V2 inserts 20 rows with auto-generated ids (start=1, so 1..20).",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3595,
      "write_warm_ms": 3956,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2103_identity_with_partition",
      "num": 2103,
      "name": "identity_with_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2103_identity_with_partition.py",
      "read_script": "generator/df-reads-spark/2103_identity_with_partition.sql",
      "description": "IDENTITY column on a partitioned table. 60 rows across 3 regions (us/eu/ap), ids 1..60 auto-generated.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1078,
      "write_warm_ms": 1472,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2104_identity_after_delete",
      "num": 2104,
      "name": "identity_after_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2104_identity_after_delete.py",
      "read_script": "generator/df-reads-spark/2104_identity_after_delete.sql",
      "description": "IDENTITY values continue past high water mark after DELETE. V1 inserts 40 rows (ids 1..40), V2 deletes WHERE id > 20 (20 remain), V3 inserts 10 more (ids 41..50).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4844,
      "write_warm_ms": 4544,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2105_identity_after_update",
      "num": 2105,
      "name": "identity_after_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2105_identity_after_update.py",
      "read_script": "generator/df-reads-spark/2105_identity_after_update.sql",
      "description": "IDENTITY column values preserved across UPDATE of other columns. V1 inserts 50 rows (ids 1..50 status='new'), V2 updates status='done' WHERE id<=25. Final: 50 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3640,
      "write_warm_ms": 3120,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2106_identity_with_cdc",
      "num": 2106,
      "name": "identity_with_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2106_identity_with_cdc.py",
      "read_script": "generator/df-reads-spark/2106_identity_with_cdc.sql",
      "description": "IDENTITY column with CDC enabled. INSERT 40 rows (ids 1..40), then DELETE ids 1..10.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2830,
      "write_warm_ms": 2859,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2107_identity_two_blocks",
      "num": 2107,
      "name": "identity_two_blocks",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2107_identity_two_blocks.py",
      "read_script": "generator/df-reads-spark/2107_identity_two_blocks.sql",
      "description": "Two separate INSERT statements produce two identity blocks with disjoint id ranges.",
      "status": "pass",
      "duration_ms": 50,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 50,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2929,
      "write_warm_ms": 2813,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2108_identity_start_with",
      "num": 2108,
      "name": "identity_start_with",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2108_identity_start_with.py",
      "read_script": "generator/df-reads-spark/2108_identity_start_with.sql",
      "description": "IDENTITY (START WITH 100 INCREMENT BY 1). Auto-generated ids begin at 100. Inserts 30 rows; ids 100..129.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1520,
      "write_warm_ms": 1720,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2109_identity_increment_by_5",
      "num": 2109,
      "name": "identity_increment_by_5",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2109_identity_increment_by_5.py",
      "read_script": "generator/df-reads-spark/2109_identity_increment_by_5.sql",
      "description": "IDENTITY (START WITH 1 INCREMENT BY 5). Ids: 1, 6, 11, ... 96. Inserts 20 rows.",
      "status": "pass",
      "duration_ms": 80,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 80,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1471,
      "write_warm_ms": 1512,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/210_reorg_checkpoint",
      "num": 210,
      "name": "reorg_checkpoint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/210_reorg_checkpoint.py",
      "read_script": "generator/df-reads-spark/210_reorg_checkpoint.sql",
      "description": "15 batches of 10, 5 UPDATEs, 3 DELETEs, 10 final batches of 5.",
      "status": "pass",
      "duration_ms": 130,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 130,
      "read_warm_ms": 36,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2110_identity_optimize",
      "num": 2110,
      "name": "identity_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2110_identity_optimize.py",
      "read_script": "generator/df-reads-spark/2110_identity_optimize.sql",
      "description": "Identity column values survive OPTIMIZE compaction. 4 INSERTs of 15 rows each (ids 1..60), then OPTIMIZE.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6205,
      "write_warm_ms": 6275,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2111_default_literal_int",
      "num": 2111,
      "name": "default_literal_int",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2111_default_literal_int.py",
      "read_script": "generator/df-reads-spark/2111_default_literal_int.sql",
      "description": "DEFAULT 42 on INT column. INSERT omitting score column populates it with 42. Inserts 30 rows; all have score=42.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1748,
      "write_warm_ms": 2090,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2112_default_literal_string",
      "num": 2112,
      "name": "default_literal_string",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2112_default_literal_string.py",
      "read_script": "generator/df-reads-spark/2112_default_literal_string.sql",
      "description": "DEFAULT 'unknown' on STRING column. 25 rows inserted omitting status; all have status='unknown'.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1603,
      "write_warm_ms": 1541,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2113_default_current_date",
      "num": 2113,
      "name": "default_current_date",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2113_default_current_date.py",
      "read_script": "generator/df-reads-spark/2113_default_current_date.sql",
      "description": "DEFAULT CURRENT_DATE on DATE column. 20 rows inserted; created_on populated with today's date (2026-04-08).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1513,
      "write_warm_ms": 1740,
      "tags": [
        "type:date",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2114_default_after_evolution",
      "num": 2114,
      "name": "default_after_evolution",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2114_default_after_evolution.py",
      "read_script": "generator/df-reads-spark/2114_default_after_evolution.sql",
      "description": "ALTER TABLE ADD COLUMN x INT DEFAULT 0 mid-life. 40 pre-evolution rows have x=NULL, 15 post-evolution rows have x=0.",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2597,
      "write_warm_ms": 2913,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2115_default_with_partition",
      "num": 2115,
      "name": "default_with_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2115_default_with_partition.py",
      "read_script": "generator/df-reads-spark/2115_default_with_partition.sql",
      "description": "DEFAULT on non-partition column of a partitioned table. 30 rows inserted omitting tier; all have tier='standard'.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2072,
      "write_warm_ms": 1955,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2116_default_with_constraint",
      "num": 2116,
      "name": "default_with_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2116_default_with_constraint.py",
      "read_script": "generator/df-reads-spark/2116_default_with_constraint.sql",
      "description": "DEFAULT value (10) combined with CHECK constraint (score >= 0). 25 rows inserted omitting score; all have score=10.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3278,
      "write_warm_ms": 2798,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2117_default_null_explicit",
      "num": 2117,
      "name": "default_null_explicit",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2117_default_null_explicit.py",
      "read_script": "generator/df-reads-spark/2117_default_null_explicit.sql",
      "description": "DEFAULT NULL explicit on nullable column. 20 rows inserted omitting notes; all have notes=NULL.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1661,
      "write_warm_ms": 1978,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2118_default_multiple_columns",
      "num": 2118,
      "name": "default_multiple_columns",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2118_default_multiple_columns.py",
      "read_script": "generator/df-reads-spark/2118_default_multiple_columns.sql",
      "description": "DEFAULT on 3 columns simultaneously (score=7, label='misc', priority=1). 30 rows inserted omitting those columns; all get defaults.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1570,
      "write_warm_ms": 2101,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2119_default_with_cdc",
      "num": 2119,
      "name": "default_with_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2119_default_with_cdc.py",
      "read_script": "generator/df-reads-spark/2119_default_with_cdc.sql",
      "description": "DEFAULT column on CDC-enabled table. 30 rows inserted with status='pending' (default), then UPDATE sets status='active' for id<=10.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3851,
      "write_warm_ms": 3849,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/211_reorg_upgrade_uniform",
      "num": 211,
      "name": "reorg_upgrade_uniform",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/211_reorg_upgrade_uniform.py",
      "read_script": "generator/df-reads-spark/211_reorg_upgrade_uniform.sql",
      "description": "REORG UPGRADE UNIFORM test for Iceberg compatibility. 2500 rows across 3 batches with 2 UPDATE operations in between, then OPTIMIZE.",
      "status": "pass",
      "duration_ms": 28,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 28,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2120_gencol_concat",
      "num": 2120,
      "name": "gencol_concat",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2120_gencol_concat.py",
      "read_script": "generator/df-reads-spark/2120_gencol_concat.sql",
      "description": "GENERATED ALWAYS AS (CONCAT(a, '_', b)). 40 rows inserted; combo computed inline.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2260,
      "write_warm_ms": 1961,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2121_gencol_arithmetic",
      "num": 2121,
      "name": "gencol_arithmetic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2121_gencol_arithmetic.py",
      "read_script": "generator/df-reads-spark/2121_gencol_arithmetic.sql",
      "description": "GENERATED ALWAYS AS (a + b) on INT columns -> BIGINT result. 30 rows with a=i, b=2*i so sum_ab = 3*i.",
      "status": "pass",
      "duration_ms": 20,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 20,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1516,
      "write_warm_ms": 1944,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2122_gencol_year_from_date",
      "num": 2122,
      "name": "gencol_year_from_date",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2122_gencol_year_from_date.py",
      "read_script": "generator/df-reads-spark/2122_gencol_year_from_date.sql",
      "description": "GENERATED ALWAYS AS (YEAR(event_date)). 30 dates spread across years 2020..2024 (i mod 5). yr computed inline.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2176,
      "write_warm_ms": 2472,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2123_gencol_with_partition",
      "num": 2123,
      "name": "gencol_with_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2123_gencol_with_partition.py",
      "read_script": "generator/df-reads-spark/2123_gencol_with_partition.sql",
      "description": "GENERATED column used as PARTITION key. yr_part = YEAR(event_date), partitioned by yr_part. 40 rows with dates cycling through years 2021..2024.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2479,
      "write_warm_ms": 2535,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:generated-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2124_gencol_after_update",
      "num": 2124,
      "name": "gencol_after_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2124_gencol_after_update.py",
      "read_script": "generator/df-reads-spark/2124_gencol_after_update.sql",
      "description": "UPDATE on base column triggers recomputation of generated col (price * qty). V2 updates qty*=2 WHERE id<=10.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3888,
      "write_warm_ms": 3947,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2125_gencol_with_constraint",
      "num": 2125,
      "name": "gencol_with_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2125_gencol_with_constraint.py",
      "read_script": "generator/df-reads-spark/2125_gencol_with_constraint.sql",
      "description": "GENERATED column + CHECK constraint (gen_total > 0). Table name: gencol_with_constraint_2125. 25 rows with price=5, qty=i, gen_total=5*i (all > 0).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4140,
      "write_warm_ms": 3515,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2126_zorder_single_int_col",
      "num": 2126,
      "name": "zorder_single_int_col",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2126_zorder_single_int_col.py",
      "read_script": "generator/df-reads-spark/2126_zorder_single_int_col.sql",
      "description": "OPTIMIZE ZORDER BY single INT column. 100 rows with score=(i*13)%500, then OPTIMIZE ZORDER BY (score).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3622,
      "write_warm_ms": 3367,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2127_zorder_string_col",
      "num": 2127,
      "name": "zorder_string_col",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2127_zorder_string_col.py",
      "read_script": "generator/df-reads-spark/2127_zorder_string_col.sql",
      "description": "OPTIMIZE ZORDER BY a STRING column. 80 rows with code=CODE_NNNN, then OPTIMIZE ZORDER BY (code).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3744,
      "write_warm_ms": 3393,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2128_zorder_two_cols",
      "num": 2128,
      "name": "zorder_two_cols",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2128_zorder_two_cols.py",
      "read_script": "generator/df-reads-spark/2128_zorder_two_cols.sql",
      "description": "OPTIMIZE ZORDER BY (a, b). 100 rows with a=i%10, b=i%7, then OPTIMIZE ZORDER BY (a, b).",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3772,
      "write_warm_ms": 3243,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2129_zorder_after_delete",
      "num": 2129,
      "name": "zorder_after_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2129_zorder_after_delete.py",
      "read_script": "generator/df-reads-spark/2129_zorder_after_delete.sql",
      "description": "INSERT 100 rows, DELETE even ids (50 remain), then OPTIMIZE ZORDER BY (score).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6317,
      "write_warm_ms": 5475,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/212_convert_parquet",
      "num": 212,
      "name": "convert_parquet",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/212_convert_parquet.py",
      "read_script": "generator/df-reads-spark/212_convert_parquet.sql",
      "description": "Simulates CONVERT TO DELTA from Parquet. 1000 rows (i=0..999).",
      "status": "pass",
      "duration_ms": 37,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 37,
      "read_warm_ms": 15,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2130_zorder_after_update",
      "num": 2130,
      "name": "zorder_after_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2130_zorder_after_update.py",
      "read_script": "generator/df-reads-spark/2130_zorder_after_update.sql",
      "description": "INSERT 100 rows, UPDATE ids 1..30 status='archived', then OPTIMIZE ZORDER BY (score).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5819,
      "write_warm_ms": 4834,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2131_zorder_partitioned_table",
      "num": 2131,
      "name": "zorder_partitioned_table",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2131_zorder_partitioned_table.py",
      "read_script": "generator/df-reads-spark/2131_zorder_partitioned_table.sql",
      "description": "ZORDER on a partitioned table; ZORDER applies within each partition. 100 rows, 3 regions (north/south/east), then OPTIMIZE ZORDER BY (score).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2757,
      "write_warm_ms": 3133,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2132_zorder_with_cdc",
      "num": 2132,
      "name": "zorder_with_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2132_zorder_with_cdc.py",
      "read_script": "generator/df-reads-spark/2132_zorder_with_cdc.sql",
      "description": "ZORDER on a CDC-enabled table. OPTIMIZE must not emit CDF rows. 80 rows, score=(i*17)%300, then OPTIMIZE ZORDER BY (score).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3717,
      "write_warm_ms": 3646,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2133_optimize_compact_many_files",
      "num": 2133,
      "name": "optimize_compact_many_files",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2133_optimize_compact_many_files.py",
      "read_script": "generator/df-reads-spark/2133_optimize_compact_many_files.sql",
      "description": "30 single-row INSERTs followed by OPTIMIZE -- file compaction proof.",
      "status": "pass",
      "duration_ms": 32,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 32,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 50607,
      "write_warm_ms": 50748,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2134_optimize_then_optimize",
      "num": 2134,
      "name": "optimize_then_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2134_optimize_then_optimize.py",
      "read_script": "generator/df-reads-spark/2134_optimize_then_optimize.sql",
      "description": "OPTIMIZE twice in a row -- second should be a no-op or idempotent. Two INSERTs of 50 rows each, then OPTIMIZE twice.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4564,
      "write_warm_ms": 4707,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2135_optimize_after_truncate",
      "num": 2135,
      "name": "optimize_after_truncate",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2135_optimize_after_truncate.py",
      "read_script": "generator/df-reads-spark/2135_optimize_after_truncate.sql",
      "description": "TRUNCATE then INSERT then OPTIMIZE. V1 inserts 50 rows (old_), V2 truncates, V3 inserts 60 rows (new_), V4 optimizes.",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6260,
      "write_warm_ms": 6064,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:truncate",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2136_optimize_evolved_schema",
      "num": 2136,
      "name": "optimize_evolved_schema",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2136_optimize_evolved_schema.py",
      "read_script": "generator/df-reads-spark/2136_optimize_evolved_schema.sql",
      "description": "ALTER ADD COLUMN then OPTIMIZE. V1 inserts 50 rows (2 cols), V2 adds score INT, V3 inserts 50 more rows (3 cols), V4 optimizes.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4136,
      "write_warm_ms": 3994,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2137_optimize_with_constraint",
      "num": 2137,
      "name": "optimize_with_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2137_optimize_with_constraint.py",
      "read_script": "generator/df-reads-spark/2137_optimize_with_constraint.sql",
      "description": "OPTIMIZE on a table with a CHECK constraint -- constraint preserved post-OPTIMIZE. 80 rows with score=i*2, all satisfy score >= 0.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3028,
      "write_warm_ms": 2781,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2138_vacuum_basic",
      "num": 2138,
      "name": "vacuum_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2138_vacuum_basic.py",
      "read_script": "generator/df-reads-spark/2138_vacuum_basic.sql",
      "description": "Basic VACUUM with 0-hour retention. Insert 50 rows then VACUUM RETAIN 0 HOURS.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 14509,
      "write_warm_ms": 9292,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2139_vacuum_after_optimize",
      "num": 2139,
      "name": "vacuum_after_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2139_vacuum_after_optimize.py",
      "read_script": "generator/df-reads-spark/2139_vacuum_after_optimize.sql",
      "description": "OPTIMIZE then VACUUM. VACUUM removes pre-OPTIMIZE files. Two INSERTs of 40 rows each, OPTIMIZE, then VACUUM RETAIN 0 HOURS.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 13907,
      "write_warm_ms": 14549,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/213_convert_parquet_partitioned",
      "num": 213,
      "name": "convert_parquet_partitioned",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/213_convert_parquet_partitioned.py",
      "read_script": "generator/df-reads-spark/213_convert_parquet_partitioned.sql",
      "description": "Simulates CONVERT TO DELTA from partitioned Parquet. 5 partitions x 200 rows = 1000 rows. Only data columns in physical schema (partition cols year/month in paths, not schema).",
      "status": "pass",
      "duration_ms": 59,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 59,
      "read_warm_ms": 30,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2140_vacuum_after_delete",
      "num": 2140,
      "name": "vacuum_after_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2140_vacuum_after_delete.py",
      "read_script": "generator/df-reads-spark/2140_vacuum_after_delete.sql",
      "description": "DELETE then VACUUM. Insert 60 rows, delete WHERE id > 30, then VACUUM RETAIN 0 HOURS.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 13514,
      "write_warm_ms": 16187,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2141_vacuum_with_cdc",
      "num": 2141,
      "name": "vacuum_with_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2141_vacuum_with_cdc.py",
      "read_script": "generator/df-reads-spark/2141_vacuum_with_cdc.sql",
      "description": "VACUUM on a CDC-enabled table. Insert 50 rows, update first 20 names, then VACUUM RETAIN 0 HOURS.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 15689,
      "write_warm_ms": 15884,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2142_time_travel_v0",
      "num": 2142,
      "name": "time_travel_v0",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2142_time_travel_v0.py",
      "read_script": "generator/df-reads-spark/2142_time_travel_v0.sql",
      "description": "Two INSERTs creating versions 1 and 2. V0=empty (CREATE), V1=30 rows, V2=50 rows total. Time travel to V1 returns only the first 30 rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4410,
      "write_warm_ms": 4177,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2143_time_travel_v1",
      "num": 2143,
      "name": "time_travel_v1",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2143_time_travel_v1.py",
      "read_script": "generator/df-reads-spark/2143_time_travel_v1.sql",
      "description": "3 INSERT versions (V1=20, V2=40, V3=60 rows). Verify VERSION AS OF 1, 2, and current.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5702,
      "write_warm_ms": 4952,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2144_time_travel_after_delete",
      "num": 2144,
      "name": "time_travel_after_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2144_time_travel_after_delete.py",
      "read_script": "generator/df-reads-spark/2144_time_travel_after_delete.sql",
      "description": "INSERT then DELETE. Time travel to pre-delete shows full row count. V0=empty, V1=50 rows, V2=delete even ids (25 remain).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5251,
      "write_warm_ms": 4955,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2145_time_travel_after_update",
      "num": 2145,
      "name": "time_travel_after_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2145_time_travel_after_update.py",
      "read_script": "generator/df-reads-spark/2145_time_travel_after_update.sql",
      "description": "INSERT then UPDATE. Time travel to pre-update returns original status='active'. V0=empty, V1=40 rows status='active', V2=update ids 1..20 to 'archived'.",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4764,
      "write_warm_ms": 4940,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2146_time_travel_with_evolution",
      "num": 2146,
      "name": "time_travel_with_evolution",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2146_time_travel_with_evolution.py",
      "read_script": "generator/df-reads-spark/2146_time_travel_with_evolution.sql",
      "description": "ADD COLUMN then time travel to pre-evolution shows fewer columns. V0=empty, V1=30 rows (2 cols), V2=ALTER ADD COLUMN score, V3=20 more rows with score.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5363,
      "write_warm_ms": 4555,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2147_time_travel_with_cdc",
      "num": 2147,
      "name": "time_travel_with_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2147_time_travel_with_cdc.py",
      "read_script": "generator/df-reads-spark/2147_time_travel_with_cdc.sql",
      "description": "CDC-enabled table with multiple versions. V0=empty, V1=30 rows status='new', V2=update ids 1..10 to 'done', V3=insert 20 more rows status='new'.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6235,
      "write_warm_ms": 5822,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2148_restore_to_version",
      "num": 2148,
      "name": "restore_to_version",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2148_restore_to_version.py",
      "read_script": "generator/df-reads-spark/2148_restore_to_version.sql",
      "description": "INSERT, INSERT, INSERT, RESTORE TO VERSION AS OF 1. Final: 20 rows (V1 state).",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 12392,
      "write_warm_ms": 10014,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2149_restore_after_delete",
      "num": 2149,
      "name": "restore_after_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2149_restore_after_delete.py",
      "read_script": "generator/df-reads-spark/2149_restore_after_delete.sql",
      "description": "INSERT, DELETE, RESTORE undoes the delete. Final: 50 rows (restored to V1).",
      "status": "pass",
      "duration_ms": 21,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 21,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 9225,
      "write_warm_ms": 9228,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/214_convert_iceberg",
      "num": 214,
      "name": "convert_iceberg",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/214_convert_iceberg.py",
      "read_script": "generator/df-reads-spark/214_convert_iceberg.sql",
      "description": "Simulates CONVERT TO DELTA from Iceberg. 500 rows (i=0..499) with column mapping enabled.",
      "status": "pass",
      "duration_ms": 23,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 23,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2150_restore_then_dml",
      "num": 2150,
      "name": "restore_then_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2150_restore_then_dml.py",
      "read_script": "generator/df-reads-spark/2150_restore_then_dml.sql",
      "description": "RESTORE then INSERT new data on top. V0=empty, V1=20 rows (a_), V2=20 more (b_), V3=RESTORE to V1, V4=insert 10 rows (c_, ids 100..109). Final: 30 rows.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 11859,
      "write_warm_ms": 10395,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2151_subq_in_select_basic",
      "num": 2151,
      "name": "subq_in_select_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2151_subq_in_select_basic.py",
      "read_script": "generator/df-reads-spark/2151_subq_in_select_basic.sql",
      "description": "IN (SELECT) basic pattern. INSERT 100 rows, delete rows NOT IN ids 1..50.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3435,
      "write_warm_ms": 3412,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2152_subq_not_in_select",
      "num": 2152,
      "name": "subq_not_in_select",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2152_subq_not_in_select.py",
      "read_script": "generator/df-reads-spark/2152_subq_not_in_select.sql",
      "description": "NOT IN literal list. INSERT 100 rows, delete ids 1..10. Final: 90 rows.",
      "status": "pass",
      "duration_ms": 20,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 20,
      "read_warm_ms": 14,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3610,
      "write_warm_ms": 3361,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2153_subq_scalar_max",
      "num": 2153,
      "name": "subq_scalar_max",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2153_subq_scalar_max.py",
      "read_script": "generator/df-reads-spark/2153_subq_scalar_max.sql",
      "description": "DELETE rows where val < 20. INSERT 50 rows with val=i*2, delete WHERE val < 20 (ids 1..9 have val 2,4,...,18 which are < 20 => 9 deleted, leaving 41 rows).",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3722,
      "write_warm_ms": 4239,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2154_subq_scalar_count",
      "num": 2154,
      "name": "subq_scalar_count",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2154_subq_scalar_count.py",
      "read_script": "generator/df-reads-spark/2154_subq_scalar_count.sql",
      "description": "75 rows; id=75 score=999 (updated), all others score=id",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4381,
      "write_warm_ms": 4086,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2155_subq_exists_clause",
      "num": 2155,
      "name": "subq_exists_clause",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2155_subq_exists_clause.py",
      "read_script": "generator/df-reads-spark/2155_subq_exists_clause.sql",
      "description": "delete WHERE score = 0 (none match). Final: 60 rows unchanged.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2796,
      "write_warm_ms": 3020,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2156_subq_not_exists_clause",
      "num": 2156,
      "name": "subq_not_exists_clause",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2156_subq_not_exists_clause.py",
      "read_script": "generator/df-reads-spark/2156_subq_not_exists_clause.sql",
      "description": "Insert 40 rows, delete WHERE id > 30. Final: 30 rows.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3487,
      "write_warm_ms": 3344,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2157_subq_in_two_columns",
      "num": 2157,
      "name": "subq_in_two_columns",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2157_subq_in_two_columns.py",
      "read_script": "generator/df-reads-spark/2157_subq_in_two_columns.sql",
      "description": "Composite predicate (a,b) IN pairs decomposed into OR. Insert 20 rows (a=i, b=i+1), delete WHERE (a=1 AND b=2) OR (a=3 AND b=4) OR (a=5 AND b=6).",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3952,
      "write_warm_ms": 2823,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2158_subq_scalar_avg",
      "num": 2158,
      "name": "subq_scalar_avg",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2158_subq_scalar_avg.py",
      "read_script": "generator/df-reads-spark/2158_subq_scalar_avg.sql",
      "description": "UPDATE pattern setting val=25 for ids 1..10. Insert 50 rows val=i, then update WHERE id <= 10.",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3941,
      "write_warm_ms": 4866,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2159_subq_in_literal_list",
      "num": 2159,
      "name": "subq_in_literal_list",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2159_subq_in_literal_list.py",
      "read_script": "generator/df-reads-spark/2159_subq_in_literal_list.sql",
      "description": "IN with mid-size literal list. Insert 30 rows, delete WHERE id IN (5,10,15,20,25).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4433,
      "write_warm_ms": 4120,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/215_bloom_filter_basic",
      "num": 215,
      "name": "bloom_filter_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/215_bloom_filter_basic.py",
      "read_script": "generator/df-reads-spark/215_bloom_filter_basic.sql",
      "description": "Bloom filter test with precomputed UUIDs. 3 files x 500 rows = 1500 rows total. UUIDs are parsed from the authoritative SQL source file.",
      "status": "pass",
      "duration_ms": 47,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 47,
      "read_warm_ms": 19,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2160_subq_delete_in_subset",
      "num": 2160,
      "name": "subq_delete_in_subset",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2160_subq_delete_in_subset.py",
      "read_script": "generator/df-reads-spark/2160_subq_delete_in_subset.sql",
      "description": "DELETE first half of table via id range. Insert 100 rows, delete WHERE id <= 50.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3426,
      "write_warm_ms": 2992,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2161_case_when_insert_two_branches",
      "num": 2161,
      "name": "case_when_insert_two_branches",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2161_case_when_insert_two_branches.py",
      "read_script": "generator/df-reads-spark/2161_case_when_insert_two_branches.sql",
      "description": "CASE WHEN with two branches in INSERT SELECT. 50 rows: ids 1..25 label='low', ids 26..50 label='high'.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2338,
      "write_warm_ms": 2237,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2162_case_when_insert_three_branches",
      "num": 2162,
      "name": "case_when_insert_three_branches",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2162_case_when_insert_three_branches.py",
      "read_script": "generator/df-reads-spark/2162_case_when_insert_three_branches.sql",
      "description": "CASE WHEN with three branches. 90 rows: ids 1..30 bucket='a', ids 31..60 bucket='b', ids 61..90 bucket='c'.",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2379,
      "write_warm_ms": 2087,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2163_case_when_insert_nested",
      "num": 2163,
      "name": "case_when_insert_nested",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2163_case_when_insert_nested.py",
      "read_script": "generator/df-reads-spark/2163_case_when_insert_nested.sql",
      "description": "Nested CASE expressions. 100 rows: i<=25 tier='q1', 26..50 tier='q2', 51..100 tier='top'.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 10,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1998,
      "write_warm_ms": 1987,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:nested-types",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2164_case_when_update_set_value",
      "num": 2164,
      "name": "case_when_update_set_value",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2164_case_when_update_set_value.py",
      "read_script": "generator/df-reads-spark/2164_case_when_update_set_value.sql",
      "description": "UPDATE SET label = CASE WHEN score > 25 THEN 'big' ELSE 'small' END. Insert 50 rows label='orig', then UPDATE all rows using CASE on score.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4000,
      "write_warm_ms": 3671,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2165_case_when_update_with_else",
      "num": 2165,
      "name": "case_when_update_with_else",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2165_case_when_update_with_else.py",
      "read_script": "generator/df-reads-spark/2165_case_when_update_with_else.sql",
      "description": "UPDATE SET val = CASE WHEN val < 10 THEN 0 WHEN val < 20 THEN 1 ELSE 2 END. Insert 40 rows val=i, then UPDATE all.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3365,
      "write_warm_ms": 4112,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2166_case_when_update_multi_col",
      "num": 2166,
      "name": "case_when_update_multi_col",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2166_case_when_update_multi_col.py",
      "read_script": "generator/df-reads-spark/2166_case_when_update_multi_col.sql",
      "description": "Two separate UPDATEs each using CASE on different columns. Insert 20 rows, UPDATE a via CASE on id, then UPDATE b via CASE on id.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5305,
      "write_warm_ms": 6139,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2167_case_when_insert_string_branches",
      "num": 2167,
      "name": "case_when_insert_string_branches",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2167_case_when_insert_string_branches.py",
      "read_script": "generator/df-reads-spark/2167_case_when_insert_string_branches.sql",
      "description": "CASE WHEN i%2=0 THEN 'even_i' ELSE 'odd_i' END. 30 rows.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1907,
      "write_warm_ms": 2551,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2168_case_when_insert_with_default",
      "num": 2168,
      "name": "case_when_insert_with_default",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2168_case_when_insert_with_default.py",
      "read_script": "generator/df-reads-spark/2168_case_when_insert_with_default.sql",
      "description": "CASE WHEN i=1 THEN 'first' WHEN i=50 THEN 'last' ELSE 'middle' END. 50 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2001,
      "write_warm_ms": 2258,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2169_case_when_delete_via_case_pred",
      "num": 2169,
      "name": "case_when_delete_via_case_pred",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2169_case_when_delete_via_case_pred.py",
      "read_script": "generator/df-reads-spark/2169_case_when_delete_via_case_pred.sql",
      "description": "40 rows (ids 1..40; DELETE WHERE val > 40)",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3590,
      "write_warm_ms": 3373,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/216_bloom_filter_high_cardinality",
      "num": 216,
      "name": "bloom_filter_high_cardinality",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/216_bloom_filter_high_cardinality.py",
      "read_script": "generator/df-reads-spark/216_bloom_filter_high_cardinality.sql",
      "description": "Bloom filter test with very high cardinality columns. 5 files x 1000 rows = 5000 rows. Transaction IDs are UUID-like hex strings.",
      "status": "pass",
      "duration_ms": 69,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 69,
      "read_warm_ms": 35,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2170_case_when_case_in_arithmetic",
      "num": 2170,
      "name": "case_when_case_in_arithmetic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2170_case_when_case_in_arithmetic.py",
      "read_script": "generator/df-reads-spark/2170_case_when_case_in_arithmetic.sql",
      "description": "20 rows; ids 1..10 total=i*2, ids 11..20 total=i*3",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2218,
      "write_warm_ms": 2124,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2171_string_func_lpad_zero",
      "num": 2171,
      "name": "string_func_lpad_zero",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2171_string_func_lpad_zero.py",
      "read_script": "generator/df-reads-spark/2171_string_func_lpad_zero.sql",
      "description": "Insert 50 rows where s = LPAD(str(i), 6, '0').",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1893,
      "write_warm_ms": 2009,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2172_string_func_rpad_dot",
      "num": 2172,
      "name": "string_func_rpad_dot",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2172_string_func_rpad_dot.py",
      "read_script": "generator/df-reads-spark/2172_string_func_rpad_dot.sql",
      "description": "Insert 40 rows where s = RPAD(str(i), 5, '.').",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1694,
      "write_warm_ms": 1688,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2173_string_func_repeat_x",
      "num": 2173,
      "name": "string_func_repeat_x",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2173_string_func_repeat_x.py",
      "read_script": "generator/df-reads-spark/2173_string_func_repeat_x.sql",
      "description": "Insert 30 rows where s = 'x' repeated 4 times.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1601,
      "write_warm_ms": 1929,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2174_string_func_reverse_id",
      "num": 2174,
      "name": "string_func_reverse_id",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2174_string_func_reverse_id.py",
      "read_script": "generator/df-reads-spark/2174_string_func_reverse_id.sql",
      "description": "Insert 20 rows where s = REVERSE(str(i)).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1580,
      "write_warm_ms": 1602,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2175_string_func_substring_prefix",
      "num": 2175,
      "name": "string_func_substring_prefix",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2175_string_func_substring_prefix.py",
      "read_script": "generator/df-reads-spark/2175_string_func_substring_prefix.sql",
      "description": "Insert 25 rows where s = SUBSTRING(CONCAT('row_', str(i)), 1, 3) -- SQL 1-based, so chars [0:3] of 'row_N' -> 'row'.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1918,
      "write_warm_ms": 2150,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2176_string_func_concat_ws_sim",
      "num": 2176,
      "name": "string_func_concat_ws_sim",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2176_string_func_concat_ws_sim.py",
      "read_script": "generator/df-reads-spark/2176_string_func_concat_ws_sim.sql",
      "description": "Insert 15 rows where s = CONCAT(str(i), '-', str(i*2)).",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2057,
      "write_warm_ms": 1913,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2177_string_func_upper_lower_chain",
      "num": 2177,
      "name": "string_func_upper_lower_chain",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2177_string_func_upper_lower_chain.py",
      "read_script": "generator/df-reads-spark/2177_string_func_upper_lower_chain.sql",
      "description": "Insert 10 rows where s = UPPER(LOWER('AbCdEf')) = 'ABCDEF'.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2126,
      "write_warm_ms": 1862,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2178_string_func_length_check",
      "num": 2178,
      "name": "string_func_length_check",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2178_string_func_length_check.py",
      "read_script": "generator/df-reads-spark/2178_string_func_length_check.sql",
      "description": "Insert 10 rows where s = CAST(LENGTH(CONCAT('item_', str(i))) AS STRING). 'item_1' has length 6, 'item_10' has length 7, etc.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1705,
      "write_warm_ms": 1596,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2179_string_func_substr_middle",
      "num": 2179,
      "name": "string_func_substr_middle",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2179_string_func_substr_middle.py",
      "read_script": "generator/df-reads-spark/2179_string_func_substr_middle.sql",
      "description": "Insert 8 rows where s = SUBSTRING('abcdefghij', 3, 4) = 'cdef'.",
      "status": "pass",
      "duration_ms": 65,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 65,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1598,
      "write_warm_ms": 1930,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/217_bloom_filter_fpp",
      "num": 217,
      "name": "bloom_filter_fpp",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/217_bloom_filter_fpp.py",
      "read_script": "generator/df-reads-spark/217_bloom_filter_fpp.sql",
      "description": "Bloom filter FPP test. 3 files x 500 rows = 1500 rows total. lookup_key format: key-{global_id:08x}-{hex2:04x}-{hex3:04x}-{hex4:04x}-{global_id:012x}-{file_num}-{i} data format: fpp_test_data_{file_num}_{i}",
      "status": "pass",
      "duration_ms": 23,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 23,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2180_string_func_concat_three",
      "num": 2180,
      "name": "string_func_concat_three",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2180_string_func_concat_three.py",
      "read_script": "generator/df-reads-spark/2180_string_func_concat_three.sql",
      "description": "Insert 5 rows where s = CONCAT('a', '-', CONCAT('b', '-', 'c')) = 'a-b-c'.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1547,
      "write_warm_ms": 1882,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2181_groupby_agg_count_per_bucket",
      "num": 2181,
      "name": "groupby_agg_count_per_bucket",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2181_groupby_agg_count_per_bucket.py",
      "read_script": "generator/df-reads-spark/2181_groupby_agg_count_per_bucket.sql",
      "description": "GROUP BY i%5 COUNT(*) for i in 1..100.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1854,
      "write_warm_ms": 1664,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2182_groupby_agg_sum_per_bucket",
      "num": 2182,
      "name": "groupby_agg_sum_per_bucket",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2182_groupby_agg_sum_per_bucket.py",
      "read_script": "generator/df-reads-spark/2182_groupby_agg_sum_per_bucket.sql",
      "description": "GROUP BY i%4 SUM(i) for i in 1..40.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1572,
      "write_warm_ms": 1613,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2183_groupby_agg_avg_per_bucket",
      "num": 2183,
      "name": "groupby_agg_avg_per_bucket",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2183_groupby_agg_avg_per_bucket.py",
      "read_script": "generator/df-reads-spark/2183_groupby_agg_avg_per_bucket.sql",
      "description": "GROUP BY i%2 AVG(CAST(i AS DOUBLE)) for i in 1..20.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1490,
      "write_warm_ms": 1634,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2184_groupby_agg_min_per_bucket",
      "num": 2184,
      "name": "groupby_agg_min_per_bucket",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2184_groupby_agg_min_per_bucket.py",
      "read_script": "generator/df-reads-spark/2184_groupby_agg_min_per_bucket.sql",
      "description": "GROUP BY i%3 MIN(i) for i in 1..30.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1639,
      "write_warm_ms": 1550,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2185_groupby_agg_max_per_bucket",
      "num": 2185,
      "name": "groupby_agg_max_per_bucket",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2185_groupby_agg_max_per_bucket.py",
      "read_script": "generator/df-reads-spark/2185_groupby_agg_max_per_bucket.sql",
      "description": "GROUP BY i%3 MAX(i) for i in 1..30.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1781,
      "write_warm_ms": 1850,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2186_groupby_agg_count_distinct_simple",
      "num": 2186,
      "name": "groupby_agg_count_distinct_simple",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2186_groupby_agg_count_distinct_simple.py",
      "read_script": "generator/df-reads-spark/2186_groupby_agg_count_distinct_simple.sql",
      "description": "COUNT(DISTINCT i%10) for i in 1..100 = 10 distinct values (0-9).",
      "status": "pass",
      "duration_ms": 49,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 49,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2042,
      "write_warm_ms": 1610,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2187_groupby_agg_sum_two_groups",
      "num": 2187,
      "name": "groupby_agg_sum_two_groups",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2187_groupby_agg_sum_two_groups.py",
      "read_script": "generator/df-reads-spark/2187_groupby_agg_sum_two_groups.sql",
      "description": "6 groups (2 x 3). Total of all values = sum(1..30) = 465.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1871,
      "write_warm_ms": 1882,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2188_groupby_agg_count_with_filter",
      "num": 2188,
      "name": "groupby_agg_count_with_filter",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2188_groupby_agg_count_with_filter.py",
      "read_script": "generator/df-reads-spark/2188_groupby_agg_count_with_filter.sql",
      "description": "COUNT(*) FROM generate_series(1,100) WHERE i > 50 -> 50 rows counted. Single-row result.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1622,
      "write_warm_ms": 1910,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2189_groupby_agg_min_max_combo",
      "num": 2189,
      "name": "groupby_agg_min_max_combo",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2189_groupby_agg_min_max_combo.py",
      "read_script": "generator/df-reads-spark/2189_groupby_agg_min_max_combo.sql",
      "description": "MIN and MAX from generate_series(1,50). Single-row result: mn=1, mx=50.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1774,
      "write_warm_ms": 1675,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/218_dynamic_partition_pruning",
      "num": 218,
      "name": "dynamic_partition_pruning",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/218_dynamic_partition_pruning.py",
      "read_script": "generator/df-reads-spark/218_dynamic_partition_pruning.sql",
      "description": "5000 rows partitioned by date_key. For i=0..4999: fact_id = i date_key = 20241201 + (i % 31) product_key = 1000 + (i % 100) amount = 50.0 + i * 1.5",
      "status": "pass",
      "duration_ms": 286,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 286,
      "read_warm_ms": 218,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2190_groupby_agg_count_then_delete",
      "num": 2190,
      "name": "groupby_agg_count_then_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2190_groupby_agg_count_then_delete.py",
      "read_script": "generator/df-reads-spark/2190_groupby_agg_count_then_delete.sql",
      "description": "GROUP BY i%5 over 1..50, then DELETE bucket=0. 5 buckets initially (0..4), 10 rows each. After delete: 4 buckets (1,2,3,4).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2363,
      "write_warm_ms": 1587,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2191_pred_pushdown_between_int",
      "num": 2191,
      "name": "pred_pushdown_between_int",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2191_pred_pushdown_between_int.py",
      "read_script": "generator/df-reads-spark/2191_pred_pushdown_between_int.sql",
      "description": "Insert ids 1..100 with val=id. DELETE WHERE val >= 30 AND val <= 70.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1775,
      "write_warm_ms": 2007,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2192_pred_pushdown_between_neg_pos",
      "num": 2192,
      "name": "pred_pushdown_between_neg_pos",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2192_pred_pushdown_between_neg_pos.py",
      "read_script": "generator/df-reads-spark/2192_pred_pushdown_between_neg_pos.sql",
      "description": "Insert ids 1..100, val = i - 50. DELETE WHERE val >= -10 AND val <= 10. val = -10 when i=40; val=10 when i=60. Range i=40..60 -> 21 rows deleted.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1800,
      "write_warm_ms": 1585,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2193_pred_pushdown_and_chain_three",
      "num": 2193,
      "name": "pred_pushdown_and_chain_three",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2193_pred_pushdown_and_chain_three.py",
      "read_script": "generator/df-reads-spark/2193_pred_pushdown_and_chain_three.sql",
      "description": "Insert ids 1..50 with val=id. DELETE WHERE val > 10 AND val < 40 AND id > 20.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1994,
      "write_warm_ms": 1902,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2194_pred_pushdown_or_chain_three",
      "num": 2194,
      "name": "pred_pushdown_or_chain_three",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2194_pred_pushdown_or_chain_three.py",
      "read_script": "generator/df-reads-spark/2194_pred_pushdown_or_chain_three.sql",
      "description": "Insert ids 1..30 with val=id. DELETE WHERE val=5 OR val=15 OR val=25. 3 rows deleted. Remaining: 27 rows.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1514,
      "write_warm_ms": 2083,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2195_pred_pushdown_not_equal",
      "num": 2195,
      "name": "pred_pushdown_not_equal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2195_pred_pushdown_not_equal.py",
      "read_script": "generator/df-reads-spark/2195_pred_pushdown_not_equal.sql",
      "description": "Insert ids 1..30, status = 'a' if i<=10 else 'b'. DELETE WHERE status != 'a'. Remaining: 10 rows, all status='a'.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1965,
      "write_warm_ms": 1528,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2196_pred_pushdown_ge_le_combo",
      "num": 2196,
      "name": "pred_pushdown_ge_le_combo",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2196_pred_pushdown_ge_le_combo.py",
      "read_script": "generator/df-reads-spark/2196_pred_pushdown_ge_le_combo.sql",
      "description": "Insert ids 1..100 with val=id. UPDATE val=0 WHERE val>=25 AND val<=75. 51 rows get val=0. 100 rows total.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1938,
      "write_warm_ms": 1938,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2197_pred_pushdown_delete_with_and",
      "num": 2197,
      "name": "pred_pushdown_delete_with_and",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2197_pred_pushdown_delete_with_and.py",
      "read_script": "generator/df-reads-spark/2197_pred_pushdown_delete_with_and.sql",
      "description": "DELETE WHERE region='US' AND val>25. US rows 1..25 survive, EU rows 51..100 survive.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1858,
      "write_warm_ms": 1567,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2198_pred_pushdown_update_with_or",
      "num": 2198,
      "name": "pred_pushdown_update_with_or",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2198_pred_pushdown_update_with_or.py",
      "read_script": "generator/df-reads-spark/2198_pred_pushdown_update_with_or.sql",
      "description": "UPDATE val=-1 WHERE val<5 OR val>45. val<5: ids 1..4 (4 rows). val>45: ids 46..50 (5 rows). Total 9 rows updated. 50 rows total remain.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2084,
      "write_warm_ms": 2160,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2199_pred_pushdown_delete_partition_match",
      "num": 2199,
      "name": "pred_pushdown_delete_partition_match",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2199_pred_pushdown_delete_partition_match.py",
      "read_script": "generator/df-reads-spark/2199_pred_pushdown_delete_partition_match.sql",
      "description": "DELETE WHERE region='EU'. 30 rows removed. Remaining: 60 rows (AP+US).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2257,
      "write_warm_ms": 2165,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/219_runtime_filter_bloom",
      "num": 219,
      "name": "runtime_filter_bloom",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/219_runtime_filter_bloom.py",
      "read_script": "generator/df-reads-spark/219_runtime_filter_bloom.sql",
      "description": "10000 rows. For i=0..9999: transaction_id = i customer_id = 10000 + (i % 500) amount = 100.0 + i * 2.5 status = 'flagged' if i % 100 == 0 else 'normal",
      "status": "pass",
      "duration_ms": 21,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 21,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/21_action_domain_metadata_custom",
      "num": 21,
      "name": "action_domain_metadata_custom",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/21_action_domain_metadata_custom.py",
      "read_script": "generator/df-reads-spark/21_action_domain_metadata_custom.sql",
      "description": "Smart City Traffic Management. 12 columns. Initial 10000 rows (i=1..10000) + 2000 appended (i=10001..12000). UPDATE road_type='highway' AND avg_speed_mph < 20 -> congestion_level='critical'. DELETE sensor_id < 100 AND congestion_level='low'.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 624,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2200_pred_pushdown_update_range",
      "num": 2200,
      "name": "pred_pushdown_update_range",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2200_pred_pushdown_update_range.py",
      "read_script": "generator/df-reads-spark/2200_pred_pushdown_update_range.sql",
      "description": "UPDATE val = val * 10 WHERE id > 40. ids 41..50 get val*10.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2111,
      "write_warm_ms": 2592,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2201_cross_feat_dv_cdc_simple",
      "num": 2201,
      "name": "cross_feat_dv_cdc_simple",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2201_cross_feat_dv_cdc_simple.py",
      "read_script": "generator/df-reads-spark/2201_cross_feat_dv_cdc_simple.sql",
      "description": "Insert 50 rows id=1..50, val=id. DELETE id<=10. Remaining: 40 rows. CDC and DV both enabled.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6761,
      "write_warm_ms": 5870,
      "tags": [
        "type:integer",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2202_cross_feat_dv_constraint_check",
      "num": 2202,
      "name": "cross_feat_dv_constraint_check",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2202_cross_feat_dv_constraint_check.py",
      "read_script": "generator/df-reads-spark/2202_cross_feat_dv_constraint_check.sql",
      "description": "DV enabled. ADD CONSTRAINT val_pos CHECK (val > 0). Insert 30 rows. DELETE WHERE val > 25. Remaining: 25 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7466,
      "write_warm_ms": 6279,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2203_cross_feat_cdc_then_constraint",
      "num": 2203,
      "name": "cross_feat_cdc_then_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2203_cross_feat_cdc_then_constraint.py",
      "read_script": "generator/df-reads-spark/2203_cross_feat_cdc_then_constraint.sql",
      "description": "CDC + DV enabled. Insert 20 rows. Then ADD CONSTRAINT score_max CHECK (score <= 100).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4024,
      "write_warm_ms": 4390,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2204_cross_feat_evolve_with_dv",
      "num": 2204,
      "name": "cross_feat_evolve_with_dv",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2204_cross_feat_evolve_with_dv.py",
      "read_script": "generator/df-reads-spark/2204_cross_feat_evolve_with_dv.sql",
      "description": "DV enabled. Insert 40 rows (id, val). ADD COLUMN extra STRING. Insert 20 more rows (ids 41..60, extra='new'). DELETE val <= 5. Remaining: 55 rows.",
      "status": "pass",
      "duration_ms": 28,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 28,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6084,
      "write_warm_ms": 5638,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2205_cross_feat_partition_with_dv_cdc",
      "num": 2205,
      "name": "cross_feat_partition_with_dv_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2205_cross_feat_partition_with_dv_cdc.py",
      "read_script": "generator/df-reads-spark/2205_cross_feat_partition_with_dv_cdc.sql",
      "description": "Partitioned by region. DV + CDC enabled. DELETE WHERE region='US' AND val > 20. US rows 21..30 deleted -> 10 rows removed.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4993,
      "write_warm_ms": 4961,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2206_cross_feat_constraint_then_dml",
      "num": 2206,
      "name": "cross_feat_constraint_then_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2206_cross_feat_constraint_then_dml.py",
      "read_script": "generator/df-reads-spark/2206_cross_feat_constraint_then_dml.sql",
      "description": "DV enabled. ADD CONSTRAINT val_pos CHECK (val >= 0). Insert 50 rows id=1..50, val=id. UPDATE val = val + 100 WHERE id > 25. All 50 rows remain, val for id>25 becomes id+100. All val >= 0.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6394,
      "write_warm_ms": 9841,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2207_cross_feat_evolve_then_dml",
      "num": 2207,
      "name": "cross_feat_evolve_then_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2207_cross_feat_evolve_then_dml.py",
      "read_script": "generator/df-reads-spark/2207_cross_feat_evolve_then_dml.sql",
      "description": "DV enabled. Insert 30 rows (id, name). ADD COLUMN score INT. UPDATE score=1 WHERE id<=10. UPDATE score=2 WHERE id>10. 30 rows: 10 with score=1, 20 with score=2.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8318,
      "write_warm_ms": 7860,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2208_cross_feat_cdc_with_partition",
      "num": 2208,
      "name": "cross_feat_cdc_with_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2208_cross_feat_cdc_with_partition.py",
      "read_script": "generator/df-reads-spark/2208_cross_feat_cdc_with_partition.sql",
      "description": "CDC + DV. Partitioned by year. Insert 30 rows. id=1..30, year=2020+(i%3), val=i. 3 distinct years: 2020, 2021, 2022.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2091,
      "write_warm_ms": 2084,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2209_cross_feat_dv_with_optimize",
      "num": 2209,
      "name": "cross_feat_dv_with_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2209_cross_feat_dv_with_optimize.py",
      "read_script": "generator/df-reads-spark/2209_cross_feat_dv_with_optimize.sql",
      "description": "DV enabled. Insert 100 rows. DELETE id<=20. OPTIMIZE.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7154,
      "write_warm_ms": 7606,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/220_multi_table_dynamic_pruning",
      "num": 220,
      "name": "multi_table_dynamic_pruning",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/220_multi_table_dynamic_pruning.py",
      "read_script": "generator/df-reads-spark/220_multi_table_dynamic_pruning.sql",
      "description": "8000 rows partitioned by date_key, region_key. For i=0..7999: fact_id = i date_key = 20241201 + (i % 30) region_key = 1 + (i % 5) product_key = 100 + (i % 20) amount = 10.0 + i * 2.5",
      "status": "pass",
      "duration_ms": 321,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 321,
      "read_warm_ms": 170,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2210_cross_feat_constraint_with_partition",
      "num": 2210,
      "name": "cross_feat_constraint_with_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2210_cross_feat_constraint_with_partition.py",
      "read_script": "generator/df-reads-spark/2210_cross_feat_constraint_with_partition.sql",
      "description": "CREATE with partition by region + CHECK constraint val < 1000.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2195,
      "write_warm_ms": 1896,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2211_cast_chain_int_to_bigint",
      "num": 2211,
      "name": "cast_chain_int_to_bigint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2211_cast_chain_int_to_bigint.py",
      "read_script": "generator/df-reads-spark/2211_cast_chain_int_to_bigint.sql",
      "description": "spark-reads-df/verify_2211_cast_chain_int_to_bigint.py",
      "status": "pass",
      "duration_ms": 21,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 21,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2062,
      "write_warm_ms": 2449,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:type-widening",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2212_cast_chain_int_to_double",
      "num": 2212,
      "name": "cast_chain_int_to_double",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2212_cast_chain_int_to_double.py",
      "read_script": "generator/df-reads-spark/2212_cast_chain_int_to_double.sql",
      "description": "spark-reads-df/verify_2212_cast_chain_int_to_double.py",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2687,
      "write_warm_ms": 2886,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2213_cast_chain_string_to_int",
      "num": 2213,
      "name": "cast_chain_string_to_int",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2213_cast_chain_string_to_int.py",
      "read_script": "generator/df-reads-spark/2213_cast_chain_string_to_int.sql",
      "description": "spark-reads-df/verify_2213_cast_chain_string_to_int.py",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2212,
      "write_warm_ms": 1600,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2214_cast_chain_double_to_int",
      "num": 2214,
      "name": "cast_chain_double_to_int",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2214_cast_chain_double_to_int.py",
      "read_script": "generator/df-reads-spark/2214_cast_chain_double_to_int.sql",
      "description": "For integer inputs, DOUBLE->INT truncates to same value. spark-reads-df/verify_2214_cast_chain_double_to_int.py",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1550,
      "write_warm_ms": 1671,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2215_cast_chain_bigint_to_string",
      "num": 2215,
      "name": "cast_chain_bigint_to_string",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2215_cast_chain_bigint_to_string.py",
      "read_script": "generator/df-reads-spark/2215_cast_chain_bigint_to_string.sql",
      "description": "spark-reads-df/verify_2215_cast_chain_bigint_to_string.py",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1997,
      "write_warm_ms": 2021,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2216_cast_chain_int_to_string_to_int",
      "num": 2216,
      "name": "cast_chain_int_to_string_to_int",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2216_cast_chain_int_to_string_to_int.py",
      "read_script": "generator/df-reads-spark/2216_cast_chain_int_to_string_to_int.sql",
      "description": "spark-reads-df/verify_2216_cast_chain_int_to_string_to_int.py",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2056,
      "write_warm_ms": 2080,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2217_cast_chain_double_round_to_int",
      "num": 2217,
      "name": "cast_chain_double_round_to_int",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2217_cast_chain_double_round_to_int.py",
      "read_script": "generator/df-reads-spark/2217_cast_chain_double_round_to_int.sql",
      "description": "SQL uses ROUND which is round-half-up, but for these values there are no half-way cases: 1.5,3.0,4.5,6.0,7.5,9.0,10.5,12.0,13.5,15.0 -> 2,3,5(or4),6,8(or7),9,11(or10),12,14(or13),15 Actually SQL ROUND(x,0) rounds to nearest, ties to even or away from zero depending on engine.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2208,
      "write_warm_ms": 2213,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2218_cast_chain_negative_to_unsigned",
      "num": 2218,
      "name": "cast_chain_negative_to_unsigned",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2218_cast_chain_negative_to_unsigned.py",
      "read_script": "generator/df-reads-spark/2218_cast_chain_negative_to_unsigned.sql",
      "description": "spark-reads-df/verify_2218_cast_chain_negative_to_unsigned.py",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1908,
      "write_warm_ms": 1996,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2219_cast_chain_decimal_to_double",
      "num": 2219,
      "name": "cast_chain_decimal_to_double",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2219_cast_chain_decimal_to_double.py",
      "read_script": "generator/df-reads-spark/2219_cast_chain_decimal_to_double.sql",
      "description": "DECIMAL(10,2) of integers 1-10 are exact; DOUBLE conversion lossless.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2144,
      "write_warm_ms": 2140,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/221_binary_data_type",
      "num": 221,
      "name": "binary_data_type",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/221_binary_data_type.py",
      "read_script": "generator/df-reads-spark/221_binary_data_type.sql",
      "description": "15 rows with specific binary patterns. Verifies sizes and MD5 hashes.",
      "status": "pass",
      "duration_ms": 27,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 27,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:binary",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2220_cast_chain_string_concat_cast",
      "num": 2220,
      "name": "cast_chain_string_concat_cast",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2220_cast_chain_string_concat_cast.py",
      "read_script": "generator/df-reads-spark/2220_cast_chain_string_concat_cast.sql",
      "description": "spark-reads-df/verify_2220_cast_chain_string_concat_cast.py",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2207,
      "write_warm_ms": 2221,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2221_nested_struct_two_int_fields",
      "num": 2221,
      "name": "nested_struct_two_int_fields",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2221_nested_struct_two_int_fields.py",
      "read_script": "generator/df-reads-spark/2221_nested_struct_two_int_fields.sql",
      "description": "spark-reads-df/verify_2221_nested_struct_two_int_fields.py",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1593,
      "write_warm_ms": 2076,
      "tags": [
        "type:integer",
        "type:struct",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:nested-types",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2222_nested_struct_mixed_types",
      "num": 2222,
      "name": "nested_struct_mixed_types",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2222_nested_struct_mixed_types.py",
      "read_script": "generator/df-reads-spark/2222_nested_struct_mixed_types.sql",
      "description": "spark-reads-df/verify_2222_nested_struct_mixed_types.py",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2159,
      "write_warm_ms": 2155,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:nested-types",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2223_nested_struct_nested_double",
      "num": 2223,
      "name": "nested_struct_nested_double",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2223_nested_struct_nested_double.py",
      "read_script": "generator/df-reads-spark/2223_nested_struct_nested_double.sql",
      "description": "spark-reads-df/verify_2223_nested_struct_nested_double.py",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2200,
      "write_warm_ms": 2205,
      "tags": [
        "type:floating",
        "type:integer",
        "type:struct",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:nested-types",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2224_nested_struct_with_string",
      "num": 2224,
      "name": "nested_struct_with_string",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2224_nested_struct_with_string.py",
      "read_script": "generator/df-reads-spark/2224_nested_struct_with_string.sql",
      "description": "where name='name_'+str(i), code='c_'+str(i). spark-reads-df/verify_2224_nested_struct_with_string.py",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1581,
      "write_warm_ms": 2065,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:nested-types",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2225_nested_struct_with_id",
      "num": 2225,
      "name": "nested_struct_with_id",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2225_nested_struct_with_id.py",
      "read_script": "generator/df-reads-spark/2225_nested_struct_with_id.sql",
      "description": "where inner_id=i+100, val=i. spark-reads-df/verify_2225_nested_struct_with_id.py",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2420,
      "write_warm_ms": 2357,
      "tags": [
        "type:integer",
        "type:struct",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:nested-types",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2226_nested_struct_three_fields",
      "num": 2226,
      "name": "nested_struct_three_fields",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2226_nested_struct_three_fields.py",
      "read_script": "generator/df-reads-spark/2226_nested_struct_three_fields.sql",
      "description": "where a=i, b=i*2, c=i*3. spark-reads-df/verify_2226_nested_struct_three_fields.py",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2228,
      "write_warm_ms": 2355,
      "tags": [
        "type:integer",
        "type:struct",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:nested-types",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2227_nested_struct_after_delete",
      "num": 2227,
      "name": "nested_struct_after_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2227_nested_struct_after_delete.py",
      "read_script": "generator/df-reads-spark/2227_nested_struct_after_delete.sql",
      "description": "INSERT 30 rows then DELETE where id <= 10. Final: 20 rows (ids 11-30). data STRUCT<v INT> where v=i.",
      "status": "pass",
      "duration_ms": 41,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 41,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5599,
      "write_warm_ms": 4788,
      "tags": [
        "type:integer",
        "type:struct",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:nested-types",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2228_nested_struct_after_update_partition",
      "num": 2228,
      "name": "nested_struct_after_update_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2228_nested_struct_after_update_partition.py",
      "read_script": "generator/df-reads-spark/2228_nested_struct_after_update_partition.sql",
      "description": "payload STRUCT<x INT> where x=i. spark-reads-df/verify_2228_nested_struct_after_update_partition.py",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2131,
      "write_warm_ms": 1540,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "delta:partitioning",
        "scale:nested-types",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2229_nested_struct_with_dv",
      "num": 2229,
      "name": "nested_struct_with_dv",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2229_nested_struct_with_dv.py",
      "read_script": "generator/df-reads-spark/2229_nested_struct_with_dv.sql",
      "description": "INSERT 25 rows then DELETE id=12. Final: 24 rows. wrapped STRUCT<v INT> where v=i.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3304,
      "write_warm_ms": 2877,
      "tags": [
        "type:integer",
        "type:struct",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:nested-types",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/222_geometry_types",
      "num": 222,
      "name": "geometry_types",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/222_geometry_types.py",
      "read_script": "generator/df-reads-spark/222_geometry_types.sql",
      "description": "20 rows with geometry WKT representations stored as strings.",
      "status": "pass",
      "duration_ms": 33,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 33,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2230_nested_struct_in_constraint",
      "num": 2230,
      "name": "nested_struct_in_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2230_nested_struct_in_constraint.py",
      "read_script": "generator/df-reads-spark/2230_nested_struct_in_constraint.sql",
      "description": "spark-reads-df/verify_2230_nested_struct_in_constraint.py",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1550,
      "write_warm_ms": 1860,
      "tags": [
        "type:integer",
        "type:struct",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "scale:nested-types",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2231_arith_edge_negate_int",
      "num": 2231,
      "name": "arith_edge_negate_int",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2231_arith_edge_negate_int.py",
      "read_script": "generator/df-reads-spark/2231_arith_edge_negate_int.sql",
      "description": "spark-reads-df/verify_2231_arith_edge_negate_int.py",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1542,
      "write_warm_ms": 1846,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2232_arith_edge_modulo_two",
      "num": 2232,
      "name": "arith_edge_modulo_two",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2232_arith_edge_modulo_two.py",
      "read_script": "generator/df-reads-spark/2232_arith_edge_modulo_two.sql",
      "description": "spark-reads-df/verify_2232_arith_edge_modulo_two.py",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1589,
      "write_warm_ms": 1906,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2233_arith_edge_modulo_seven",
      "num": 2233,
      "name": "arith_edge_modulo_seven",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2233_arith_edge_modulo_seven.py",
      "read_script": "generator/df-reads-spark/2233_arith_edge_modulo_seven.sql",
      "description": "spark-reads-df/verify_2233_arith_edge_modulo_seven.py",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2004,
      "write_warm_ms": 1594,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2234_arith_edge_multiply_zero",
      "num": 2234,
      "name": "arith_edge_multiply_zero",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2234_arith_edge_multiply_zero.py",
      "read_script": "generator/df-reads-spark/2234_arith_edge_multiply_zero.sql",
      "description": "spark-reads-df/verify_2234_arith_edge_multiply_zero.py",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1760,
      "write_warm_ms": 1934,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2235_arith_edge_subtract_negative",
      "num": 2235,
      "name": "arith_edge_subtract_negative",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2235_arith_edge_subtract_negative.py",
      "read_script": "generator/df-reads-spark/2235_arith_edge_subtract_negative.sql",
      "description": "spark-reads-df/verify_2235_arith_edge_subtract_negative.py",
      "status": "pass",
      "duration_ms": 70,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 70,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1622,
      "write_warm_ms": 1811,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2236_arith_edge_add_constant",
      "num": 2236,
      "name": "arith_edge_add_constant",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2236_arith_edge_add_constant.py",
      "read_script": "generator/df-reads-spark/2236_arith_edge_add_constant.sql",
      "description": "spark-reads-df/verify_2236_arith_edge_add_constant.py",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1968,
      "write_warm_ms": 2402,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2237_arith_edge_divide_int",
      "num": 2237,
      "name": "arith_edge_divide_int",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2237_arith_edge_divide_int.py",
      "read_script": "generator/df-reads-spark/2237_arith_edge_divide_int.sql",
      "description": "spark-reads-df/verify_2237_arith_edge_divide_int.py",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2427,
      "write_warm_ms": 2068,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2238_arith_edge_abs_negative",
      "num": 2238,
      "name": "arith_edge_abs_negative",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2238_arith_edge_abs_negative.py",
      "read_script": "generator/df-reads-spark/2238_arith_edge_abs_negative.sql",
      "description": "spark-reads-df/verify_2238_arith_edge_abs_negative.py",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2269,
      "write_warm_ms": 2086,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2239_arith_edge_power_two",
      "num": 2239,
      "name": "arith_edge_power_two",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2239_arith_edge_power_two.py",
      "read_script": "generator/df-reads-spark/2239_arith_edge_power_two.sql",
      "description": "spark-reads-df/verify_2239_arith_edge_power_two.py",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2332,
      "write_warm_ms": 2511,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/223_very_long_strings",
      "num": 223,
      "name": "very_long_strings",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/223_very_long_strings.py",
      "read_script": "generator/df-reads-spark/223_very_long_strings.sql",
      "description": "20 rows with various string lengths and patterns. Verifies binary sizes and MD5 hashes.",
      "status": "pass",
      "duration_ms": 27,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 27,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2240_arith_edge_sign_check",
      "num": 2240,
      "name": "arith_edge_sign_check",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2240_arith_edge_sign_check.py",
      "read_script": "generator/df-reads-spark/2240_arith_edge_sign_check.sql",
      "description": "spark-reads-df/verify_2240_arith_edge_sign_check.py",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2508,
      "write_warm_ms": 2298,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2241_bool_pred_between_simple",
      "num": 2241,
      "name": "bool_pred_between_simple",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2241_bool_pred_between_simple.py",
      "read_script": "generator/df-reads-spark/2241_bool_pred_between_simple.sql",
      "description": "INSERT 30 rows ids 1-30. DELETE WHERE val BETWEEN 10 AND 20. Final: 19 rows.",
      "status": "pass",
      "duration_ms": 79,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 79,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4195,
      "write_warm_ms": 3633,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2242_bool_pred_and_combo",
      "num": 2242,
      "name": "bool_pred_and_combo",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2242_bool_pred_and_combo.py",
      "read_script": "generator/df-reads-spark/2242_bool_pred_and_combo.sql",
      "description": "DELETE WHERE a > 20 AND b < 130 -> deletes rows 21-29 (a>20 AND b=121..129<130 -> 9 rows).",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3389,
      "write_warm_ms": 3178,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2243_bool_pred_or_combo",
      "num": 2243,
      "name": "bool_pred_or_combo",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2243_bool_pred_or_combo.py",
      "read_script": "generator/df-reads-spark/2243_bool_pred_or_combo.sql",
      "description": "DELETE WHERE val < 5 OR val > 35 -> deletes ids 1-4 and 36-40 = 4+5 = 9 rows.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3648,
      "write_warm_ms": 3229,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2244_bool_pred_not_in_list",
      "num": 2244,
      "name": "bool_pred_not_in_list",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2244_bool_pred_not_in_list.py",
      "read_script": "generator/df-reads-spark/2244_bool_pred_not_in_list.sql",
      "description": "DELETE WHERE val NOT IN (1,2,3,4,5) -> deletes 15 rows, keeps 5.",
      "status": "pass",
      "duration_ms": 39,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 39,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3330,
      "write_warm_ms": 3604,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2245_bool_pred_in_list_strings",
      "num": 2245,
      "name": "bool_pred_in_list_strings",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2245_bool_pred_in_list_strings.py",
      "read_script": "generator/df-reads-spark/2245_bool_pred_in_list_strings.sql",
      "description": "DELETE WHERE code IN ('A', 'B') -> keeps only 'C' rows. i%3==2 -> i=2,5,8,...,29 -> 10 rows with code='C'.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3590,
      "write_warm_ms": 3704,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2246_bool_pred_complex_or",
      "num": 2246,
      "name": "bool_pred_complex_or",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2246_bool_pred_complex_or.py",
      "read_script": "generator/df-reads-spark/2246_bool_pred_complex_or.sql",
      "description": "DELETE WHERE (a < 10 OR a > 40) OR b = 75. - a < 10: i=1..9 (9 rows) - a > 40: i=41..50 (10 rows) - b=75: i=25 (b=75), not yet deleted - Total deleted: 9+10+1 = 20 rows. Final: 30.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4006,
      "write_warm_ms": 3429,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2247_bool_pred_negate_eq",
      "num": 2247,
      "name": "bool_pred_negate_eq",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2247_bool_pred_negate_eq.py",
      "read_script": "generator/df-reads-spark/2247_bool_pred_negate_eq.sql",
      "description": "DELETE WHERE val <> 10 -> keeps only val=10. spark-reads-df/verify_2247_bool_pred_negate_eq.py",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3364,
      "write_warm_ms": 3541,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2248_bool_pred_ge_only",
      "num": 2248,
      "name": "bool_pred_ge_only",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2248_bool_pred_ge_only.py",
      "read_script": "generator/df-reads-spark/2248_bool_pred_ge_only.sql",
      "description": "DELETE WHERE val >= 15 -> deletes ids 15-30 (16 rows). Final: 14 rows (ids 1-14).",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3083,
      "write_warm_ms": 3107,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2249_bool_pred_le_only",
      "num": 2249,
      "name": "bool_pred_le_only",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2249_bool_pred_le_only.py",
      "read_script": "generator/df-reads-spark/2249_bool_pred_le_only.sql",
      "description": "DELETE WHERE val <= 10 -> deletes ids 1-10 (10 rows). Final: 20 rows (ids 11-30, min val=11).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3145,
      "write_warm_ms": 3564,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/224_extreme_partitions",
      "num": 224,
      "name": "extreme_partitions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/224_extreme_partitions.py",
      "read_script": "generator/df-reads-spark/224_extreme_partitions.sql",
      "description": "72 rows total (24 partitions x 3 rows each). event_id: sequential 1..72 ordered by year, quarter, region_order, idx. event_data: 'event_{year}_Q{quarter}_{region}_{idx}' where idx=0,1,2. value: event_id * 1.5.",
      "status": "pass",
      "duration_ms": 53,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 53,
      "read_warm_ms": 21,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2250_bool_pred_in_then_delete",
      "num": 2250,
      "name": "bool_pred_in_then_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2250_bool_pred_in_then_delete.py",
      "read_script": "generator/df-reads-spark/2250_bool_pred_in_then_delete.sql",
      "description": "DELETE WHERE id IN (2,4,6,8,10) -> deletes 5 even ids. Final: 15 rows.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3231,
      "write_warm_ms": 3632,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2251_merge_identity_then_insert",
      "num": 2251,
      "name": "merge_identity_then_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2251_merge_identity_then_insert.py",
      "read_script": "generator/df-reads-spark/2251_merge_identity_then_insert.sql",
      "description": "spark-reads-df/verify_2251_merge_identity_then_insert.py",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5164,
      "write_warm_ms": 4646,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2252_merge_then_merge_identity",
      "num": 2252,
      "name": "merge_then_merge_identity",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2252_merge_then_merge_identity.py",
      "read_script": "generator/df-reads-spark/2252_merge_then_merge_identity.sql",
      "description": "spark-reads-df/verify_2252_merge_then_merge_identity.py",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4983,
      "write_warm_ms": 4627,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2253_merge_default_int",
      "num": 2253,
      "name": "merge_default_int",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2253_merge_default_int.py",
      "read_script": "generator/df-reads-spark/2253_merge_default_int.sql",
      "description": "INSERT 20 rows with explicit score=i*10. Also id=10 has score=10*10=100 from original, so 21 total rows with score=100.",
      "status": "pass",
      "duration_ms": 138,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 138,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3475,
      "write_warm_ms": 3480,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2254_merge_default_date",
      "num": 2254,
      "name": "merge_default_date",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2254_merge_default_date.py",
      "read_script": "generator/df-reads-spark/2254_merge_default_date.sql",
      "description": "INSERT 15 rows with explicit created_on=2023-12-31. spark-reads-df/verify_2254_merge_default_date.py",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3276,
      "write_warm_ms": 3511,
      "tags": [
        "type:date",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2255_merge_generated_concat",
      "num": 2255,
      "name": "merge_generated_concat",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2255_merge_generated_concat.py",
      "read_script": "generator/df-reads-spark/2255_merge_generated_concat.sql",
      "description": "INSERT 10 rows with combo=CONCAT(a,'_',b). spark-reads-df/verify_2255_merge_generated_concat.py",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3057,
      "write_warm_ms": 3375,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2256_merge_generated_arithmetic",
      "num": 2256,
      "name": "merge_generated_arithmetic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2256_merge_generated_arithmetic.py",
      "read_script": "generator/df-reads-spark/2256_merge_generated_arithmetic.sql",
      "description": "INSERT 12 rows with price=5, qty=i, total=5*i. MERGE 20 src with price=7: 12 matched update price to 7, 8 NOT MATCHED insert.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2147,
      "write_warm_ms": 1974,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2257_merge_default_bool",
      "num": 2257,
      "name": "merge_default_bool",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2257_merge_default_bool.py",
      "read_script": "generator/df-reads-spark/2257_merge_default_bool.sql",
      "description": "INSERT 10 rows with active=false. spark-reads-df/verify_2257_merge_default_bool.py",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3678,
      "write_warm_ms": 3241,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2258_merge_default_decimal",
      "num": 2258,
      "name": "merge_default_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2258_merge_default_decimal.py",
      "read_script": "generator/df-reads-spark/2258_merge_default_decimal.sql",
      "description": "INSERT 8 rows with price=10.50. spark-reads-df/verify_2258_merge_default_decimal.py",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3998,
      "write_warm_ms": 3719,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2259_merge_identity_with_delete_chain",
      "num": 2259,
      "name": "merge_identity_with_delete_chain",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2259_merge_identity_with_delete_chain.py",
      "read_script": "generator/df-reads-spark/2259_merge_identity_with_delete_chain.sql",
      "description": "INSERT 15 rows labels 'a_1'..'a_15' with ids 1..15. MERGE inserts 10 new 'b_1'..'b_10' -> ids 16..25. DELETE 5 odd 'b_' rows: b_1,b_3,b_5,b_7,b_9. MERGE inserts 5 new 'c_1'..'c_5' -> ids 26..30.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6523,
      "write_warm_ms": 6511,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/225_extreme_columns",
      "num": 225,
      "name": "extreme_columns",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/225_extreme_columns.py",
      "read_script": "generator/df-reads-spark/225_extreme_columns.sql",
      "description": "20 rows with 3 base columns + 97 feature columns (alternating DOUBLE, BIGINT, STRING). Feature column types by index i (0-96): i%3==0: DOUBLE -> (row_id * 10 + i) / 10.0 i%3==1: BIGINT -> row_id * 100 + i i%3==2: STRING -> 'v{row_id}_{i}",
      "status": "pass",
      "duration_ms": 98,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 98,
      "read_warm_ms": 60,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2260_merge_default_and_generated",
      "num": 2260,
      "name": "merge_default_and_generated",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2260_merge_default_and_generated.py",
      "read_script": "generator/df-reads-spark/2260_merge_default_and_generated.sql",
      "description": "INSERT 8 rows with id=i, qty=i, price=10, total=10*i. with DEFAULT price=5, total=5*qty.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3433,
      "write_warm_ms": 2987,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2261_cor_add_identity_column",
      "num": 2261,
      "name": "cor_add_identity_column",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2261_cor_add_identity_column.py",
      "read_script": "generator/df-reads-spark/2261_cor_add_identity_column.sql",
      "description": "INSERT 8 rows post-replace -> ids 1..8. spark-reads-df/verify_2261_cor_add_identity_column.py",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1659,
      "write_warm_ms": 1818,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2262_cor_add_default_column",
      "num": 2262,
      "name": "cor_add_default_column",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2262_cor_add_default_column.py",
      "read_script": "generator/df-reads-spark/2262_cor_add_default_column.sql",
      "description": "INSERT 12 rows omitting status -> all get DEFAULT 'pending'.",
      "status": "pass",
      "duration_ms": 84,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 84,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2213,
      "write_warm_ms": 2230,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2263_cor_add_generated_column",
      "num": 2263,
      "name": "cor_add_generated_column",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2263_cor_add_generated_column.py",
      "read_script": "generator/df-reads-spark/2263_cor_add_generated_column.sql",
      "description": "spark-reads-df/verify_2263_cor_add_generated_column.py",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1649,
      "write_warm_ms": 1673,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2264_cor_change_partition_columns",
      "num": 2264,
      "name": "cor_change_partition_columns",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2264_cor_change_partition_columns.py",
      "read_script": "generator/df-reads-spark/2264_cor_change_partition_columns.sql",
      "description": "spark-reads-df/verify_2264_cor_change_partition_columns.py",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1626,
      "write_warm_ms": 1614,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2265_cor_remove_partition_columns",
      "num": 2265,
      "name": "cor_remove_partition_columns",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2265_cor_remove_partition_columns.py",
      "read_script": "generator/df-reads-spark/2265_cor_remove_partition_columns.sql",
      "description": "INSERT 10 rows with region='flat'. spark-reads-df/verify_2265_cor_remove_partition_columns.py",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1631,
      "write_warm_ms": 2030,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2266_cor_enable_cdc",
      "num": 2266,
      "name": "cor_enable_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2266_cor_enable_cdc.py",
      "read_script": "generator/df-reads-spark/2266_cor_enable_cdc.sql",
      "description": "INSERT 8 rows post-replace. spark-reads-df/verify_2266_cor_enable_cdc.py",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2032,
      "write_warm_ms": 2254,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2267_cor_with_identity_then_insert",
      "num": 2267,
      "name": "cor_with_identity_then_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2267_cor_with_identity_then_insert.py",
      "read_script": "generator/df-reads-spark/2267_cor_with_identity_then_insert.sql",
      "description": "INSERT 5 rows -> ids 1..5 (a_1..a_5). INSERT 5 more -> ids 6..10 (b_1..b_5).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3186,
      "write_warm_ms": 3178,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2268_cor_with_default_then_insert",
      "num": 2268,
      "name": "cor_with_default_then_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2268_cor_with_default_then_insert.py",
      "read_script": "generator/df-reads-spark/2268_cor_with_default_then_insert.sql",
      "description": "INSERT 10 rows omitting score -> all get DEFAULT 42. spark-reads-df/verify_2268_cor_with_default_then_insert.py",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1743,
      "write_warm_ms": 2026,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2269_cor_remove_property",
      "num": 2269,
      "name": "cor_remove_property",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2269_cor_remove_property.py",
      "read_script": "generator/df-reads-spark/2269_cor_remove_property.sql",
      "description": "INSERT 5 rows. spark-reads-df/verify_2269_cor_remove_property.py",
      "status": "pass",
      "duration_ms": 127,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 127,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1680,
      "write_warm_ms": 1754,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/226_extreme_versions",
      "num": 226,
      "name": "extreme_versions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/226_extreme_versions.py",
      "read_script": "generator/df-reads-spark/226_extreme_versions.sql",
      "description": "batch_id=N, value=N*5.0 and N*5.0+1.0) spark-reads-df/verify_226_extreme_versions.py",
      "status": "pass",
      "duration_ms": 126,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 126,
      "read_warm_ms": 20,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2270_cor_then_merge",
      "num": 2270,
      "name": "cor_then_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2270_cor_then_merge.py",
      "read_script": "generator/df-reads-spark/2270_cor_then_merge.sql",
      "description": "INSERT 10 rows (ids 1-10, score=i). spark-reads-df/verify_2270_cor_then_merge.py",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1610,
      "write_warm_ms": 1597,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2271_default_decimal_literal",
      "num": 2271,
      "name": "default_decimal_literal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2271_default_decimal_literal.py",
      "read_script": "generator/df-reads-spark/2271_default_decimal_literal.sql",
      "description": "INSERT 15 rows omitting price -> all get DEFAULT 19.95. spark-reads-df/verify_2271_default_decimal_literal.py",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1891,
      "write_warm_ms": 1738,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2272_default_date_literal",
      "num": 2272,
      "name": "default_date_literal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2272_default_date_literal.py",
      "read_script": "generator/df-reads-spark/2272_default_date_literal.sql",
      "description": "INSERT 12 rows omitting d -> all get DEFAULT DATE '2024-06-15'.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1805,
      "write_warm_ms": 1578,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2273_default_timestamp_literal",
      "num": 2273,
      "name": "default_timestamp_literal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2273_default_timestamp_literal.py",
      "read_script": "generator/df-reads-spark/2273_default_timestamp_literal.sql",
      "description": "INSERT 10 rows omitting ts -> all get DEFAULT TIMESTAMP '2024-01-01 12:00:00'.",
      "status": "pass",
      "duration_ms": 68,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 68,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1588,
      "write_warm_ms": 1662,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2274_default_boolean_literal",
      "num": 2274,
      "name": "default_boolean_literal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2274_default_boolean_literal.py",
      "read_script": "generator/df-reads-spark/2274_default_boolean_literal.sql",
      "description": "INSERT 8 rows omitting flag -> all get DEFAULT true. spark-reads-df/verify_2274_default_boolean_literal.py",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2136,
      "write_warm_ms": 1844,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2275_default_bigint_literal",
      "num": 2275,
      "name": "default_bigint_literal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2275_default_bigint_literal.py",
      "read_script": "generator/df-reads-spark/2275_default_bigint_literal.sql",
      "description": "INSERT 5 rows omitting counter -> all get DEFAULT 9000000000.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1793,
      "write_warm_ms": 1604,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2276_default_double_literal",
      "num": 2276,
      "name": "default_double_literal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2276_default_double_literal.py",
      "read_script": "generator/df-reads-spark/2276_default_double_literal.sql",
      "description": "INSERT 6 rows omitting rate -> all get DEFAULT 3.14159. spark-reads-df/verify_2276_default_double_literal.py",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1667,
      "write_warm_ms": 1638,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2277_default_with_check_constraint",
      "num": 2277,
      "name": "default_with_check_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2277_default_with_check_constraint.py",
      "read_script": "generator/df-reads-spark/2277_default_with_check_constraint.sql",
      "description": "INSERT 10 rows omitting score -> all get DEFAULT 50 (satisfies 0 <= score <= 100).",
      "status": "pass",
      "duration_ms": 28,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 28,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1645,
      "write_warm_ms": 1616,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2278_default_then_evolve_add_default",
      "num": 2278,
      "name": "default_then_evolve_add_default",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2278_default_then_evolve_add_default.py",
      "read_script": "generator/df-reads-spark/2278_default_then_evolve_add_default.sql",
      "description": "INSERT 5 rows (ids 1-5) with a=DEFAULT 10. ALTER TABLE ADD COLUMN b INT DEFAULT 20. INSERT 6 rows (ids 100-105) with a=DEFAULT 10, b=DEFAULT 20.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4324,
      "write_warm_ms": 3973,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2279_gencol_case_expression",
      "num": 2279,
      "name": "gencol_case_expression",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2279_gencol_case_expression.py",
      "read_script": "generator/df-reads-spark/2279_gencol_case_expression.sql",
      "description": "i=1..20, score=5..100. grade: score>=90 (i>=18): A -> i=18,19,20 score>=75 (i>=15 and <18): B -> i=15,16,17 else C -> i=1..14",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1720,
      "write_warm_ms": 1788,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/227_identity_basic",
      "num": 227,
      "name": "identity_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/227_identity_basic.py",
      "read_script": "generator/df-reads-spark/227_identity_basic.sql",
      "description": "10 rows with explicit id 1-10. auto_id: 1-10 name: 'user_'+str(i) created_at: 2024-01-01T00:00:00Z + i seconds",
      "status": "pass",
      "duration_ms": 21,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 21,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2280_gencol_three_arg_arithmetic",
      "num": 2280,
      "name": "gencol_three_arg_arithmetic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2280_gencol_three_arg_arithmetic.py",
      "read_script": "generator/df-reads-spark/2280_gencol_three_arg_arithmetic.sql",
      "description": "spark-reads-df/verify_2280_gencol_three_arg_arithmetic.py",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1651,
      "write_warm_ms": 1670,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2281_gencol_after_two_updates",
      "num": 2281,
      "name": "gencol_after_two_updates",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2281_gencol_after_two_updates.py",
      "read_script": "generator/df-reads-spark/2281_gencol_after_two_updates.sql",
      "description": "UPDATE qty = qty + 100 WHERE id <= 5 -> ids 1-5: qty=i+100, doubled=(i+100)*2. UPDATE qty = qty * 3 WHERE id <= 3 -> ids 1-3: qty=(i+100)*3, doubled=(i+100)*3*2.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6342,
      "write_warm_ms": 5320,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2282_gencol_after_delete",
      "num": 2282,
      "name": "gencol_after_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2282_gencol_after_delete.py",
      "read_script": "generator/df-reads-spark/2282_gencol_after_delete.sql",
      "description": "DELETE WHERE id > 12. Final: 12 rows with sum_ab = a + b. spark-reads-df/verify_2282_gencol_after_delete.py",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3909,
      "write_warm_ms": 3180,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2283_gencol_partition_then_optimize",
      "num": 2283,
      "name": "gencol_partition_then_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2283_gencol_partition_then_optimize.py",
      "read_script": "generator/df-reads-spark/2283_gencol_partition_then_optimize.sql",
      "description": "OPTIMIZE. Final: 30 rows, all with qty_x10 = qty * 10. spark-reads-df/verify_2283_gencol_partition_then_optimize.py",
      "status": "pass",
      "duration_ms": 49,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 49,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3616,
      "write_warm_ms": 2815,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2284_gencol_update_non_dep_column",
      "num": 2284,
      "name": "gencol_update_non_dep_column",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2284_gencol_update_non_dep_column.py",
      "read_script": "generator/df-reads-spark/2284_gencol_update_non_dep_column.sql",
      "description": "UPDATE name = 'upd_'+str(id) WHERE id <= 7. spark-reads-df/verify_2284_gencol_update_non_dep_column.py",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3418,
      "write_warm_ms": 3598,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2285_tsntz_partition",
      "num": 2285,
      "name": "tsntz_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2285_tsntz_partition.py",
      "read_script": "generator/df-reads-spark/2285_tsntz_partition.sql",
      "description": "event_ts = 2024-01-01 00:00:00 + i hours (NTZ). spark-reads-df/verify_2285_tsntz_partition.py",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1477,
      "write_warm_ms": 1618,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp-ntz",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2286_tsntz_with_cdc",
      "num": 2286,
      "name": "tsntz_with_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2286_tsntz_with_cdc.py",
      "read_script": "generator/df-reads-spark/2286_tsntz_with_cdc.sql",
      "description": "DELETE WHERE id <= 3. Final: 7 rows. spark-reads-df/verify_2286_tsntz_with_cdc.py",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3543,
      "write_warm_ms": 3650,
      "tags": [
        "type:integer",
        "type:timestamp-ntz",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2287_tsntz_time_travel",
      "num": 2287,
      "name": "tsntz_time_travel",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2287_tsntz_time_travel.py",
      "read_script": "generator/df-reads-spark/2287_tsntz_time_travel.sql",
      "description": "spark-reads-df/verify_2287_tsntz_time_travel.py",
      "status": "pass",
      "duration_ms": 107,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 107,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4191,
      "write_warm_ms": 3882,
      "tags": [
        "type:integer",
        "type:timestamp-ntz",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2288_tsntz_update",
      "num": 2288,
      "name": "tsntz_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2288_tsntz_update.py",
      "read_script": "generator/df-reads-spark/2288_tsntz_update.sql",
      "description": "UPDATE event_ts = 2025-06-15 12:30:00 NTZ WHERE id <= 5. spark-reads-df/verify_2288_tsntz_update.py",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3797,
      "write_warm_ms": 3227,
      "tags": [
        "type:integer",
        "type:timestamp-ntz",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2289_tsntz_merge",
      "num": 2289,
      "name": "tsntz_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2289_tsntz_merge.py",
      "read_script": "generator/df-reads-spark/2289_tsntz_merge.sql",
      "description": "with event_ts=2024-12-31 23:00:00 NTZ. spark-reads-df/verify_2289_tsntz_merge.py",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2785,
      "write_warm_ms": 3170,
      "tags": [
        "type:integer",
        "type:timestamp-ntz",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/228_identity_by_default",
      "num": 228,
      "name": "identity_by_default",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/228_identity_by_default.py",
      "read_script": "generator/df-reads-spark/228_identity_by_default.sql",
      "description": "4 rows with mixed explicit/auto ids: (5000, 'EXT-001', 'explicit_id') (1000, 'EXT-002', 'auto_generated_1') (1001, 'EXT-003', 'auto_generated_2') (9000, 'EXT-004', 'explicit_id_2')",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2290_tsntz_min_max_stats",
      "num": 2290,
      "name": "tsntz_min_max_stats",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2290_tsntz_min_max_stats.py",
      "read_script": "generator/df-reads-spark/2290_tsntz_min_max_stats.sql",
      "description": "spark-reads-df/verify_2290_tsntz_min_max_stats.py",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1714,
      "write_warm_ms": 1691,
      "tags": [
        "type:integer",
        "type:timestamp-ntz",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2291_vacuum_dry_run",
      "num": 2291,
      "name": "vacuum_dry_run",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2291_vacuum_dry_run.py",
      "read_script": "generator/df-reads-spark/2291_vacuum_dry_run.sql",
      "description": "INSERT 10 rows. DELETE WHERE id > 5 -> 5 rows remain. spark-reads-df/verify_2291_vacuum_dry_run.py",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3387,
      "write_warm_ms": 3230,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2292_vacuum_idempotent",
      "num": 2292,
      "name": "vacuum_idempotent",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2292_vacuum_idempotent.py",
      "read_script": "generator/df-reads-spark/2292_vacuum_idempotent.sql",
      "description": "INSERT 20 rows. DELETE WHERE id > 10 -> 10 rows. VACUUM RETAIN 0 HOURS (twice).",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 19461,
      "write_warm_ms": 24340,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2293_vacuum_after_optimize_then_delete",
      "num": 2293,
      "name": "vacuum_after_optimize_then_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2293_vacuum_after_optimize_then_delete.py",
      "read_script": "generator/df-reads-spark/2293_vacuum_after_optimize_then_delete.sql",
      "description": "INSERT 30 rows. OPTIMIZE. DELETE WHERE id > 20 -> 20 rows. VACUUM RETAIN 0 HOURS.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 15731,
      "write_warm_ms": 17259,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2294_vacuum_no_files_to_delete",
      "num": 2294,
      "name": "vacuum_no_files_to_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2294_vacuum_no_files_to_delete.py",
      "read_script": "generator/df-reads-spark/2294_vacuum_no_files_to_delete.sql",
      "description": "INSERT 5 rows. VACUUM RETAIN 0 HOURS (no files to delete but commit emitted).",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 10751,
      "write_warm_ms": 11840,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2295_vacuum_after_multiple_delete_cycles",
      "num": 2295,
      "name": "vacuum_after_multiple_delete_cycles",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2295_vacuum_after_multiple_delete_cycles.py",
      "read_script": "generator/df-reads-spark/2295_vacuum_after_multiple_delete_cycles.sql",
      "description": "INSERT 60 rows. DELETE WHERE id BETWEEN 10 AND 20 -> 11 rows deleted (10,11,...,20). DELETE WHERE id BETWEEN 30 AND 40 -> 11 rows deleted. DELETE WHERE id BETWEEN 50 AND 55 -> 6 rows deleted. VACUUM RETAIN 0 HOURS.",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 17275,
      "write_warm_ms": 17069,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2296_map_literal_int_values",
      "num": 2296,
      "name": "map_literal_int_values",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2296_map_literal_int_values.py",
      "read_script": "generator/df-reads-spark/2296_map_literal_int_values.sql",
      "description": "spark-reads-df/verify_2296_map_literal_int_values.py",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2036,
      "write_warm_ms": 1879,
      "tags": [
        "type:integer",
        "type:map",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2297_map_literal_in_insert_select",
      "num": 2297,
      "name": "map_literal_in_insert_select",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2297_map_literal_in_insert_select.py",
      "read_script": "generator/df-reads-spark/2297_map_literal_in_insert_select.sql",
      "description": "spark-reads-df/verify_2297_map_literal_in_insert_select.py",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3104,
      "write_warm_ms": 3269,
      "tags": [
        "type:integer",
        "type:map",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2298_map_literal_three_keys",
      "num": 2298,
      "name": "map_literal_three_keys",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2298_map_literal_three_keys.py",
      "read_script": "generator/df-reads-spark/2298_map_literal_three_keys.sql",
      "description": "spark-reads-df/verify_2298_map_literal_three_keys.py",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1462,
      "write_warm_ms": 1480,
      "tags": [
        "type:integer",
        "type:map",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2299_drop_table_with_files_explicit",
      "num": 2299,
      "name": "drop_table_with_files_explicit",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2299_drop_table_with_files_explicit.py",
      "read_script": "generator/df-reads-spark/2299_drop_table_with_files_explicit.sql",
      "description": "DROP TABLE WITH FILES (wipes data). INSERT 7 rows post-create.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1866,
      "write_warm_ms": 1860,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/229_identity_hwm",
      "num": 229,
      "name": "identity_hwm",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/229_identity_hwm.py",
      "read_script": "generator/df-reads-spark/229_identity_hwm.sql",
      "description": "50 rows with explicit id values 1-50. id: i (1-50) event_type: 'event_'+str(i) event_time: 2024-01-01 00:00:00 UTC + i seconds",
      "status": "pass",
      "duration_ms": 46,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 46,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:column-mapping",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/22_action_sidecar_file_reference",
      "num": 22,
      "name": "action_sidecar_file_reference",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/22_action_sidecar_file_reference.py",
      "read_script": "generator/df-reads-spark/22_action_sidecar_file_reference.sql",
      "description": "E-Commerce Product Catalog Management. 5000 initial + 100 new products. Multiple UPDATE, DELETE, and MERGE operations.",
      "status": "pass",
      "duration_ms": 23,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 23,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 17072,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:checkpoint-sidecar",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2300_drop_table_if_exists_then_create",
      "num": 2300,
      "name": "drop_table_if_exists_then_create",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2300_drop_table_if_exists_then_create.py",
      "read_script": "generator/df-reads-spark/2300_drop_table_if_exists_then_create.sql",
      "description": "DROP TABLE IF EXISTS then CREATE fresh and insert ids 100-110.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1964,
      "write_warm_ms": 1723,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2300_drop_table_with_files_explicit",
      "num": 2300,
      "name": "drop_table_with_files_explicit",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2300_drop_table_with_files_explicit.py",
      "read_script": "generator/df-reads-spark/2300_drop_table_with_files_explicit.sql",
      "description": "Create table, insert ids 1..5. DROP TABLE. Re-create. Insert ids 100..110.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3370,
      "write_warm_ms": 3668,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2301_vacuum_retention_tombstone_check",
      "num": 2301,
      "name": "vacuum_retention_tombstone_check",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2301_vacuum_retention_tombstone_check.py",
      "read_script": "generator/df-reads-spark/2301_vacuum_retention_tombstone_check.sql",
      "description": "DV enabled. Insert ids 1..20, then 21..40. DELETE id<=10. VACUUM RETAIN 0 HOURS.",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 16417,
      "write_warm_ms": 15033,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2302_vacuum_after_restore",
      "num": 2302,
      "name": "vacuum_after_restore",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2302_vacuum_after_restore.py",
      "read_script": "generator/df-reads-spark/2302_vacuum_after_restore.sql",
      "description": "DV enabled. V0: empty. V1: insert ids 1..15. V2: insert ids 16..30. RESTORE TO VERSION AS OF 1. VACUUM RETAIN 0 HOURS.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 21134,
      "write_warm_ms": 21234,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2303_vacuum_zorder_then_purge",
      "num": 2303,
      "name": "vacuum_zorder_then_purge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2303_vacuum_zorder_then_purge.py",
      "read_script": "generator/df-reads-spark/2303_vacuum_zorder_then_purge.sql",
      "description": "DV enabled. Insert ids 1..50 (k=i%7) + 51..100 (k=i%11). OPTIMIZE ZORDER BY (k). VACUUM RETAIN 0 HOURS. 100 rows preserved. OPTIMIZE + VACUUM in log.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 15471,
      "write_warm_ms": 14310,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2304_vacuum_partitioned_preserves_dirs",
      "num": 2304,
      "name": "vacuum_partitioned_preserves_dirs",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2304_vacuum_partitioned_preserves_dirs.py",
      "read_script": "generator/df-reads-spark/2304_vacuum_partitioned_preserves_dirs.sql",
      "description": "DV. Partitioned by part. Insert 40 rows (part=i%4). DELETE id>30. VACUUM RETAIN 0 HOURS. 30 rows remain, 4 distinct partition dirs.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 13311,
      "write_warm_ms": 15882,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2305_optimize_single_file_noop",
      "num": 2305,
      "name": "optimize_single_file_noop",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2305_optimize_single_file_noop.py",
      "read_script": "generator/df-reads-spark/2305_optimize_single_file_noop.sql",
      "description": "DV. Insert 25 rows (id, v = i, i). OPTIMIZE (no-op on single file). 25 rows preserved, sum(v) = 325. OPTIMIZE commit present or skipped (warn only).",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4507,
      "write_warm_ms": 4540,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2306_optimize_empty_table",
      "num": 2306,
      "name": "optimize_empty_table",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2306_optimize_empty_table.py",
      "read_script": "generator/df-reads-spark/2306_optimize_empty_table.sql",
      "description": "DV. OPTIMIZE on empty table (should not error). Then insert 5 rows. 5 rows: ids 1..5. At least 2 log entries.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3749,
      "write_warm_ms": 3410,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2307_optimize_dv_only_table",
      "num": 2307,
      "name": "optimize_dv_only_table",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2307_optimize_dv_only_table.py",
      "read_script": "generator/df-reads-spark/2307_optimize_dv_only_table.sql",
      "description": "DV. Insert 60 rows. DELETE id%5=0. DELETE id%7=0. OPTIMIZE. No multiples of 5 remain. OPTIMIZE commit present.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8640,
      "write_warm_ms": 8149,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2308_reorg_purge_after_merge",
      "num": 2308,
      "name": "reorg_purge_after_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2308_reorg_purge_after_merge.py",
      "read_script": "generator/df-reads-spark/2308_reorg_purge_after_merge.sql",
      "description": "DV. Insert 50 rows. MERGE DELETE WHERE id%3=0 (multiples of 3 in 1..50: 16). REORG TABLE APPLY (PURGE). Remaining: 34 rows. No multiples of 3. REORG/OPTIMIZE commit in log.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 9599,
      "write_warm_ms": 9478,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2309_reorg_purge_partitioned",
      "num": 2309,
      "name": "reorg_purge_partitioned",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2309_reorg_purge_partitioned.py",
      "read_script": "generator/df-reads-spark/2309_reorg_purge_partitioned.sql",
      "description": "DV. Partitioned by region (region=i%3: 0,1,2). Insert 30 rows. DELETE id%4=0 (ids 4,8,12,16,20,24,28 -> 7 rows deleted). Remaining: 23 rows. REORG TABLE APPLY (PURGE). 3 partition dirs.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4676,
      "write_warm_ms": 5091,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/230_identity_blocks",
      "num": 230,
      "name": "identity_blocks",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/230_identity_blocks.py",
      "read_script": "generator/df-reads-spark/230_identity_blocks.sql",
      "description": "100 rows inserted individually. id=i+1 (i=0..99), worker_id=(i%4)+1, data='initial_data_{i}'. No identity column - ids are explicit.",
      "status": "pass",
      "duration_ms": 28,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 28,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2310_zorder_single_col_with_nulls",
      "num": 2310,
      "name": "zorder_single_col_with_nulls",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2310_zorder_single_col_with_nulls.py",
      "read_script": "generator/df-reads-spark/2310_zorder_single_col_with_nulls.sql",
      "description": "DV. Insert 60 rows: id=1..60, k=NULL if i%6==0 else i. OPTIMIZE ZORDER BY (k). 60 rows, 10 nulls (multiples of 6).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4524,
      "write_warm_ms": 4721,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2311_zorder_three_cols_mixed",
      "num": 2311,
      "name": "zorder_three_cols_mixed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2311_zorder_three_cols_mixed.py",
      "read_script": "generator/df-reads-spark/2311_zorder_three_cols_mixed.sql",
      "description": "DV. Insert 80 rows: id=1..80, a=i%4, b=i*10, c=i%9. OPTIMIZE ZORDER BY (a, b, c). 80 rows, 4 distinct a values, 9 distinct c values.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5365,
      "write_warm_ms": 4731,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2312_zorder_after_schema_evolve",
      "num": 2312,
      "name": "zorder_after_schema_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2312_zorder_after_schema_evolve.py",
      "read_script": "generator/df-reads-spark/2312_zorder_after_schema_evolve.sql",
      "description": "DV. Insert 30 rows (id, v). ADD COLUMN bucket INT. Insert 30 more (ids 31..60, bucket=i%5). OPTIMIZE ZORDER BY (bucket). 60 rows: first 30 have null bucket, last 30 have bucket set. OPTIMIZE in log.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5373,
      "write_warm_ms": 5818,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2313_optimize_where_partition_predicate",
      "num": 2313,
      "name": "optimize_where_partition_predicate",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2313_optimize_where_partition_predicate.py",
      "read_script": "generator/df-reads-spark/2313_optimize_where_partition_predicate.sql",
      "description": "DV. Partitioned by p. Insert 80 rows (p=i%4). OPTIMIZE WHERE p=1 (compacts only partition 1). 80 rows preserved, 4 distinct p values.",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5544,
      "write_warm_ms": 5964,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2314_zorder_string_col_locality",
      "num": 2314,
      "name": "zorder_string_col_locality",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2314_zorder_string_col_locality.py",
      "read_script": "generator/df-reads-spark/2314_zorder_string_col_locality.sql",
      "description": "DV. Insert 50 rows with 5 distinct labels (alpha/bravo/charlie/delta/echo by i%5). OPTIMIZE ZORDER BY (label). 50 rows, 5 distinct labels.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4373,
      "write_warm_ms": 4823,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2315_zorder_date_col_locality",
      "num": 2315,
      "name": "zorder_date_col_locality",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2315_zorder_date_col_locality.py",
      "read_script": "generator/df-reads-spark/2315_zorder_date_col_locality.sql",
      "description": "DV. Insert 60 rows: id=1..60, d=DATE '2024-01-01' + (i%30) days. OPTIMIZE ZORDER BY (d). 60 rows, 30 distinct dates.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4478,
      "write_warm_ms": 4384,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2316_optimize_sequence_idempotent",
      "num": 2316,
      "name": "optimize_sequence_idempotent",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2316_optimize_sequence_idempotent.py",
      "read_script": "generator/df-reads-spark/2316_optimize_sequence_idempotent.sql",
      "description": "DV. Insert 3 batches of 20 rows (1..60). OPTIMIZE x3. 60 rows, sum(v)=1830. At least 1 OPTIMIZE commit in log.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8591,
      "write_warm_ms": 7655,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2317_optimize_then_vacuum_retain_zero",
      "num": 2317,
      "name": "optimize_then_vacuum_retain_zero",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2317_optimize_then_vacuum_retain_zero.py",
      "read_script": "generator/df-reads-spark/2317_optimize_then_vacuum_retain_zero.sql",
      "description": "DV. Insert 4 batches of 10 rows (1..40). OPTIMIZE. VACUUM RETAIN 0. 40 rows, sum(v)=820. OPTIMIZE + VACUUM in log.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 19338,
      "write_warm_ms": 18120,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2318_vacuum_after_cdc_enabled",
      "num": 2318,
      "name": "vacuum_after_cdc_enabled",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2318_vacuum_after_cdc_enabled.py",
      "read_script": "generator/df-reads-spark/2318_vacuum_after_cdc_enabled.sql",
      "description": "CDC + DV. Insert 25 rows. UPDATE v+=1000 WHERE id<=10. DELETE id>20. VACUUM RETAIN 0.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 17367,
      "write_warm_ms": 17042,
      "tags": [
        "type:integer",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2319_checkpoint_after_ten_commits",
      "num": 2319,
      "name": "checkpoint_after_ten_commits",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2319_checkpoint_after_ten_commits.py",
      "read_script": "generator/df-reads-spark/2319_checkpoint_after_ten_commits.sql",
      "description": "DV. checkpointInterval=10. 10 INSERT commits of 5 rows each (1..50). Checkpoint should be emitted. 50 rows.",
      "status": "pass",
      "duration_ms": 64,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 64,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 20335,
      "write_warm_ms": 17753,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/231_multi_identity",
      "num": 231,
      "name": "multi_identity",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/231_multi_identity.py",
      "read_script": "generator/df-reads-spark/231_multi_identity.sql",
      "description": "3 rows. row_id=1,2,3. version_id=1000,1001,1002. category='A','B','C'. value=1.0,2.0,3.0.",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2320_checkpoint_after_evolve_schema",
      "num": 2320,
      "name": "checkpoint_after_evolve_schema",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2320_checkpoint_after_evolve_schema.py",
      "read_script": "generator/df-reads-spark/2320_checkpoint_after_evolve_schema.sql",
      "description": "DV. checkpointInterval=5. Insert 5 rows (1..5). ADD COLUMN extra INT. Insert 4 more batches of 5 (6..25) with extra=i*2. 25 rows: first 5 have null extra, last 20 have extra set. Checkpoint present after 5+ commits.",
      "status": "pass",
      "duration_ms": 39,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 39,
      "read_warm_ms": 10,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 12195,
      "write_warm_ms": 11521,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2321_optimize_with_column_mapping",
      "num": 2321,
      "name": "optimize_with_column_mapping",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2321_optimize_with_column_mapping.py",
      "read_script": "generator/df-reads-spark/2321_optimize_with_column_mapping.sql",
      "description": "DV + column mapping name mode. Insert 2 batches of 20 rows (1..40). OPTIMIZE. 40 rows, sum(payload)=820. column mapping + OPTIMIZE in log.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6035,
      "write_warm_ms": 5926,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2322_reorg_apply_purge_keeps_count",
      "num": 2322,
      "name": "reorg_apply_purge_keeps_count",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2322_reorg_apply_purge_keeps_count.py",
      "read_script": "generator/df-reads-spark/2322_reorg_apply_purge_keeps_count.sql",
      "description": "DV. Insert 25 rows (v=i*3). REORG TABLE APPLY (PURGE). 25 rows, sum(v)=975. At least 2 log entries.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3053,
      "write_warm_ms": 3254,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2323_vacuum_with_retention_property",
      "num": 2323,
      "name": "vacuum_with_retention_property",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2323_vacuum_with_retention_property.py",
      "read_script": "generator/df-reads-spark/2323_vacuum_with_retention_property.sql",
      "description": "DV + deletedFileRetentionDuration=interval 0 hours. Insert 30 rows. DELETE id<=15. VACUUM RETAIN 0 HOURS. 15 rows (ids 16..30), min id=16. VACUUM in log. retention property in metadata.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 14824,
      "write_warm_ms": 14376,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2324_optimize_not_null_constraint",
      "num": 2324,
      "name": "optimize_not_null_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2324_optimize_not_null_constraint.py",
      "read_script": "generator/df-reads-spark/2324_optimize_not_null_constraint.sql",
      "description": "DV. id BIGINT NOT NULL, v INT NOT NULL. Insert 2 batches (1..40). OPTIMIZE. 40 rows. Both columns non-nullable in schema. OPTIMIZE in log.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8148,
      "write_warm_ms": 6106,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2325_zorder_then_immediate_update",
      "num": 2325,
      "name": "zorder_then_immediate_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2325_zorder_then_immediate_update.py",
      "read_script": "generator/df-reads-spark/2325_zorder_then_immediate_update.sql",
      "description": "DV. Insert 60 rows: id=1..60, k=i%6, v=i. OPTIMIZE ZORDER BY (k). UPDATE v=v+10000 WHERE k=0. 60 rows. k=0 at i=6,12,18,...,60 -> 10 rows. v>=10000 for those 10. k==0 has 10 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7223,
      "write_warm_ms": 6698,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2326_identity_start_1000_inc_5",
      "num": 2326,
      "name": "identity_start_1000_inc_5",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2326_identity_start_1000_inc_5.py",
      "read_script": "generator/df-reads-spark/2326_identity_start_1000_inc_5.sql",
      "description": "20 rows. IDENTITY START WITH 1000 INCREMENT BY 5. ids: 1000, 1005, 1010, ..., 1095.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1749,
      "write_warm_ms": 1653,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2327_identity_generated_always",
      "num": 2327,
      "name": "identity_generated_always",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2327_identity_generated_always.py",
      "read_script": "generator/df-reads-spark/2327_identity_generated_always.sql",
      "description": "25 rows. GENERATED ALWAYS AS IDENTITY (START WITH 1 INCREMENT BY 1). ids: 1..25.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1946,
      "write_warm_ms": 1703,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2328_identity_survives_optimize",
      "num": 2328,
      "name": "identity_survives_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2328_identity_survives_optimize.py",
      "read_script": "generator/df-reads-spark/2328_identity_survives_optimize.sql",
      "description": "30 rows in 3 batches. OPTIMIZE. ids 1..30 intact.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7201,
      "write_warm_ms": 7356,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2329_identity_resume_after_delete_all",
      "num": 2329,
      "name": "identity_resume_after_delete_all",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2329_identity_resume_after_delete_all.py",
      "read_script": "generator/df-reads-spark/2329_identity_resume_after_delete_all.sql",
      "description": "Insert 15 rows (ids 1..15). DELETE all. Insert 10 more rows. New ids must continue past HWM (>15). All 10 new ids distinct.",
      "status": "pass",
      "duration_ms": 74,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 74,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5382,
      "write_warm_ms": 5835,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/232_identity_delete",
      "num": 232,
      "name": "identity_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/232_identity_delete.py",
      "read_script": "generator/df-reads-spark/232_identity_delete.sql",
      "description": "100 rows inserted, DELETE id>50. OPTIMIZE. 50 rows remain (ids 1..50). status='active', amount=100.00+i (i=0..49).",
      "status": "pass",
      "duration_ms": 41,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 41,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2330_identity_multi_batch_sum",
      "num": 2330,
      "name": "identity_multi_batch_sum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2330_identity_multi_batch_sum.py",
      "read_script": "generator/df-reads-spark/2330_identity_multi_batch_sum.sql",
      "description": "20 rows in 4 batches of 5. IDENTITY START WITH 1 INCREMENT BY 1. ids: 1..20. sum(ids)=210.",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7888,
      "write_warm_ms": 7805,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "scale:many-batches",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2331_default_null_nullable",
      "num": 2331,
      "name": "default_null_nullable",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2331_default_null_nullable.py",
      "read_script": "generator/df-reads-spark/2331_default_null_nullable.sql",
      "description": "12 rows. id=1..12. notes column DEFAULT NULL -> all nulls.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1914,
      "write_warm_ms": 2007,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2332_default_date_literal",
      "num": 2332,
      "name": "default_date_literal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2332_default_date_literal.py",
      "read_script": "generator/df-reads-spark/2332_default_date_literal.sql",
      "description": "18 rows. id=1..18. created_on DEFAULT DATE '2026-01-01' -> all 2026-01-01.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1886,
      "write_warm_ms": 1681,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2333_default_alter_set_new",
      "num": 2333,
      "name": "default_alter_set_new",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2333_default_alter_set_new.py",
      "read_script": "generator/df-reads-spark/2333_default_alter_set_new.sql",
      "description": "10 rows. First 5 (ids 1..5) have status='pending' (old default). Then ALTER COLUMN status SET DEFAULT 'active'. Next 5 (ids 101..105) have status='active'. 5 pending + 5 active.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1731,
      "write_warm_ms": 2251,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2334_default_int_then_update",
      "num": 2334,
      "name": "default_int_then_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2334_default_int_then_update.py",
      "read_script": "generator/df-reads-spark/2334_default_int_then_update.sql",
      "description": "20 rows. id=1..20, qty DEFAULT 7 -> all qty=7. UPDATE qty=99 WHERE id<=10. 10 rows qty=7, 10 rows qty=99.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1647,
      "write_warm_ms": 1891,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2335_default_empty_string",
      "num": 2335,
      "name": "default_empty_string",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2335_default_empty_string.py",
      "read_script": "generator/df-reads-spark/2335_default_empty_string.sql",
      "description": "14 rows. id=1..14, label DEFAULT '' -> all label=''.",
      "status": "pass",
      "duration_ms": 63,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 63,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1821,
      "write_warm_ms": 1820,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2336_gencol_concat_strings",
      "num": 2336,
      "name": "gencol_concat_strings",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2336_gencol_concat_strings.py",
      "read_script": "generator/df-reads-spark/2336_gencol_concat_strings.sql",
      "description": "15 rows. id=1..15, first_name='first{i}', last_name='last{i}'. full_name GENERATED AS CONCAT(first_name, ' ', last_name) -> 'first1 last1' etc.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1942,
      "write_warm_ms": 1954,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2337_gencol_year_of_date",
      "num": 2337,
      "name": "gencol_year_of_date",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2337_gencol_year_of_date.py",
      "read_script": "generator/df-reads-spark/2337_gencol_year_of_date.sql",
      "description": "12 rows. id=1..12, event_date=DATE '2020-01-01' + i months. event_year GENERATED AS YEAR(event_date).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2025,
      "write_warm_ms": 2112,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2338_gencol_month_of_ts",
      "num": 2338,
      "name": "gencol_month_of_ts",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2338_gencol_month_of_ts.py",
      "read_script": "generator/df-reads-spark/2338_gencol_month_of_ts.sql",
      "description": "11 rows. id=1..11. event_ts = TIMESTAMP '2024-01-15 10:00:00' + i months. event_month GENERATED AS MONTH(event_ts).",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2088,
      "write_warm_ms": 1935,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2339_gencol_three_col_arithmetic",
      "num": 2339,
      "name": "gencol_three_col_arithmetic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2339_gencol_three_col_arithmetic.py",
      "read_script": "generator/df-reads-spark/2339_gencol_three_col_arithmetic.sql",
      "description": "20 rows. id=1..20, a=i, b=i+1, c=i+2. result GENERATED AS CAST((a + b) * c AS BIGINT).",
      "status": "pass",
      "duration_ms": 31,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 31,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1605,
      "write_warm_ms": 2064,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/233_identity_merge",
      "num": 233,
      "name": "identity_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/233_identity_merge.py",
      "read_script": "generator/df-reads-spark/233_identity_merge.sql",
      "description": "3 rows. id=1,2,3. customer_key='C001','C002','C003'. email='c1@email.com','c2@email.com','c3@email.com'. updated_at = 2024-01-01T00:00:00Z + i seconds (i=1,2,3).",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:identity-columns",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2340_gencol_merge_insert",
      "num": 2340,
      "name": "gencol_merge_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2340_gencol_merge_insert.py",
      "read_script": "generator/df-reads-spark/2340_gencol_merge_insert.sql",
      "description": "15 rows total: 5 initial (base=1..5) + 10 via MERGE (base=10,20,...,100). doubled GENERATED AS base * 2. All rows have doubled = base * 2.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3189,
      "write_warm_ms": 2999,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2341_gencol_type_cast",
      "num": 2341,
      "name": "gencol_type_cast",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2341_gencol_type_cast.py",
      "read_script": "generator/df-reads-spark/2341_gencol_type_cast.sql",
      "description": "18 rows. id=1..18, raw_count=i*7. raw_count_str GENERATED AS CAST(raw_count AS STRING).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1646,
      "write_warm_ms": 1523,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2342_tsntz_min_year_1970",
      "num": 2342,
      "name": "tsntz_min_year_1970",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2342_tsntz_min_year_1970.py",
      "read_script": "generator/df-reads-spark/2342_tsntz_min_year_1970.sql",
      "description": "10 rows. id=1..10. epoch_ts = 1970-01-01 00:00:00 + i seconds (TIMESTAMP_NTZ). All rows have year=1970.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1947,
      "write_warm_ms": 2119,
      "tags": [
        "type:integer",
        "type:timestamp-ntz",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2343_tsntz_microsecond_precision",
      "num": 2343,
      "name": "tsntz_microsecond_precision",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2343_tsntz_microsecond_precision.py",
      "read_script": "generator/df-reads-spark/2343_tsntz_microsecond_precision.sql",
      "description": "4 rows with specific microsecond values: 123456, 654321, 1, 999999.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1985,
      "write_warm_ms": 2007,
      "tags": [
        "type:integer",
        "type:timestamp-ntz",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2344_tsntz_merge_update_clause",
      "num": 2344,
      "name": "tsntz_merge_update_clause",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2344_tsntz_merge_update_clause.py",
      "read_script": "generator/df-reads-spark/2344_tsntz_merge_update_clause.sql",
      "description": "10 rows. event_ts = 2024-01-01 initially. 5 rows at 2024, 5 rows at 2030.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6189,
      "write_warm_ms": 5951,
      "tags": [
        "type:integer",
        "type:timestamp-ntz",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2345_tsntz_zorder",
      "num": 2345,
      "name": "tsntz_zorder",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2345_tsntz_zorder.py",
      "read_script": "generator/df-reads-spark/2345_tsntz_zorder.sql",
      "description": "50 rows. id=1..50. event_ts = 2024-01-01 00:00:00 + i hours (TIMESTAMP_NTZ). OPTIMIZE ZORDER BY (event_ts). event_ts type preserved as timestamp_ntz.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4753,
      "write_warm_ms": 4557,
      "tags": [
        "type:integer",
        "type:timestamp-ntz",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2346_default_identity_generated_combo",
      "num": 2346,
      "name": "default_identity_generated_combo",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2346_default_identity_generated_combo.py",
      "read_script": "generator/df-reads-spark/2346_default_identity_generated_combo.sql",
      "description": "12 rows. id IDENTITY (1..12), qty DEFAULT 10 -> all 10. qty_squared GENERATED AS qty*qty -> all 100. label='row_1'..'row_12'.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1585,
      "write_warm_ms": 2133,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2347_gencol_coalesce",
      "num": 2347,
      "name": "gencol_coalesce",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2347_gencol_coalesce.py",
      "read_script": "generator/df-reads-spark/2347_gencol_coalesce.sql",
      "description": "[10, 50, 0, 7, 0] for the 5 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1425,
      "write_warm_ms": 2062,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2348_identity_update_other_cols",
      "num": 2348,
      "name": "identity_update_other_cols",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2348_identity_update_other_cols.py",
      "read_script": "generator/df-reads-spark/2348_identity_update_other_cols.sql",
      "description": "15 rows. id=1..15, name='item_1'..'item_15', qty=1..15. UPDATE qty = qty + 1000 WHERE id <= 7. ids unchanged. 7 rows have qty >= 1000.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1897,
      "write_warm_ms": 1948,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2349_alter_add_column_with_default",
      "num": 2349,
      "name": "alter_add_column_with_default",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2349_alter_add_column_with_default.py",
      "read_script": "generator/df-reads-spark/2349_alter_add_column_with_default.sql",
      "description": "DV. Insert 8 rows (ids 1..8, name='n_1'..'n_8'). ADD COLUMN tier STRING DEFAULT 'bronze'. Insert 6 more rows (ids 101..106, name='m_1'..'m_6', tier='bronze'). 14 rows total. Old rows (id<100) have tier=null, new rows (id>=100) have tier='bronze'.",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3503,
      "write_warm_ms": 3677,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/234_identity_resume",
      "num": 234,
      "name": "identity_resume",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/234_identity_resume.py",
      "read_script": "generator/df-reads-spark/234_identity_resume.sql",
      "description": "10 rows. id=1..10, source='DBX', payload='batch1_payload_0'..'batch1_payload_9'.",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2350_gencol_from_partition_col",
      "num": 2350,
      "name": "gencol_from_partition_col",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2350_gencol_from_partition_col.py",
      "read_script": "generator/df-reads-spark/2350_gencol_from_partition_col.sql",
      "description": "9 rows. id=1..9. event_date = DATE '2022-06-01' + i months. event_year GENERATED AS YEAR(event_date). Partitioned by event_year.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2058,
      "write_warm_ms": 1826,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2351_merge_matched_with_filter",
      "num": 2351,
      "name": "merge_matched_with_filter",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2351_merge_matched_with_filter.py",
      "read_script": "generator/df-reads-spark/2351_merge_matched_with_filter.sql",
      "description": "10 rows: id=1..10, status='pending', amount=i*10. amount>50 at ids 6..10 (amounts 60..100). 5 rows updated to status='updated', amount=id*100.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5029,
      "write_warm_ms": 5195,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2352_merge_nmbs_delete",
      "num": 2352,
      "name": "merge_nmbs_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2352_merge_nmbs_delete.py",
      "read_script": "generator/df-reads-spark/2352_merge_nmbs_delete.sql",
      "description": "10 rows: id=1..10, label='row_{id}'. Ids 6..10 deleted. Remaining: 5 rows (ids 1..5).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4955,
      "write_warm_ms": 4914,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2353_merge_nmbs_update",
      "num": 2353,
      "name": "merge_nmbs_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2353_merge_nmbs_update.py",
      "read_script": "generator/df-reads-spark/2353_merge_nmbs_update.sql",
      "description": "10 rows: id=1..10, status='active'. Ids 5..10 become inactive. 4 active, 6 inactive.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5114,
      "write_warm_ms": 4938,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2354_merge_multi_matched_clauses",
      "num": 2354,
      "name": "merge_multi_matched_clauses",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2354_merge_multi_matched_clauses.py",
      "read_script": "generator/df-reads-spark/2354_merge_multi_matched_clauses.sql",
      "description": "10 rows: id=1..10, op='orig', value=id. Even ids deleted, odd ids updated: op='updated', value=id*10. 5 rows survive: ids 1,3,5,7,9. All have op='updated'.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5535,
      "write_warm_ms": 5134,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2355_merge_source_aggregation",
      "num": 2355,
      "name": "merge_source_aggregation",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2355_merge_source_aggregation.py",
      "read_script": "generator/df-reads-spark/2355_merge_source_aggregation.sql",
      "description": "4 rows: bucket=0,1,2,3, total=0 initially. Each bucket gets the sum. Expected: {0:60, 1:25, 2:42, 3:49}. Wait... Sum for i=1..20: bucket=(i%4), sum each bucket. bucket 0: 4,8,12,16,20 = 60 bucket 1: 1,5,9,13,17 = 45... let me recalculate: i=1: bucket 1, sum+=1",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1873,
      "write_warm_ms": 1879,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2356_merge_source_values_clause",
      "num": 2356,
      "name": "merge_source_values_clause",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2356_merge_source_values_clause.py",
      "read_script": "generator/df-reads-spark/2356_merge_source_values_clause.sql",
      "description": "3 initial rows: (1,'a'), (2,'b'), (3,'c'). WHEN MATCHED THEN UPDATE name. WHEN NOT MATCHED THEN INSERT.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6136,
      "write_warm_ms": 4635,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2357_merge_insert_star_match",
      "num": 2357,
      "name": "merge_insert_star_match",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2357_merge_insert_star_match.py",
      "read_script": "generator/df-reads-spark/2357_merge_insert_star_match.sql",
      "description": "WHEN MATCHED THEN UPDATE SET * -> updates ids 1,2. WHEN NOT MATCHED THEN INSERT * -> inserts ids 3,4,5.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4471,
      "write_warm_ms": 5651,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2358_merge_partitioned_target",
      "num": 2358,
      "name": "merge_partitioned_target",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2358_merge_partitioned_target.py",
      "read_script": "generator/df-reads-spark/2358_merge_partitioned_target.sql",
      "description": "Partitioned by region. Insert 4 rows: ('us',1,10),('us',2,20),('eu',1,30),('eu',2,40). WHEN MATCHED UPDATE value, WHEN NOT MATCHED INSERT.",
      "status": "pass",
      "duration_ms": 22,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 22,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5306,
      "write_warm_ms": 4799,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2359_merge_with_cdf_enabled",
      "num": 2359,
      "name": "merge_with_cdf_enabled",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2359_merge_with_cdf_enabled.py",
      "read_script": "generator/df-reads-spark/2359_merge_with_cdf_enabled.sql",
      "description": "CDC + DV. Insert (1,'a'),(2,'b'),(3,'c').",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4972,
      "write_warm_ms": 4529,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/235_default_literal",
      "num": 235,
      "name": "default_literal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/235_default_literal.py",
      "read_script": "generator/df-reads-spark/235_default_literal.sql",
      "description": "Basic literal default values for columns",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2360_insert_overwrite_where_predicate",
      "num": 2360,
      "name": "insert_overwrite_where_predicate",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2360_insert_overwrite_where_predicate.py",
      "read_script": "generator/df-reads-spark/2360_insert_overwrite_where_predicate.sql",
      "description": "Partitioned by region. Initial: ('us',1,10),('us',2,20),('eu',1,30),('eu',2,40). INSERT OVERWRITE with rows only from 'us': ('us',10,1000),('us',11,1100),('us',12,1200). Full overwrite -> 3 rows: ids 10,11,12. (verify accepts 3 or 5 rows depending on semantics).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4405,
      "write_warm_ms": 4677,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2361_insert_overwrite_partitioned_full",
      "num": 2361,
      "name": "insert_overwrite_partitioned_full",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2361_insert_overwrite_partitioned_full.py",
      "read_script": "generator/df-reads-spark/2361_insert_overwrite_partitioned_full.sql",
      "description": "Partitioned by region. Initial: ('a',1),('a',2),('b',3),('b',4),('c',5).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4645,
      "write_warm_ms": 4588,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2362_overwrite_then_insert_into",
      "num": 2362,
      "name": "overwrite_then_insert_into",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2362_overwrite_then_insert_into.py",
      "read_script": "generator/df-reads-spark/2362_overwrite_then_insert_into.sql",
      "description": "INSERT OVERWRITE followed by INSERT INTO",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6351,
      "write_warm_ms": 5522,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2363_overwrite_single_partition",
      "num": 2363,
      "name": "overwrite_single_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2363_overwrite_single_partition.py",
      "read_script": "generator/df-reads-spark/2363_overwrite_single_partition.sql",
      "description": "Partitioned by p. Initial: ('keep',1),('keep',2),('drop',100),('drop',200). DELETE WHERE p='drop'. INSERT ('drop',300),('drop',400).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4933,
      "write_warm_ms": 5781,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2364_update_delete_insert_chain",
      "num": 2364,
      "name": "update_delete_insert_chain",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2364_update_delete_insert_chain.py",
      "read_script": "generator/df-reads-spark/2364_update_delete_insert_chain.sql",
      "description": "UPDATE label='updated' WHERE id<=6. (ids 1..6 updated) DELETE WHERE id BETWEEN 4 AND 7. (ids 4,5,6,7 deleted) INSERT (4,'reborn'),(7,'reborn').",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6834,
      "write_warm_ms": 7452,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2365_delete_in_subquery",
      "num": 2365,
      "name": "delete_in_subquery",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2365_delete_in_subquery.py",
      "read_script": "generator/df-reads-spark/2365_delete_in_subquery.sql",
      "description": "10 rows: id=1..10, name='row_1'..'row_10'. DELETE WHERE id IN (2,4,6,8). 4 rows deleted.",
      "status": "pass",
      "duration_ms": 64,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 64,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4472,
      "write_warm_ms": 4209,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2366_update_from_join_via_merge",
      "num": 2366,
      "name": "update_from_join_via_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2366_update_from_join_via_merge.py",
      "read_script": "generator/df-reads-spark/2366_update_from_join_via_merge.sql",
      "description": "4 rows: (1,'alice',0),(2,'bob',0),(3,'carol',0),(4,'dave',0).",
      "status": "pass",
      "duration_ms": 70,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 70,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5205,
      "write_warm_ms": 4826,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2367_merge_self_via_cte",
      "num": 2367,
      "name": "merge_self_via_cte",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2367_merge_self_via_cte.py",
      "read_script": "generator/df-reads-spark/2367_merge_self_via_cte.sql",
      "description": "Insert 8 rows (id, val, doubled=0), then MERGE: for rows where val>4, set doubled=val*2.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2289,
      "write_warm_ms": 1695,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2368_merge_case_in_set",
      "num": 2368,
      "name": "merge_case_in_set",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2368_merge_case_in_set.py",
      "read_script": "generator/df-reads-spark/2368_merge_case_in_set.sql",
      "description": "Initial 5 rows (id, score=0, grade=''). MERGE updates score and grade based on CASE.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1969,
      "write_warm_ms": 1462,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2369_merge_null_safe_match",
      "num": 2369,
      "name": "merge_null_safe_match",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2369_merge_null_safe_match.py",
      "read_script": "generator/df-reads-spark/2369_merge_null_safe_match.sql",
      "description": "ON tgt.id = src.id -> rows with NULL id are not matched. WHEN MATCHED UPDATE name, WHEN NOT MATCHED INSERT.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1661,
      "write_warm_ms": 1782,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/236_default_expression",
      "num": 236,
      "name": "default_expression",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/236_default_expression.py",
      "read_script": "generator/df-reads-spark/236_default_expression.sql",
      "description": "Expression defaults test. 2 rows with deterministic default values.",
      "status": "pass",
      "duration_ms": 22,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 22,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2370_merge_delete_then_reinsert",
      "num": 2370,
      "name": "merge_delete_then_reinsert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2370_merge_delete_then_reinsert.py",
      "read_script": "generator/df-reads-spark/2370_merge_delete_then_reinsert.sql",
      "description": "MERGE deletes rows then a follow-up MERGE re-inserts the same ids",
      "status": "pass",
      "duration_ms": 21,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 21,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1829,
      "write_warm_ms": 1511,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2371_update_multi_set_chain",
      "num": 2371,
      "name": "update_multi_set_chain",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2371_update_multi_set_chain.py",
      "read_script": "generator/df-reads-spark/2371_update_multi_set_chain.sql",
      "description": "Insert 5 rows (id, a=i, b=i*2, c=i*3). (all old values evaluated before any assignment).",
      "status": "pass",
      "duration_ms": 53,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 53,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1617,
      "write_warm_ms": 1709,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2372_full_refresh_pattern",
      "num": 2372,
      "name": "full_refresh_pattern",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2372_full_refresh_pattern.py",
      "read_script": "generator/df-reads-spark/2372_full_refresh_pattern.sql",
      "description": "DELETE all then INSERT fresh rows (ids 100-105, name='fresh').",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1517,
      "write_warm_ms": 2036,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2373_merge_constant_source",
      "num": 2373,
      "name": "merge_constant_source",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2373_merge_constant_source.py",
      "read_script": "generator/df-reads-spark/2373_merge_constant_source.sql",
      "description": "Insert 10 rows (id, status='todo'). Rows 1-5 -> status='done', rows 6-10 -> status='todo'.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1986,
      "write_warm_ms": 1558,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2374_overwrite_schema_preserved",
      "num": 2374,
      "name": "overwrite_schema_preserved",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2374_overwrite_schema_preserved.py",
      "read_script": "generator/df-reads-spark/2374_overwrite_schema_preserved.sql",
      "description": "INSERT OVERWRITE with ids 10-14, name='row_j', score=j*100.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1807,
      "write_warm_ms": 1718,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2375_merge_then_optimize",
      "num": 2375,
      "name": "merge_then_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2375_merge_then_optimize.py",
      "read_script": "generator/df-reads-spark/2375_merge_then_optimize.sql",
      "description": "Insert ids 1-10 (name='orig_i'). MERGE: source ids 5-15, update matched rows, insert new rows. Then OPTIMIZE.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3583,
      "write_warm_ms": 3462,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2376_cdf_read_specific_version",
      "num": 2376,
      "name": "cdf_read_specific_version",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2376_cdf_read_specific_version.py",
      "read_script": "generator/df-reads-spark/2376_cdf_read_specific_version.sql",
      "description": "V0 INSERT 10 / V1 UPDATE 4 / V2 DELETE 3.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4865,
      "write_warm_ms": 4469,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2377_cdf_ending_version_bounded",
      "num": 2377,
      "name": "cdf_ending_version_bounded",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2377_cdf_ending_version_bounded.py",
      "read_script": "generator/df-reads-spark/2377_cdf_ending_version_bounded.sql",
      "description": "9 rows",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5048,
      "write_warm_ms": 4399,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2378_alter_add_then_drop_column",
      "num": 2378,
      "name": "alter_add_then_drop_column",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2378_alter_add_then_drop_column.py",
      "read_script": "generator/df-reads-spark/2378_alter_add_then_drop_column.sql",
      "description": "Column mapping NAME mode. Insert 30 rows. ADD COLUMN extra INT, UPDATE extra=id*7, then DROP COLUMN extra.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4535,
      "write_warm_ms": 4867,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "schema:drop-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2379_alter_rename_column_twice",
      "num": 2379,
      "name": "alter_rename_column_twice",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2379_alter_rename_column_twice.py",
      "read_script": "generator/df-reads-spark/2379_alter_rename_column_twice.sql",
      "description": "Column mapping NAME mode. Insert 25 rows. Rename column a->alpha, alpha->omega. Final logical column name is 'omega'.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2594,
      "write_warm_ms": 2474,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:rename-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/237_default_null_handling",
      "num": 237,
      "name": "default_null_handling",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/237_default_null_handling.py",
      "read_script": "generator/df-reads-spark/237_default_null_handling.sql",
      "description": "NULL handling with defaults. 2 rows. nullable_with_default STRING",
      "status": "pass",
      "duration_ms": 20,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 20,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2380_evolve_add_struct_column",
      "num": 2380,
      "name": "evolve_add_struct_column",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2380_evolve_add_struct_column.py",
      "read_script": "generator/df-reads-spark/2380_evolve_add_struct_column.sql",
      "description": "Insert 20 rows (id, name). ADD COLUMN payload STRUCT<a:INT, b:INT>. Insert 10 more rows (ids 21-30) with payload={a=i, b=i*3}. Old rows have payload=NULL.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5179,
      "write_warm_ms": 4364,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2381_colmap_name_add_column",
      "num": 2381,
      "name": "colmap_name_add_column",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2381_colmap_name_add_column.py",
      "read_script": "generator/df-reads-spark/2381_colmap_name_add_column.sql",
      "description": "Column mapping NAME mode + ADD COLUMN score INT, then UPDATE score=id*11.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4178,
      "write_warm_ms": 4245,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2382_colmap_id_basic_readback",
      "num": 2382,
      "name": "colmap_id_basic_readback",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2382_colmap_id_basic_readback.py",
      "read_script": "generator/df-reads-spark/2382_colmap_id_basic_readback.sql",
      "description": "Column mapping ID mode. 40 rows with id, label='lbl_i', qty=i*2.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1929,
      "write_warm_ms": 1891,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2383_colmap_drop_column",
      "num": 2383,
      "name": "colmap_drop_column",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2383_colmap_drop_column.py",
      "read_script": "generator/df-reads-spark/2383_colmap_drop_column.sql",
      "description": "Column mapping NAME mode. Insert 25 rows (id, keep_me='k_i', drop_me=i*4). DROP COLUMN drop_me. Final schema: {id, keep_me}.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2217,
      "write_warm_ms": 2716,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:drop-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2384_time_travel_version_as_of",
      "num": 2384,
      "name": "time_travel_version_as_of",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2384_time_travel_version_as_of.py",
      "read_script": "generator/df-reads-spark/2384_time_travel_version_as_of.sql",
      "description": "Verify side reads each version with versionAsOf.",
      "status": "pass",
      "duration_ms": 111,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 111,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6460,
      "write_warm_ms": 6127,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2385_time_travel_timestamp_as_of",
      "num": 2385,
      "name": "time_travel_timestamp_as_of",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2385_time_travel_timestamp_as_of.py",
      "read_script": "generator/df-reads-spark/2385_time_travel_timestamp_as_of.sql",
      "description": "Time travel by timestamp resolves to latest state.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4529,
      "write_warm_ms": 4762,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2386_cdc_partition_delete",
      "num": 2386,
      "name": "cdc_partition_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2386_cdc_partition_delete.py",
      "read_script": "generator/df-reads-spark/2386_cdc_partition_delete.sql",
      "description": "CDC + partition. Insert 30 rows (id, region, amount). DELETE WHERE region='ap'. region = {0:'us', 1:'eu', else:'ap'} based on i%3. i%3==2 -> region='ap': ids 2,5,8,...,29 (i=2,5,8,...).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3014,
      "write_warm_ms": 3311,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2387_check_constraint_after_optimize",
      "num": 2387,
      "name": "check_constraint_after_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2387_check_constraint_after_optimize.py",
      "read_script": "generator/df-reads-spark/2387_check_constraint_after_optimize.sql",
      "description": "Insert 50 rows. ADD CONSTRAINT score_pos CHECK (score >= 0). Insert 50 more rows. OPTIMIZE. Constraint metadata survives.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5934,
      "write_warm_ms": 6095,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2388_multi_check_same_column",
      "num": 2388,
      "name": "multi_check_same_column",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2388_multi_check_same_column.py",
      "read_script": "generator/df-reads-spark/2388_multi_check_same_column.sql",
      "description": "Insert 100 rows (id, pct=i). ADD CONSTRAINT pct_lo CHECK (pct >= 0), ADD CONSTRAINT pct_hi CHECK (pct <= 100).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4381,
      "write_warm_ms": 4322,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2389_check_constraint_two_columns",
      "num": 2389,
      "name": "check_constraint_two_columns",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2389_check_constraint_two_columns.py",
      "read_script": "generator/df-reads-spark/2389_check_constraint_two_columns.sql",
      "description": "Insert 50 rows (id, low=i, high=i+10). ADD CONSTRAINT range_ok CHECK (low <= high).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3525,
      "write_warm_ms": 3243,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/238_default_evolution",
      "num": 238,
      "name": "default_evolution",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/238_default_evolution.py",
      "read_script": "generator/df-reads-spark/238_default_evolution.sql",
      "description": "Schema evolution with defaults. Original (id, name), then add status and priority. Old rows have NULL for new columns, row 3 has defaults applied.",
      "status": "pass",
      "duration_ms": 23,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 23,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2390_not_null_via_check",
      "num": 2390,
      "name": "not_null_via_check",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2390_not_null_via_check.py",
      "read_script": "generator/df-reads-spark/2390_not_null_via_check.sql",
      "description": "Insert 40 rows. ADD CONSTRAINT name_nn CHECK (name IS NOT NULL).",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 14,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2986,
      "write_warm_ms": 3595,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2391_cdc_toggle_cycle",
      "num": 2391,
      "name": "cdc_toggle_cycle",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2391_cdc_toggle_cycle.py",
      "read_script": "generator/df-reads-spark/2391_cdc_toggle_cycle.sql",
      "description": "CDC enabled -> disabled -> re-enabled. Final metadata: enableChangeDataFeed=true. 30 rows total (3 batches of 10).",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8237,
      "write_warm_ms": 7430,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2392_cdc_merge_update_images",
      "num": 2392,
      "name": "cdc_merge_update_images",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2392_cdc_merge_update_images.py",
      "read_script": "generator/df-reads-spark/2392_cdc_merge_update_images.sql",
      "description": "CDC + MERGE matched UPDATE. Verify update_preimage/update_postimage events in CDF.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4315,
      "write_warm_ms": 4896,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2393_evolve_then_time_travel",
      "num": 2393,
      "name": "evolve_then_time_travel",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2393_evolve_then_time_travel.py",
      "read_script": "generator/df-reads-spark/2393_evolve_then_time_travel.sql",
      "description": "Time travel to V0 shows only 2-col schema.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4977,
      "write_warm_ms": 5170,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2394_colmap_evolve_add_column",
      "num": 2394,
      "name": "colmap_evolve_add_column",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2394_colmap_evolve_add_column.py",
      "read_script": "generator/df-reads-spark/2394_colmap_evolve_add_column.sql",
      "description": "Column mapping NAME + schema evolution. Insert 20 rows (id, name='r_i'). ADD COLUMN extra INT. Insert 10 more rows (ids 21-30) with extra=i*5. Old rows have extra=NULL.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4438,
      "write_warm_ms": 5258,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2395_cdf_filter_change_type",
      "num": 2395,
      "name": "cdf_filter_change_type",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2395_cdf_filter_change_type.py",
      "read_script": "generator/df-reads-spark/2395_cdf_filter_change_type.sql",
      "description": "CDC mixed INSERT/UPDATE/DELETE. V0: INSERT 20 rows. V1: UPDATE ids<=7 v+=100. V2: DELETE ids 18-20.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5539,
      "write_warm_ms": 4851,
      "tags": [
        "type:integer",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2396_check_and_default_same_column",
      "num": 2396,
      "name": "check_and_default_same_column",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2396_check_and_default_same_column.py",
      "read_script": "generator/df-reads-spark/2396_check_and_default_same_column.sql",
      "description": "DEFAULT 10 on qty column + CHECK (qty >= 0). Insert 30 rows with explicit qty=i.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3893,
      "write_warm_ms": 3149,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2397_set_then_unset_tblproperty",
      "num": 2397,
      "name": "set_then_unset_tblproperty",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2397_set_then_unset_tblproperty.py",
      "read_script": "generator/df-reads-spark/2397_set_then_unset_tblproperty.sql",
      "description": "Insert 15 rows. SET custom.owner='team_x'. UNSET custom.owner. Latest metadata must NOT contain custom.owner.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3252,
      "write_warm_ms": 2980,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2398_time_travel_after_vacuum",
      "num": 2398,
      "name": "time_travel_after_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2398_time_travel_after_vacuum.py",
      "read_script": "generator/df-reads-spark/2398_time_travel_after_vacuum.sql",
      "description": "Insert ids 1-10, then append ids 11-25. VACUUM DRY RUN (non-destructive). Recent versions still time-travel readable.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 18480,
      "write_warm_ms": 17713,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2399_cdf_batch_multi_versions",
      "num": 2399,
      "name": "cdf_batch_multi_versions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2399_cdf_batch_multi_versions.py",
      "read_script": "generator/df-reads-spark/2399_cdf_batch_multi_versions.sql",
      "description": "CDF batch spanning versions 1-3.",
      "status": "pass",
      "duration_ms": 90,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 90,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7925,
      "write_warm_ms": 6663,
      "tags": [
        "type:integer",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/239_default_mixed",
      "num": 239,
      "name": "default_mixed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/239_default_mixed.py",
      "read_script": "generator/df-reads-spark/239_default_mixed.sql",
      "description": "Mixed default types. 3 rows all with the same values. float_default FLOAT, double_default DOUBLE, bool_default BOOLEAN, date_literal STRING, decimal_default DECIMAL(10,2), short_default SMALLINT, byte_default TINYINT",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/23_action_checkpoint_metadata_v2",
      "num": 23,
      "name": "action_checkpoint_metadata_v2",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/23_action_checkpoint_metadata_v2.py",
      "read_script": "generator/df-reads-spark/23_action_checkpoint_metadata_v2.sql",
      "description": "Healthcare Patient Records. 3000 initial rows + 50 emergency admissions. Multiple UPDATEs, DELETEs, MERGE. V2 checkpoint policy.",
      "status": "pass",
      "duration_ms": 30,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 30,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 25804,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2400_colmap_partition_column",
      "num": 2400,
      "name": "colmap_partition_column",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2400_colmap_partition_column.py",
      "read_script": "generator/df-reads-spark/2400_colmap_partition_column.sql",
      "description": "Column mapping NAME + PARTITIONED BY(region). 40 rows with 4 regions.",
      "status": "pass",
      "duration_ms": 35,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 35,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1915,
      "write_warm_ms": 1690,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2401_create_table_inline_check_constraint",
      "num": 2401,
      "name": "create_table_inline_check_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2401_create_table_inline_check_constraint.py",
      "read_script": "generator/df-reads-spark/2401_create_table_inline_check_constraint.sql",
      "description": "Inline CHECK constraint score_pos (score > 0) from CREATE TABLE. Insert 10 rows (id, score=i*5).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3189,
      "write_warm_ms": 3119,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2402_blind_merge_identity",
      "num": 2402,
      "name": "blind_merge_identity",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2402_blind_merge_identity.py",
      "read_script": "generator/df-reads-spark/2402_blind_merge_identity.sql",
      "description": "GENERATED ALWAYS AS IDENTITY table. Insert 10 rows (name='a_i'). MERGE NOT MATCHED only (inserts 8 rows name='b_j'). Insert 5 more (name='c_i').",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1941,
      "write_warm_ms": 2012,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2403_blind_merge_default",
      "num": 2403,
      "name": "blind_merge_default",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2403_blind_merge_default.py",
      "read_script": "generator/df-reads-spark/2403_blind_merge_default.sql",
      "description": "DEFAULT 'pending' on status. Insert 5 rows (id, name, status='ready'). MERGE NOT MATCHED INSERT 11 rows (ids 100-110, status='pending' by default).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1440,
      "write_warm_ms": 1610,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2404_blind_merge_generated",
      "num": 2404,
      "name": "blind_merge_generated",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2404_blind_merge_generated.py",
      "read_script": "generator/df-reads-spark/2404_blind_merge_generated.sql",
      "description": "GENERATED ALWAYS AS (a + b). Insert 6 rows (id, a=i, b=i*10, sum_ab=a+b). MERGE NOT MATCHED INSERT 11 rows (ids 50-60, a=j*2, b=j*20, sum_ab=a+b).",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1748,
      "write_warm_ms": 1721,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2405_cor_remove_partitions_wipes_dirs",
      "num": 2405,
      "name": "cor_remove_partitions_wipes_dirs",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2405_cor_remove_partitions_wipes_dirs.py",
      "read_script": "generator/df-reads-spark/2405_cor_remove_partitions_wipes_dirs.sql",
      "description": "as non-partitioned table, insert 10 flat rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1922,
      "write_warm_ms": 1696,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2406_vacuum_dry_run_no_commit",
      "num": 2406,
      "name": "vacuum_dry_run_no_commit",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2406_vacuum_dry_run_no_commit.py",
      "read_script": "generator/df-reads-spark/2406_vacuum_dry_run_no_commit.sql",
      "description": "Insert 8 rows. DELETE ids > 4. VACUUM DRY RUN (must not write commit).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 15593,
      "write_warm_ms": 17641,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2407_drop_table_preserves_files_when_property_false",
      "num": 2407,
      "name": "drop_table_preserves_files_when_property_false",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2407_drop_table_preserves_files_when_property_false.py",
      "read_script": "generator/df-reads-spark/2407_drop_table_preserves_files_when_property_false.sql",
      "description": "DROP TABLE with dropTableDeletesFiles=false leaves data files. Re-create at same location. Final state: empty table (no data was inserted after re-create).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1297,
      "write_warm_ms": 1343,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2408_drop_table_with_files_overrides_property",
      "num": 2408,
      "name": "drop_table_with_files_overrides_property",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2408_drop_table_with_files_overrides_property.py",
      "read_script": "generator/df-reads-spark/2408_drop_table_with_files_overrides_property.sql",
      "description": "DROP TABLE WITH FILES deletes even when dropTableDeletesFiles=false. Insert 4 rows (id, name='post_i').",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2099,
      "write_warm_ms": 2242,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2409_alter_add_check_constraint",
      "num": 2409,
      "name": "alter_add_check_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2409_alter_add_check_constraint.py",
      "read_script": "generator/df-reads-spark/2409_alter_add_check_constraint.sql",
      "description": "Insert 8 rows (id, score=i*2). ADD CONSTRAINT score_pos CHECK (score > 0).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3786,
      "write_warm_ms": 3297,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/240_default_partial",
      "num": 240,
      "name": "default_partial",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/240_default_partial.py",
      "read_script": "generator/df-reads-spark/240_default_partial.sql",
      "description": "Partial insert testing with defaults. 4 rows.",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2410_foreign_set_warning_message",
      "num": 2410,
      "name": "foreign_set_warning_message",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2410_foreign_set_warning_message.py",
      "read_script": "generator/df-reads-spark/2410_foreign_set_warning_message.sql",
      "description": "SET spark.databricks.* is silently ignored. Insert 7 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1533,
      "write_warm_ms": 1678,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2411_scale_insert_100k_ints",
      "num": 2411,
      "name": "scale_insert_100k_ints",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2411_scale_insert_100k_ints.py",
      "read_script": "generator/df-reads-spark/2411_scale_insert_100k_ints.sql",
      "description": "INSERT 100k rows. id=i, val=(i*7)%9999, label='row_i'.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3268,
      "write_warm_ms": 2999,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2412_scale_insert_100k_mixed_types",
      "num": 2412,
      "name": "scale_insert_100k_mixed_types",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2412_scale_insert_100k_mixed_types.py",
      "read_script": "generator/df-reads-spark/2412_scale_insert_100k_mixed_types.sql",
      "description": "100k rows with mixed types. amount = i * 2.47 rounded to DECIMAL(10,2).",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3460,
      "write_warm_ms": 3602,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2413_scale_delete_half_100k",
      "num": 2413,
      "name": "scale_delete_half_100k",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2413_scale_delete_half_100k.py",
      "read_script": "generator/df-reads-spark/2413_scale_delete_half_100k.sql",
      "description": "INSERT 100k then DELETE WHERE id%2=0. Final: 50000 odd-id rows.",
      "status": "pass",
      "duration_ms": 34,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 34,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5494,
      "write_warm_ms": 5150,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2414_scale_update_all_100k",
      "num": 2414,
      "name": "scale_update_all_100k",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2414_scale_update_all_100k.py",
      "read_script": "generator/df-reads-spark/2414_scale_update_all_100k.sql",
      "description": "INSERT 100k, UPDATE SET val=val+1000. Final: val=(i%500)+1000.",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 10,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2735,
      "write_warm_ms": 2580,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2415_scale_merge_100k_upsert",
      "num": 2415,
      "name": "scale_merge_100k_upsert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2415_scale_merge_100k_upsert.py",
      "read_script": "generator/df-reads-spark/2415_scale_merge_100k_upsert.sql",
      "description": "INSERT 50k (ids 1-50000). MERGE source ids 25001-75000: - ids 25001-50000 matched -> update val/label - ids 50001-75000 not matched -> insert",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2261,
      "write_warm_ms": 2837,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2416_scale_optimize_after_many_inserts",
      "num": 2416,
      "name": "scale_optimize_after_many_inserts",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2416_scale_optimize_after_many_inserts.py",
      "read_script": "generator/df-reads-spark/2416_scale_optimize_after_many_inserts.sql",
      "description": "100 x INSERT 100 rows each, then OPTIMIZE. 10000 rows total.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4865,
      "write_warm_ms": 3935,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2417_scale_many_small_files_200",
      "num": 2417,
      "name": "scale_many_small_files_200",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2417_scale_many_small_files_200.py",
      "read_script": "generator/df-reads-spark/2417_scale_many_small_files_200.sql",
      "description": "200 individual single-row INSERTs. id=i, val=i*3.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2707,
      "write_warm_ms": 1887,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2418_scale_zorder_50k",
      "num": 2418,
      "name": "scale_zorder_50k",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2418_scale_zorder_50k.py",
      "read_script": "generator/df-reads-spark/2418_scale_zorder_50k.sql",
      "description": "INSERT 50k rows then OPTIMIZE ZORDER BY (k, v).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5242,
      "write_warm_ms": 5277,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2419_scale_vacuum_after_heavy_dml",
      "num": 2419,
      "name": "scale_vacuum_after_heavy_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2419_scale_vacuum_after_heavy_dml.py",
      "read_script": "generator/df-reads-spark/2419_scale_vacuum_after_heavy_dml.sql",
      "description": "INSERT 10k + UPDATE 5k + DELETE 3k + VACUUM RETAIN 0 HOURS.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 18996,
      "write_warm_ms": 22251,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/241_default_preserve",
      "num": 241,
      "name": "default_preserve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/241_default_preserve.py",
      "read_script": "generator/df-reads-spark/241_default_preserve.sql",
      "description": "Default metadata preservation. 1 row: (1, 'explicit', 99.99).",
      "status": "pass",
      "duration_ms": 22,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 22,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2420_scale_cdc_100k_inserts",
      "num": 2420,
      "name": "scale_cdc_100k_inserts",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2420_scale_cdc_100k_inserts.py",
      "read_script": "generator/df-reads-spark/2420_scale_cdc_100k_inserts.sql",
      "description": "CDC + INSERT 100k rows. id=i, val=(i*7)%9999, label='row_i'.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2794,
      "write_warm_ms": 2448,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2421_scale_wide_table_50_cols",
      "num": 2421,
      "name": "scale_wide_table_50_cols",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2421_scale_wide_table_50_cols.py",
      "read_script": "generator/df-reads-spark/2421_scale_wide_table_50_cols.sql",
      "description": "50 columns (id + 49 computed). 10k rows. cn = (i*n)%100.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2717,
      "write_warm_ms": 2637,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2422_scale_wide_table_100_cols",
      "num": 2422,
      "name": "scale_wide_table_100_cols",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2422_scale_wide_table_100_cols.py",
      "read_script": "generator/df-reads-spark/2422_scale_wide_table_100_cols.sql",
      "description": "100 columns (id + 99 computed). 5k rows. cn = (i*n)%200.",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2456,
      "write_warm_ms": 2381,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2423_scale_1000_partitions",
      "num": 2423,
      "name": "scale_1000_partitions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2423_scale_1000_partitions.py",
      "read_script": "generator/df-reads-spark/2423_scale_1000_partitions.sql",
      "description": "PARTITIONED BY (part_key). 10k rows, 1000 distinct partition values. id=i, part_key=i%1000, val=(i*7)%9999.",
      "status": "pass",
      "duration_ms": 2008,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 2008,
      "read_warm_ms": 640,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 19211,
      "write_warm_ms": 19198,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2424_scale_nested_struct_3_levels",
      "num": 2424,
      "name": "scale_nested_struct_3_levels",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2424_scale_nested_struct_3_levels.py",
      "read_script": "generator/df-reads-spark/2424_scale_nested_struct_3_levels.sql",
      "description": "STRUCT<a:STRUCT<b:STRUCT<c:INT>>>. 10k rows. data.a.b.c = (i*13)%999, val=i%500.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2355,
      "write_warm_ms": 2350,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:nested-types",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2425_scale_large_arrays",
      "num": 2425,
      "name": "scale_large_arrays",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2425_scale_large_arrays.py",
      "read_script": "generator/df-reads-spark/2425_scale_large_arrays.sql",
      "description": "ARRAY<INT> with 10 elements per row. 1k rows. nums = [i, i*2, i*3, ..., i*10].",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1647,
      "write_warm_ms": 1983,
      "tags": [
        "type:array",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2426_scale_large_maps",
      "num": 2426,
      "name": "scale_large_maps",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2426_scale_large_maps.py",
      "read_script": "generator/df-reads-spark/2426_scale_large_maps.sql",
      "description": "MAP<STRING,INT> with 10 key-value pairs per row. 1k rows. props = {k1: i*1, k2: i*2, ..., k10: i*10}.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2112,
      "write_warm_ms": 2130,
      "tags": [
        "type:integer",
        "type:map",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2427_scale_50_versions",
      "num": 2427,
      "name": "scale_50_versions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2427_scale_50_versions.py",
      "read_script": "generator/df-reads-spark/2427_scale_50_versions.sql",
      "description": "50 sequential INSERT of 100 rows each. 5000 total. Each batch tag = 'vNN_i'.",
      "status": "pass",
      "duration_ms": 159,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 159,
      "read_warm_ms": 51,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 68876,
      "write_warm_ms": 63709,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2428_scale_merge_delete_50k",
      "num": 2428,
      "name": "scale_merge_delete_50k",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2428_scale_merge_delete_50k.py",
      "read_script": "generator/df-reads-spark/2428_scale_merge_delete_50k.sql",
      "description": "INSERT 100k + MERGE DELETE ids<=50000. Final: 50000 rows (ids 50001-100000).",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7286,
      "write_warm_ms": 6385,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2429_scale_sequential_optimize_10x",
      "num": 2429,
      "name": "scale_sequential_optimize_10x",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2429_scale_sequential_optimize_10x.py",
      "read_script": "generator/df-reads-spark/2429_scale_sequential_optimize_10x.sql",
      "description": "10 rounds of (INSERT 1000 + OPTIMIZE). 10000 rows total.",
      "status": "pass",
      "duration_ms": 77,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 77,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 40069,
      "write_warm_ms": 37945,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/242_default_nested",
      "num": 242,
      "name": "default_nested",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/242_default_nested.py",
      "read_script": "generator/df-reads-spark/242_default_nested.sql",
      "description": "Nested struct defaults. 2 rows with struct values. metadata STRUCT<source:STRING, version:INT, status:STRING>, config STRUCT<enabled:BOOLEAN, max_retries:INT>",
      "status": "pass",
      "duration_ms": 27,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 27,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "scale:nested-types",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2430_scale_decimal_38_10_100k",
      "num": 2430,
      "name": "scale_decimal_38_10_100k",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2430_scale_decimal_38_10_100k.py",
      "read_script": "generator/df-reads-spark/2430_scale_decimal_38_10_100k.sql",
      "description": "DECIMAL(38,10) with 100k rows. val = i * 1.0000000001.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2661,
      "write_warm_ms": 2527,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2431_scale_long_strings_10k",
      "num": 2431,
      "name": "scale_long_strings_10k",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2431_scale_long_strings_10k.py",
      "read_script": "generator/df-reads-spark/2431_scale_long_strings_10k.sql",
      "description": "STRING column with 500 'x' chars per row. 10k rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2089,
      "write_warm_ms": 2180,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2432_scale_insert_overwrite_50k",
      "num": 2432,
      "name": "scale_insert_overwrite_50k",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2432_scale_insert_overwrite_50k.py",
      "read_script": "generator/df-reads-spark/2432_scale_insert_overwrite_50k.sql",
      "description": "INSERT 50k, then INSERT OVERWRITE 50k new rows (ids 50001-100000).",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1904,
      "write_warm_ms": 2117,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2433_scale_stats_after_merge",
      "num": 2433,
      "name": "scale_stats_after_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2433_scale_stats_after_merge.py",
      "read_script": "generator/df-reads-spark/2433_scale_stats_after_merge.sql",
      "description": "INSERT 50k + MERGE 25k updates (ids 1-25000 get val=9999, label='updated_i').",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2475,
      "write_warm_ms": 2298,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2434_scale_checkpoint_50_commits",
      "num": 2434,
      "name": "scale_checkpoint_50_commits",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2434_scale_checkpoint_50_commits.py",
      "read_script": "generator/df-reads-spark/2434_scale_checkpoint_50_commits.sql",
      "description": "50 sequential INSERT of 100 rows each. 5000 total. Checkpoint exists.",
      "status": "pass",
      "duration_ms": 239,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 239,
      "read_warm_ms": 23,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 66634,
      "write_warm_ms": 64839,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2435_scale_cdc_heavy_dml",
      "num": 2435,
      "name": "scale_cdc_heavy_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2435_scale_cdc_heavy_dml.py",
      "read_script": "generator/df-reads-spark/2435_scale_cdc_heavy_dml.sql",
      "description": "CDC + INSERT 5k + UPDATE 2k + DELETE 1k. Final: 4000 rows. Ids 1-5000. UPDATE ids<=2000 (val+=10000, tag='updated'). DELETE ids>4000.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6042,
      "write_warm_ms": 5385,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2436_scale_insert_500k",
      "num": 2436,
      "name": "scale_insert_500k",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2436_scale_insert_500k.py",
      "read_script": "generator/df-reads-spark/2436_scale_insert_500k.sql",
      "description": "INSERT 500k rows. id=i, val=(i*7)%9999.",
      "status": "pass",
      "duration_ms": 21,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 21,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4117,
      "write_warm_ms": 4432,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2437_scale_delete_90pct",
      "num": 2437,
      "name": "scale_delete_90pct",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2437_scale_delete_90pct.py",
      "read_script": "generator/df-reads-spark/2437_scale_delete_90pct.sql",
      "description": "INSERT 10k + DELETE WHERE id%10!=0. Final: 1000 rows (multiples of 10).",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4544,
      "write_warm_ms": 4161,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2438_scale_merge_self_join",
      "num": 2438,
      "name": "scale_merge_self_join",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2438_scale_merge_self_join.py",
      "read_script": "generator/df-reads-spark/2438_scale_merge_self_join.sql",
      "description": "INSERT 1k rows (id, val=i). MERGE self: ON id=id, UPDATE val=val*2.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4895,
      "write_warm_ms": 4667,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2439_scale_restore_after_50_versions",
      "num": 2439,
      "name": "scale_restore_after_50_versions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2439_scale_restore_after_50_versions.py",
      "read_script": "generator/df-reads-spark/2439_scale_restore_after_50_versions.sql",
      "description": "50 INSERT batches of 100 rows each, then RESTORE TO VERSION 1.",
      "status": "pass",
      "duration_ms": 159,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 159,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 73815,
      "write_warm_ms": 78714,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/243_cdc_enable",
      "num": 243,
      "name": "cdc_enable",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/243_cdc_enable.py",
      "read_script": "generator/df-reads-spark/243_cdc_enable.sql",
      "description": "CDC enabled. 3 rows with customer data and timestamps.",
      "status": "pass",
      "duration_ms": 27,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 27,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2440_scale_time_travel_20_versions",
      "num": 2440,
      "name": "scale_time_travel_20_versions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2440_scale_time_travel_20_versions.py",
      "read_script": "generator/df-reads-spark/2440_scale_time_travel_20_versions.sql",
      "description": "Version 10 has 500 rows (batches 1-10).",
      "status": "pass",
      "duration_ms": 58,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 58,
      "read_warm_ms": 10,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 28611,
      "write_warm_ms": 27206,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2441_scale_optimize_partitioned_100k",
      "num": 2441,
      "name": "scale_optimize_partitioned_100k",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2441_scale_optimize_partitioned_100k.py",
      "read_script": "generator/df-reads-spark/2441_scale_optimize_partitioned_100k.sql",
      "description": "100000 rows",
      "status": "pass",
      "duration_ms": 22,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 22,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4680,
      "write_warm_ms": 3916,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2442_scale_zorder_multi_col_100k",
      "num": 2442,
      "name": "scale_zorder_multi_col_100k",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2442_scale_zorder_multi_col_100k.py",
      "read_script": "generator/df-reads-spark/2442_scale_zorder_multi_col_100k.sql",
      "description": "100000 rows",
      "status": "pass",
      "duration_ms": 31,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 31,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6093,
      "write_warm_ms": 6422,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2443_scale_merge_100k_three_clause",
      "num": 2443,
      "name": "scale_merge_100k_three_clause",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2443_scale_merge_100k_three_clause.py",
      "read_script": "generator/df-reads-spark/2443_scale_merge_100k_three_clause.sql",
      "description": "100000 rows (100k initial, complex merge)",
      "status": "pass",
      "duration_ms": 21,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 21,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7932,
      "write_warm_ms": 7638,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2444_scale_cdc_merge_100k",
      "num": 2444,
      "name": "scale_cdc_merge_100k",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2444_scale_cdc_merge_100k.py",
      "read_script": "generator/df-reads-spark/2444_scale_cdc_merge_100k.sql",
      "description": "125000 rows (100k initial + 25k inserted by merge)",
      "status": "pass",
      "duration_ms": 24,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 24,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8022,
      "write_warm_ms": 7913,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2445_scale_vacuum_optimize_chain",
      "num": 2445,
      "name": "scale_vacuum_optimize_chain",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2445_scale_vacuum_optimize_chain.py",
      "read_script": "generator/df-reads-spark/2445_scale_vacuum_optimize_chain.sql",
      "description": "8000 rows (5000 after delete + 3000 inserted)",
      "status": "pass",
      "duration_ms": 58,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 58,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 19936,
      "write_warm_ms": 15394,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2446_conflict_update_same_rows_twice",
      "num": 2446,
      "name": "conflict_update_same_rows_twice",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2446_conflict_update_same_rows_twice.py",
      "read_script": "generator/df-reads-spark/2446_conflict_update_same_rows_twice.sql",
      "description": "INSERT 1k rows, UPDATE val=100 WHERE id<=500, UPDATE val=200 WHERE id<=700. ids 1-500 get val=200 (second update overwrites first), ids 501-700 get val=200, ids 701-1000 keep original val (i*10).",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6054,
      "write_warm_ms": 5718,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2447_conflict_delete_then_update_overlap",
      "num": 2447,
      "name": "conflict_delete_then_update_overlap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2447_conflict_delete_then_update_overlap.py",
      "read_script": "generator/df-reads-spark/2447_conflict_delete_then_update_overlap.sql",
      "description": "INSERT 1k rows, DELETE WHERE id%3=0, UPDATE val=999 WHERE id%3=1.",
      "status": "pass",
      "duration_ms": 20,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 20,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5309,
      "write_warm_ms": 5458,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2448_conflict_merge_overlapping",
      "num": 2448,
      "name": "conflict_merge_overlapping",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2448_conflict_merge_overlapping.py",
      "read_script": "generator/df-reads-spark/2448_conflict_merge_overlapping.sql",
      "description": "INSERT 500 (ids 1-500) + MERGE source (ids 250-750). WHEN MATCHED UPDATE val=0, WHEN NOT MATCHED INSERT.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4870,
      "write_warm_ms": 4724,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2449_conflict_insert_delete_reinsert",
      "num": 2449,
      "name": "conflict_insert_delete_reinsert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2449_conflict_insert_delete_reinsert.py",
      "read_script": "generator/df-reads-spark/2449_conflict_insert_delete_reinsert.sql",
      "description": "INSERT 500 (ids 1-500) + DELETE all + INSERT 500 new rows (ids 501-1000).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4490,
      "write_warm_ms": 5280,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/244_cdc_insert",
      "num": 244,
      "name": "cdc_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/244_cdc_insert.py",
      "read_script": "generator/df-reads-spark/244_cdc_insert.sql",
      "description": "- Change Data Feed (CDF) enabled table for insert tracking - Table property: delta.enableChangeDataFeed = true - Simple order tracking schema with timestamps",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:change-data-feed",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2450_conflict_optimize_between_dml",
      "num": 2450,
      "name": "conflict_optimize_between_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2450_conflict_optimize_between_dml.py",
      "read_script": "generator/df-reads-spark/2450_conflict_optimize_between_dml.sql",
      "description": "INSERT 500 + OPTIMIZE + INSERT 500 (ids 501-1000) + DELETE WHERE id<=250.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6698,
      "write_warm_ms": 7438,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2451_conflict_vacuum_between_dml",
      "num": 2451,
      "name": "conflict_vacuum_between_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2451_conflict_vacuum_between_dml.py",
      "read_script": "generator/df-reads-spark/2451_conflict_vacuum_between_dml.sql",
      "description": "INSERT 500 + DELETE WHERE id<=250 + VACUUM RETAIN 0 HOURS + INSERT (ids 501-750).",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 16333,
      "write_warm_ms": 16524,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2452_conflict_restore_then_dml",
      "num": 2452,
      "name": "conflict_restore_then_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2452_conflict_restore_then_dml.py",
      "read_script": "generator/df-reads-spark/2452_conflict_restore_then_dml.sql",
      "description": "INSERT 500 (v1, val=i*10) + UPDATE val=0 (v2) + RESTORE VERSION 1 + INSERT 200 (ids 501-700).",
      "status": "pass",
      "duration_ms": 33,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 33,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 12763,
      "write_warm_ms": 12813,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2453_conflict_merge_self_join",
      "num": 2453,
      "name": "conflict_merge_self_join",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2453_conflict_merge_self_join.py",
      "read_script": "generator/df-reads-spark/2453_conflict_merge_self_join.sql",
      "description": "INSERT 500 rows + MERGE self (source = same table's data) ON id=id WHEN MATCHED UPDATE SET val=val*2. Verify all vals doubled.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6488,
      "write_warm_ms": 5755,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2454_conflict_overwrite_then_merge",
      "num": 2454,
      "name": "conflict_overwrite_then_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2454_conflict_overwrite_then_merge.py",
      "read_script": "generator/df-reads-spark/2454_conflict_overwrite_then_merge.sql",
      "description": "500 rows (ids 1-500, val=id*7)",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5186,
      "write_warm_ms": 5820,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "dml:overwrite",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2455_conflict_schema_evolve_mid_dml",
      "num": 2455,
      "name": "conflict_schema_evolve_mid_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2455_conflict_schema_evolve_mid_dml.py",
      "read_script": "generator/df-reads-spark/2455_conflict_schema_evolve_mid_dml.sql",
      "description": "INSERT 500 (id, val) + ALTER TABLE ADD COLUMN tag STRING + UPDATE SET tag='updated' WHERE id<=250 + INSERT 200 more with tag.",
      "status": "pass",
      "duration_ms": 86,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 86,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5861,
      "write_warm_ms": 6185,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2456_conflict_rename_col_then_update",
      "num": 2456,
      "name": "conflict_rename_col_then_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2456_conflict_rename_col_then_update.py",
      "read_script": "generator/df-reads-spark/2456_conflict_rename_col_then_update.sql",
      "description": "INSERT 500 (id, old_name) + ALTER RENAME COLUMN old_name TO new_name + UPDATE SET new_name='changed' WHERE id<=100. Verify column named new_name, 100 rows='changed'.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4824,
      "write_warm_ms": 4855,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:rename-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2457_conflict_drop_col_then_insert",
      "num": 2457,
      "name": "conflict_drop_col_then_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2457_conflict_drop_col_then_insert.py",
      "read_script": "generator/df-reads-spark/2457_conflict_drop_col_then_insert.sql",
      "description": "INSERT 500 (id, val, extra) + ALTER DROP COLUMN extra + INSERT 200 (id, val).",
      "status": "pass",
      "duration_ms": 22,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 22,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3529,
      "write_warm_ms": 3600,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:drop-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2458_conflict_add_constraint_existing_data",
      "num": 2458,
      "name": "conflict_add_constraint_existing_data",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2458_conflict_add_constraint_existing_data.py",
      "read_script": "generator/df-reads-spark/2458_conflict_add_constraint_existing_data.sql",
      "description": "INSERT 500 rows (val = i*10, always > 0) + ALTER ADD CONSTRAINT chk CHECK (val > 0). Verify constraint in delta log and all vals > 0.",
      "status": "pass",
      "duration_ms": 37,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 37,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3096,
      "write_warm_ms": 3501,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2459_conflict_cdc_rapid_dml",
      "num": 2459,
      "name": "conflict_cdc_rapid_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2459_conflict_cdc_rapid_dml.py",
      "read_script": "generator/df-reads-spark/2459_conflict_cdc_rapid_dml.sql",
      "description": "CDC enabled + INSERT 200 + UPDATE val=val+1 WHERE id<=100 + DELETE WHERE id>180.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6521,
      "write_warm_ms": 5427,
      "tags": [
        "type:integer",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/245_cdc_delete",
      "num": 245,
      "name": "cdc_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/245_cdc_delete.py",
      "read_script": "generator/df-reads-spark/245_cdc_delete.sql",
      "description": "- Change Data Feed (CDF) enabled table for delete tracking - Table property: delta.enableChangeDataFeed = true - Product catalog schema with boolean is_active flag",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2460_conflict_partition_overwrite",
      "num": 2460,
      "name": "conflict_partition_overwrite",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2460_conflict_partition_overwrite.py",
      "read_script": "generator/df-reads-spark/2460_conflict_partition_overwrite.sql",
      "description": "425 rows (na partition replaced)",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 18076,
      "write_warm_ms": 3739,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2461_idempotent_insert_twice",
      "num": 2461,
      "name": "idempotent_insert_twice",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2461_idempotent_insert_twice.py",
      "read_script": "generator/df-reads-spark/2461_idempotent_insert_twice.sql",
      "description": "INSERT 500 (ids 1-500) + INSERT 500 (ids 501-1000). Pure append, no dedup.",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2643,
      "write_warm_ms": 3417,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2462_idempotent_merge_twice",
      "num": 2462,
      "name": "idempotent_merge_twice",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2462_idempotent_merge_twice.py",
      "read_script": "generator/df-reads-spark/2462_idempotent_merge_twice.sql",
      "description": "INSERT 500 + MERGE source 300 (ids 1-300 update val=val+100) + MERGE same source again. Second merge should be idempotent since vals already changed.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 9764,
      "write_warm_ms": 9713,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2463_idempotent_optimize_twice",
      "num": 2463,
      "name": "idempotent_optimize_twice",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2463_idempotent_optimize_twice.py",
      "read_script": "generator/df-reads-spark/2463_idempotent_optimize_twice.sql",
      "description": "INSERT 100 batches of 10 rows each (1000 total) + OPTIMIZE + OPTIMIZE.",
      "status": "pass",
      "duration_ms": 91,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 91,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 17212,
      "write_warm_ms": 14993,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2464_idempotent_vacuum_twice",
      "num": 2464,
      "name": "idempotent_vacuum_twice",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2464_idempotent_vacuum_twice.py",
      "read_script": "generator/df-reads-spark/2464_idempotent_vacuum_twice.sql",
      "description": "INSERT 500 + DELETE 250 + VACUUM RETAIN 0 HOURS + VACUUM RETAIN 0 HOURS.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 22499,
      "write_warm_ms": 24230,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2465_idempotent_zorder_twice",
      "num": 2465,
      "name": "idempotent_zorder_twice",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2465_idempotent_zorder_twice.py",
      "read_script": "generator/df-reads-spark/2465_idempotent_zorder_twice.sql",
      "description": "INSERT 1k rows + ZORDER BY(k) + ZORDER BY(k). Verify 1000 rows intact.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5587,
      "write_warm_ms": 4886,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2466_idempotent_restore_current",
      "num": 2466,
      "name": "idempotent_restore_current",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2466_idempotent_restore_current.py",
      "read_script": "generator/df-reads-spark/2466_idempotent_restore_current.sql",
      "description": "INSERT 500 + UPDATE val=0. Version is 2. RESTORE VERSION 2 (restore to current).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4693,
      "write_warm_ms": 5524,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2467_idempotent_delete_no_match",
      "num": 2467,
      "name": "idempotent_delete_no_match",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2467_idempotent_delete_no_match.py",
      "read_script": "generator/df-reads-spark/2467_idempotent_delete_no_match.sql",
      "description": "INSERT 500 + DELETE WHERE id > 99999 (no rows match). Verify 500 rows unchanged.",
      "status": "pass",
      "duration_ms": 22,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 22,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2688,
      "write_warm_ms": 2731,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2468_idempotent_update_no_change",
      "num": 2468,
      "name": "idempotent_update_no_change",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2468_idempotent_update_no_change.py",
      "read_script": "generator/df-reads-spark/2468_idempotent_update_no_change.sql",
      "description": "INSERT 500 + UPDATE SET val=val WHERE id > 0 (no actual value change). Verify 500 rows with original vals.",
      "status": "pass",
      "duration_ms": 44,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 44,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3798,
      "write_warm_ms": 3667,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2469_idempotent_truncate_empty",
      "num": 2469,
      "name": "idempotent_truncate_empty",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2469_idempotent_truncate_empty.py",
      "read_script": "generator/df-reads-spark/2469_idempotent_truncate_empty.sql",
      "description": "CREATE table + TRUNCATE (already empty). Verify 0 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2390,
      "write_warm_ms": 2416,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "dml:truncate",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/246_cdc_update",
      "num": 246,
      "name": "cdc_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/246_cdc_update.py",
      "read_script": "generator/df-reads-spark/246_cdc_update.sql",
      "description": "CDC with update tracking enabled",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:change-data-feed",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2470_duplicate_merge_dedup",
      "num": 2470,
      "name": "duplicate_merge_dedup",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2470_duplicate_merge_dedup.py",
      "read_script": "generator/df-reads-spark/2470_duplicate_merge_dedup.sql",
      "description": "INSERT 1000 rows with duplicate ids (i%500 as id, so 2 per id).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6248,
      "write_warm_ms": 5234,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2471_conflict_delete_all_reinsert_different",
      "num": 2471,
      "name": "conflict_delete_all_reinsert_different",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2471_conflict_delete_all_reinsert_different.py",
      "read_script": "generator/df-reads-spark/2471_conflict_delete_all_reinsert_different.sql",
      "description": "INSERT 500 (val=i*10) + DELETE all + INSERT 500 (val=i*20).",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6412,
      "write_warm_ms": 5283,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2472_conflict_merge_delete_clause",
      "num": 2472,
      "name": "conflict_merge_delete_clause",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2472_conflict_merge_delete_clause.py",
      "read_script": "generator/df-reads-spark/2472_conflict_merge_delete_clause.sql",
      "description": "250 rows (odd ids with val=999)",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5730,
      "write_warm_ms": 5358,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2473_conflict_interleaved_insert_update",
      "num": 2473,
      "name": "conflict_interleaved_insert_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2473_conflict_interleaved_insert_update.py",
      "read_script": "generator/df-reads-spark/2473_conflict_interleaved_insert_update.sql",
      "description": "INSERT 200 + UPDATE SET val=0 + INSERT 200 (ids 201-400) + UPDATE SET val=1 WHERE id>200.",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6500,
      "write_warm_ms": 6657,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2474_conflict_triple_merge",
      "num": 2474,
      "name": "conflict_triple_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2474_conflict_triple_merge.py",
      "read_script": "generator/df-reads-spark/2474_conflict_triple_merge.sql",
      "description": "INSERT 300 + MERGE 200 (ids 1-200 update val=10) + MERGE 200 (ids 100-300 update val=20) + MERGE 200 (ids 200-400 insert new for 301-400). ids 1-99: val=10, ids 100-200: val=20, ids 201-300: val=20, ids 301-400: val from source.",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 9749,
      "write_warm_ms": 8806,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2475_conflict_optimize_delete_optimize",
      "num": 2475,
      "name": "conflict_optimize_delete_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2475_conflict_optimize_delete_optimize.py",
      "read_script": "generator/df-reads-spark/2475_conflict_optimize_delete_optimize.sql",
      "description": "INSERT 1k in 10 batches + OPTIMIZE + DELETE WHERE id%5=0 + OPTIMIZE.",
      "status": "pass",
      "duration_ms": 31,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 31,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 18423,
      "write_warm_ms": 17419,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2476_conflict_zorder_then_delete",
      "num": 2476,
      "name": "conflict_zorder_then_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2476_conflict_zorder_then_delete.py",
      "read_script": "generator/df-reads-spark/2476_conflict_zorder_then_delete.sql",
      "description": "900 rows (k=0 rows deleted)",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5252,
      "write_warm_ms": 5382,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2477_conflict_cdc_schema_evolve",
      "num": 2477,
      "name": "conflict_cdc_schema_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2477_conflict_cdc_schema_evolve.py",
      "read_script": "generator/df-reads-spark/2477_conflict_cdc_schema_evolve.sql",
      "description": "CDC enabled + INSERT 300 + ALTER ADD COLUMN tag STRING + INSERT 200 with tag.",
      "status": "pass",
      "duration_ms": 106,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 106,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3304,
      "write_warm_ms": 3278,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2478_conflict_identity_after_delete",
      "num": 2478,
      "name": "conflict_identity_after_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2478_conflict_identity_after_delete.py",
      "read_script": "generator/df-reads-spark/2478_conflict_identity_after_delete.sql",
      "description": "IDENTITY column + INSERT 500 (omit id) + DELETE WHERE id<=250 + INSERT 250 (omit id).",
      "status": "pass",
      "duration_ms": 34,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 34,
      "read_warm_ms": 14,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5223,
      "write_warm_ms": 4620,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2479_conflict_default_value_change",
      "num": 2479,
      "name": "conflict_default_value_change",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2479_conflict_default_value_change.py",
      "read_script": "generator/df-reads-spark/2479_conflict_default_value_change.sql",
      "description": "INSERT 300 with explicit vals + INSERT 200 omitting val (gets default 0).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3036,
      "write_warm_ms": 3320,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:default-values",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/247_cdc_version_range",
      "num": 247,
      "name": "cdc_version_range",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/247_cdc_version_range.py",
      "read_script": "generator/df-reads-spark/247_cdc_version_range.sql",
      "description": "2 rows (event_id 1 and 3)",
      "status": "pass",
      "duration_ms": 40,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 40,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2480_conflict_generated_col_source_update",
      "num": 2480,
      "name": "conflict_generated_col_source_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2480_conflict_generated_col_source_update.py",
      "read_script": "generator/df-reads-spark/2480_conflict_generated_col_source_update.sql",
      "description": "(id BIGINT, base INT, computed BIGINT GENERATED ALWAYS AS (base * 2)) INSERT 500 + UPDATE SET base=base+100 WHERE id<=250. Verify computed=base*2 for all rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4208,
      "write_warm_ms": 3944,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2481_unicode_cjk_basic",
      "num": 2481,
      "name": "unicode_cjk_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2481_unicode_cjk_basic.py",
      "read_script": "generator/df-reads-spark/2481_unicode_cjk_basic.sql",
      "description": "500 rows with CJK city names cycling through 5 values. Verifies UTF-8 CJK strings roundtrip through Delta.",
      "status": "pass",
      "duration_ms": 21,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 21,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2523,
      "write_warm_ms": 2253,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2482_unicode_emoji_strings",
      "num": 2482,
      "name": "unicode_emoji_strings",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2482_unicode_emoji_strings.py",
      "read_script": "generator/df-reads-spark/2482_unicode_emoji_strings.sql",
      "description": "500 rows with accented European loanwords as status values. Verifies accented character roundtrip through Delta.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1577,
      "write_warm_ms": 2348,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2483_unicode_accented_european",
      "num": 2483,
      "name": "unicode_accented_european",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2483_unicode_accented_european.py",
      "read_script": "generator/df-reads-spark/2483_unicode_accented_european.sql",
      "description": "500 rows with European accented names cycling through 6 values. Verifies accented character roundtrip through Delta.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1901,
      "write_warm_ms": 1811,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2484_unicode_mixed_scripts",
      "num": 2484,
      "name": "unicode_mixed_scripts",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2484_unicode_mixed_scripts.py",
      "read_script": "generator/df-reads-spark/2484_unicode_mixed_scripts.sql",
      "description": "500 rows mixing Latin + numeric + punctuation patterns. Verifies mixed-script string assembly roundtrips.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2387,
      "write_warm_ms": 2248,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2485_unicode_cyrillic_basic",
      "num": 2485,
      "name": "unicode_cyrillic_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2485_unicode_cyrillic_basic.py",
      "read_script": "generator/df-reads-spark/2485_unicode_cyrillic_basic.sql",
      "description": "500 rows with Cyrillic-transliterated city names cycling through 5 values. Verifies string roundtrip through Delta.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1781,
      "write_warm_ms": 1901,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2486_unicode_long_multibyte",
      "num": 2486,
      "name": "unicode_long_multibyte",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2486_unicode_long_multibyte.py",
      "read_script": "generator/df-reads-spark/2486_unicode_long_multibyte.sql",
      "description": "500 rows with long strings built from REPEAT of multi-char patterns. Each string is 300 characters long.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2352,
      "write_warm_ms": 1991,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2487_unicode_partition_keys",
      "num": 2487,
      "name": "unicode_partition_keys",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2487_unicode_partition_keys.py",
      "read_script": "generator/df-reads-spark/2487_unicode_partition_keys.sql",
      "description": "500 rows partitioned by region with 5 partition values. Verifies partition directories and data integrity.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1502,
      "write_warm_ms": 1390,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2488_unicode_in_map_keys",
      "num": 2488,
      "name": "unicode_in_map_keys",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2488_unicode_in_map_keys.py",
      "read_script": "generator/df-reads-spark/2488_unicode_in_map_keys.sql",
      "description": "500 rows with MAP<STRING, INT> column containing string keys. Verifies map keys and values roundtrip.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1835,
      "write_warm_ms": 1894,
      "tags": [
        "type:integer",
        "type:map",
        "type:string",
        "type:unicode",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2489_unicode_in_struct_fields",
      "num": 2489,
      "name": "unicode_in_struct_fields",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2489_unicode_in_struct_fields.py",
      "read_script": "generator/df-reads-spark/2489_unicode_in_struct_fields.sql",
      "description": "500 rows with STRUCT<first_name:STRING, last_name:STRING> column. Verifies struct string fields roundtrip.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1964,
      "write_warm_ms": 1959,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/248_cdc_timestamp_range",
      "num": 248,
      "name": "cdc_timestamp_range",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/248_cdc_timestamp_range.py",
      "read_script": "generator/df-reads-spark/248_cdc_timestamp_range.sql",
      "description": "CDC queries between timestamps with distinct commit times",
      "status": "pass",
      "duration_ms": 37,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 37,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "delta:change-data-feed",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2490_unicode_after_update",
      "num": 2490,
      "name": "unicode_after_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2490_unicode_after_update.py",
      "read_script": "generator/df-reads-spark/2490_unicode_after_update.sql",
      "description": "INSERT 500 rows with name='original_N', then UPDATE first 250 to 'updated_N'. Verifies 250 updated + 250 original strings.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3839,
      "write_warm_ms": 4048,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2491_unicode_after_optimize",
      "num": 2491,
      "name": "unicode_after_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2491_unicode_after_optimize.py",
      "read_script": "generator/df-reads-spark/2491_unicode_after_optimize.sql",
      "description": "INSERT 500 rows with varied strings in 5 batches, then OPTIMIZE. Verifies all strings preserved after compaction.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7707,
      "write_warm_ms": 8090,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2492_unicode_cdc_roundtrip",
      "num": 2492,
      "name": "unicode_cdc_roundtrip",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2492_unicode_cdc_roundtrip.py",
      "read_script": "generator/df-reads-spark/2492_unicode_cdc_roundtrip.sql",
      "description": "CDC enabled. INSERT 300 rows with strings, then UPDATE 100 strings. Verifies CDF has update images with correct strings.",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4255,
      "write_warm_ms": 3750,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2493_unicode_merge_source",
      "num": 2493,
      "name": "unicode_merge_source",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2493_unicode_merge_source.py",
      "read_script": "generator/df-reads-spark/2493_unicode_merge_source.sql",
      "description": "INSERT 300 target rows, MERGE 200 source rows (ids 201-400). WHEN MATCHED (ids 201-300): UPDATE name. WHEN NOT MATCHED (ids 301-400): INSERT.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4916,
      "write_warm_ms": 4025,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2494_unicode_delete_by_string",
      "num": 2494,
      "name": "unicode_delete_by_string",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2494_unicode_delete_by_string.py",
      "read_script": "generator/df-reads-spark/2494_unicode_delete_by_string.sql",
      "description": "INSERT 500 rows with 5 categories, DELETE WHERE category='Books'. Verifies no 'Books' rows remain (400 rows final).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3909,
      "write_warm_ms": 4071,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2495_unicode_colmap_strings",
      "num": 2495,
      "name": "unicode_colmap_strings",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2495_unicode_colmap_strings.py",
      "read_script": "generator/df-reads-spark/2495_unicode_colmap_strings.sql",
      "description": "Column mapping mode=name with string columns. INSERT 500 rows. Verifies logical names readable.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2113,
      "write_warm_ms": 2091,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2496_special_char_backslash",
      "num": 2496,
      "name": "special_char_backslash",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2496_special_char_backslash.py",
      "read_script": "generator/df-reads-spark/2496_special_char_backslash.sql",
      "description": "500 rows with backslash patterns in val column. Verifies backslash characters roundtrip through Delta.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1841,
      "write_warm_ms": 1855,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2497_special_char_single_quotes",
      "num": 2497,
      "name": "special_char_single_quotes",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2497_special_char_single_quotes.py",
      "read_script": "generator/df-reads-spark/2497_special_char_single_quotes.sql",
      "description": "500 rows with escaped single quotes in strings. Verifies single-quote characters roundtrip through Delta.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2097,
      "write_warm_ms": 1888,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2498_special_char_tab_newline",
      "num": 2498,
      "name": "special_char_tab_newline",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2498_special_char_tab_newline.py",
      "read_script": "generator/df-reads-spark/2498_special_char_tab_newline.sql",
      "description": "500 rows with tab/newline marker strings (avoiding CHR()). Uses descriptive text markers instead of actual control chars.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1710,
      "write_warm_ms": 1768,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2499_special_char_pipe_delimiter",
      "num": 2499,
      "name": "special_char_pipe_delimiter",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2499_special_char_pipe_delimiter.py",
      "read_script": "generator/df-reads-spark/2499_special_char_pipe_delimiter.sql",
      "description": "500 rows with pipe characters in strings. Verifies pipe delimiter chars roundtrip through Delta.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2087,
      "write_warm_ms": 1962,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/249_cdc_partition",
      "num": 249,
      "name": "cdc_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/249_cdc_partition.py",
      "read_script": "generator/df-reads-spark/249_cdc_partition.sql",
      "description": "CDC queries with partition filtering and partition pruning",
      "status": "pass",
      "duration_ms": 23,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 23,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/24_reconciliation_add_remove_sequence",
      "num": 24,
      "name": "reconciliation_add_remove_sequence",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/24_reconciliation_add_remove_sequence.py",
      "read_script": "generator/df-reads-spark/24_reconciliation_add_remove_sequence.sql",
      "description": "complex fleet operations, Box Trucks deleted, vans added",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 8762,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2500_special_char_percent_underscore",
      "num": 2500,
      "name": "special_char_percent_underscore",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2500_special_char_percent_underscore.py",
      "read_script": "generator/df-reads-spark/2500_special_char_percent_underscore.sql",
      "description": "500 rows with SQL wildcard characters (% and _) in strings. Verifies these special chars roundtrip through Delta.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 18807,
      "write_warm_ms": 2956,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2501_unicode_empty_string_vs_null",
      "num": 2501,
      "name": "unicode_empty_string_vs_null",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2501_unicode_empty_string_vs_null.py",
      "read_script": "generator/df-reads-spark/2501_unicode_empty_string_vs_null.sql",
      "description": "500 rows. Half with val='' (empty string), half with val=NULL. Verifies null_count=250, empty string count=250.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2759,
      "write_warm_ms": 2325,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2502_unicode_whitespace_only",
      "num": 2502,
      "name": "unicode_whitespace_only",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2502_unicode_whitespace_only.py",
      "read_script": "generator/df-reads-spark/2502_unicode_whitespace_only.sql",
      "description": "500 rows with whitespace-only strings of varying lengths. Verifies whitespace preserved, distinct_count=4.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2485,
      "write_warm_ms": 2430,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2503_unicode_very_long_string",
      "num": 2503,
      "name": "unicode_very_long_string",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2503_unicode_very_long_string.py",
      "read_script": "generator/df-reads-spark/2503_unicode_very_long_string.sql",
      "description": "500 rows with val = REPEAT('x', 1000). Each string is 1000 chars. Verifies long strings roundtrip.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2160,
      "write_warm_ms": 2189,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2504_unicode_concat_chain",
      "num": 2504,
      "name": "unicode_concat_chain",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2504_unicode_concat_chain.py",
      "read_script": "generator/df-reads-spark/2504_unicode_concat_chain.sql",
      "description": "500 rows with val built from chained CONCATs. Verifies assembled string correctness.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2035,
      "write_warm_ms": 2014,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2505_unicode_case_sensitivity",
      "num": 2505,
      "name": "unicode_case_sensitivity",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2505_unicode_case_sensitivity.py",
      "read_script": "generator/df-reads-spark/2505_unicode_case_sensitivity.sql",
      "description": "500 rows with val alternating between 5 case variants. Verifies distinct_count=5 and case preserved.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2186,
      "write_warm_ms": 1703,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2506_unicode_numeric_strings",
      "num": 2506,
      "name": "unicode_numeric_strings",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2506_unicode_numeric_strings.py",
      "read_script": "generator/df-reads-spark/2506_unicode_numeric_strings.sql",
      "description": "500 rows with val = CAST(i AS STRING). Pure numeric strings. Verifies they stay as strings, not numbers.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 36,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2183,
      "write_warm_ms": 1665,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2507_unicode_leading_trailing_spaces",
      "num": 2507,
      "name": "unicode_leading_trailing_spaces",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2507_unicode_leading_trailing_spaces.py",
      "read_script": "generator/df-reads-spark/2507_unicode_leading_trailing_spaces.sql",
      "description": "500 rows with val = ' N ' (leading+trailing spaces). Verifies spaces are preserved, not trimmed.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2075,
      "write_warm_ms": 1768,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2508_unicode_null_string_operations",
      "num": 2508,
      "name": "unicode_null_string_operations",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2508_unicode_null_string_operations.py",
      "read_script": "generator/df-reads-spark/2508_unicode_null_string_operations.sql",
      "description": "500 rows. Every 5th row has val=NULL, rest have CONCAT result. Verifies null_count=100.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1977,
      "write_warm_ms": 1947,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2509_unicode_string_in_partition_prune",
      "num": 2509,
      "name": "unicode_string_in_partition_prune",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2509_unicode_string_in_partition_prune.py",
      "read_script": "generator/df-reads-spark/2509_unicode_string_in_partition_prune.sql",
      "description": "PARTITIONED BY(category). INSERT 500 rows with 5 categories. Filter by category='Books' should partition-prune.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1657,
      "write_warm_ms": 1235,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/250_cdc_merge",
      "num": 250,
      "name": "cdc_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/250_cdc_merge.py",
      "read_script": "generator/df-reads-spark/250_cdc_merge.sql",
      "description": "MERGE operations create correct CDC records",
      "status": "pass",
      "duration_ms": 21,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 21,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:change-data-feed",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2510_unicode_string_min_max_stats",
      "num": 2510,
      "name": "unicode_string_min_max_stats",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2510_unicode_string_min_max_stats.py",
      "read_script": "generator/df-reads-spark/2510_unicode_string_min_max_stats.sql",
      "description": "INSERT 500 rows with val from 'aaa_001' to 'aaa_500'. Verifies min/max lexicographic correctness.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1680,
      "write_warm_ms": 1993,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2511_unicode_string_distinct_count",
      "num": 2511,
      "name": "unicode_string_distinct_count",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2511_unicode_string_distinct_count.py",
      "read_script": "generator/df-reads-spark/2511_unicode_string_distinct_count.sql",
      "description": "500 rows, 10 distinct categories",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1654,
      "write_warm_ms": 2027,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2512_unicode_string_group_distribution",
      "num": 2512,
      "name": "unicode_string_group_distribution",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2512_unicode_string_group_distribution.py",
      "read_script": "generator/df-reads-spark/2512_unicode_string_group_distribution.sql",
      "description": "INSERT 500 rows with 5 groups of 100 each. Verifies count per group = 100.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1583,
      "write_warm_ms": 2058,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2513_unicode_update_string_conditional",
      "num": 2513,
      "name": "unicode_update_string_conditional",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2513_unicode_update_string_conditional.py",
      "read_script": "generator/df-reads-spark/2513_unicode_update_string_conditional.sql",
      "description": "INSERT 500 rows, then two UPDATE statements: UPDATE SET status='active' WHERE id > 250 UPDATE SET status='inactive' WHERE id <= 250 Verifies 250 active + 250 inactive.",
      "status": "pass",
      "duration_ms": 45,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 45,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 10040,
      "write_warm_ms": 8751,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2514_unicode_merge_string_key",
      "num": 2514,
      "name": "unicode_merge_string_key",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2514_unicode_merge_string_key.py",
      "read_script": "generator/df-reads-spark/2514_unicode_merge_string_key.sql",
      "description": "INSERT 300 rows (name as key). MERGE 200 source matching on name. Matched rows (first 100) get val updated. Unmatched (ids 301-400) inserted.",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6609,
      "write_warm_ms": 4533,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2515_unicode_constraint_on_string",
      "num": 2515,
      "name": "unicode_constraint_on_string",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2515_unicode_constraint_on_string.py",
      "read_script": "generator/df-reads-spark/2515_unicode_constraint_on_string.sql",
      "description": "INSERT 500 rows, then ADD CONSTRAINT CHECK (LENGTH(name) > 0). Verifies constraint in log and all names non-empty.",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3644,
      "write_warm_ms": 3366,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2516_v2_checkpoint_basic_insert",
      "num": 2516,
      "name": "v2_checkpoint_basic_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2516_v2_checkpoint_basic_insert.py",
      "read_script": "generator/df-reads-spark/2516_v2_checkpoint_basic_insert.sql",
      "description": "V2 checkpoint policy with checkpointInterval=5.",
      "status": "pass",
      "duration_ms": 25,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 25,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8063,
      "write_warm_ms": 7090,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2517_v2_checkpoint_after_merge",
      "num": 2517,
      "name": "v2_checkpoint_after_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2517_v2_checkpoint_after_merge.py",
      "read_script": "generator/df-reads-spark/2517_v2_checkpoint_after_merge.sql",
      "description": "V2 checkpoint after INSERT + MERGE + additional INSERTs to trigger checkpoint.",
      "status": "pass",
      "duration_ms": 36,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 36,
      "read_warm_ms": 10,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 9025,
      "write_warm_ms": 8853,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2518_v2_checkpoint_after_delete",
      "num": 2518,
      "name": "v2_checkpoint_after_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2518_v2_checkpoint_after_delete.py",
      "read_script": "generator/df-reads-spark/2518_v2_checkpoint_after_delete.sql",
      "description": "V2 checkpoint after INSERT + DELETE + enough ops to trigger checkpoint.",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8051,
      "write_warm_ms": 7756,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2519_v2_checkpoint_with_cdc",
      "num": 2519,
      "name": "v2_checkpoint_with_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2519_v2_checkpoint_with_cdc.py",
      "read_script": "generator/df-reads-spark/2519_v2_checkpoint_with_cdc.sql",
      "description": "V2 checkpoint + CDC. INSERT 500, UPDATE 200, trigger checkpoint.",
      "status": "pass",
      "duration_ms": 25,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 25,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8913,
      "write_warm_ms": 7352,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/251_cdc_retention",
      "num": 251,
      "name": "cdc_retention",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/251_cdc_retention.py",
      "read_script": "generator/df-reads-spark/251_cdc_retention.sql",
      "description": "CDC file retention and cleanup behavior",
      "status": "pass",
      "duration_ms": 59,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 59,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2520_v2_checkpoint_with_colmap",
      "num": 2520,
      "name": "v2_checkpoint_with_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2520_v2_checkpoint_with_colmap.py",
      "read_script": "generator/df-reads-spark/2520_v2_checkpoint_with_colmap.sql",
      "description": "V2 checkpoint + column mapping (name mode). INSERT 500 + trigger checkpoint.",
      "status": "pass",
      "duration_ms": 27,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 27,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7294,
      "write_warm_ms": 6425,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2521_v2_checkpoint_with_dv",
      "num": 2521,
      "name": "v2_checkpoint_with_dv",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2521_v2_checkpoint_with_dv.py",
      "read_script": "generator/df-reads-spark/2521_v2_checkpoint_with_dv.sql",
      "description": "V2 checkpoint + deletion vectors. INSERT 500, DELETE 200 (via DV), trigger checkpoint.",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7495,
      "write_warm_ms": 8170,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2522_v2_checkpoint_with_constraints",
      "num": 2522,
      "name": "v2_checkpoint_with_constraints",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2522_v2_checkpoint_with_constraints.py",
      "read_script": "generator/df-reads-spark/2522_v2_checkpoint_with_constraints.sql",
      "description": "V2 checkpoint + CHECK constraint. INSERT 500, ADD CONSTRAINT, trigger checkpoint.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7404,
      "write_warm_ms": 7102,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2523_v2_checkpoint_with_identity",
      "num": 2523,
      "name": "v2_checkpoint_with_identity",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2523_v2_checkpoint_with_identity.py",
      "read_script": "generator/df-reads-spark/2523_v2_checkpoint_with_identity.sql",
      "description": "V2 checkpoint + IDENTITY column. INSERT 500 omitting id, trigger checkpoint.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6652,
      "write_warm_ms": 6469,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2524_v2_checkpoint_schema_evolve",
      "num": 2524,
      "name": "v2_checkpoint_schema_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2524_v2_checkpoint_schema_evolve.py",
      "read_script": "generator/df-reads-spark/2524_v2_checkpoint_schema_evolve.sql",
      "description": "V2 checkpoint + schema evolution. INSERT 300, ALTER ADD COLUMN, INSERT 200, trigger checkpoint.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4915,
      "write_warm_ms": 4745,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2525_v2_checkpoint_after_optimize",
      "num": 2525,
      "name": "v2_checkpoint_after_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2525_v2_checkpoint_after_optimize.py",
      "read_script": "generator/df-reads-spark/2525_v2_checkpoint_after_optimize.sql",
      "description": "V2 checkpoint after INSERT 1000 in 10 batches + OPTIMIZE.",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 16063,
      "write_warm_ms": 17847,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2526_domain_metadata_basic",
      "num": 2526,
      "name": "domain_metadata_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2526_domain_metadata_basic.py",
      "read_script": "generator/df-reads-spark/2526_domain_metadata_basic.sql",
      "description": "Domain metadata feature enabled. INSERT 500 rows.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2197,
      "write_warm_ms": 1785,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2527_domain_metadata_after_optimize",
      "num": 2527,
      "name": "domain_metadata_after_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2527_domain_metadata_after_optimize.py",
      "read_script": "generator/df-reads-spark/2527_domain_metadata_after_optimize.sql",
      "description": "Domain metadata + INSERT 500 + OPTIMIZE. Verify data + metadata persists.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3454,
      "write_warm_ms": 3548,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2528_domain_metadata_after_vacuum",
      "num": 2528,
      "name": "domain_metadata_after_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2528_domain_metadata_after_vacuum.py",
      "read_script": "generator/df-reads-spark/2528_domain_metadata_after_vacuum.sql",
      "description": "Domain metadata + INSERT 500 + DELETE 200 + VACUUM RETAIN 0 HOURS.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 16061,
      "write_warm_ms": 14408,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2529_domain_metadata_with_cdc",
      "num": 2529,
      "name": "domain_metadata_with_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2529_domain_metadata_with_cdc.py",
      "read_script": "generator/df-reads-spark/2529_domain_metadata_with_cdc.sql",
      "description": "Domain metadata + CDC. INSERT 300 + UPDATE 100.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4794,
      "write_warm_ms": 3990,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/252_cdc_schema",
      "num": 252,
      "name": "cdc_schema",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/252_cdc_schema.py",
      "read_script": "generator/df-reads-spark/252_cdc_schema.sql",
      "description": "CDC with schema changes",
      "status": "pass",
      "duration_ms": 28,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 28,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2530_domain_metadata_with_merge",
      "num": 2530,
      "name": "domain_metadata_with_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2530_domain_metadata_with_merge.py",
      "read_script": "generator/df-reads-spark/2530_domain_metadata_with_merge.sql",
      "description": "Domain metadata + INSERT 300 + MERGE 200.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4738,
      "write_warm_ms": 3949,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2531_domain_metadata_schema_evolve",
      "num": 2531,
      "name": "domain_metadata_schema_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2531_domain_metadata_schema_evolve.py",
      "read_script": "generator/df-reads-spark/2531_domain_metadata_schema_evolve.sql",
      "description": "Domain metadata + INSERT 300 + ALTER ADD COLUMN + INSERT 200.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3357,
      "write_warm_ms": 3006,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2532_domain_metadata_with_colmap",
      "num": 2532,
      "name": "domain_metadata_with_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2532_domain_metadata_with_colmap.py",
      "read_script": "generator/df-reads-spark/2532_domain_metadata_with_colmap.sql",
      "description": "Domain metadata + column mapping (name mode). INSERT 500.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1785,
      "write_warm_ms": 1979,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2533_rowtrack_basic_insert",
      "num": 2533,
      "name": "rowtrack_basic_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2533_rowtrack_basic_insert.py",
      "read_script": "generator/df-reads-spark/2533_rowtrack_basic_insert.sql",
      "description": "Row tracking enabled. INSERT 500 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1895,
      "write_warm_ms": 2102,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2534_rowtrack_after_update",
      "num": 2534,
      "name": "rowtrack_after_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2534_rowtrack_after_update.py",
      "read_script": "generator/df-reads-spark/2534_rowtrack_after_update.sql",
      "description": "Row tracking + INSERT 500 + UPDATE 250.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4232,
      "write_warm_ms": 4554,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2535_rowtrack_after_delete",
      "num": 2535,
      "name": "rowtrack_after_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2535_rowtrack_after_delete.py",
      "read_script": "generator/df-reads-spark/2535_rowtrack_after_delete.sql",
      "description": "Row tracking + INSERT 500 + DELETE 200.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3718,
      "write_warm_ms": 3355,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2536_rowtrack_after_merge",
      "num": 2536,
      "name": "rowtrack_after_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2536_rowtrack_after_merge.py",
      "read_script": "generator/df-reads-spark/2536_rowtrack_after_merge.sql",
      "description": "Row tracking + INSERT 300 + MERGE 200.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4755,
      "write_warm_ms": 4440,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2537_rowtrack_after_optimize",
      "num": 2537,
      "name": "rowtrack_after_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2537_rowtrack_after_optimize.py",
      "read_script": "generator/df-reads-spark/2537_rowtrack_after_optimize.sql",
      "description": "Row tracking + INSERT 1000 in 10 batches + OPTIMIZE.",
      "status": "pass",
      "duration_ms": 30,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 30,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 21613,
      "write_warm_ms": 20384,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2538_rowtrack_with_cdc",
      "num": 2538,
      "name": "rowtrack_with_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2538_rowtrack_with_cdc.py",
      "read_script": "generator/df-reads-spark/2538_rowtrack_with_cdc.sql",
      "description": "Row tracking + CDC. INSERT 300 + UPDATE 100 + DELETE 50.",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5984,
      "write_warm_ms": 5914,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2539_rowtrack_with_colmap",
      "num": 2539,
      "name": "rowtrack_with_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2539_rowtrack_with_colmap.py",
      "read_script": "generator/df-reads-spark/2539_rowtrack_with_colmap.sql",
      "description": "Row tracking + column mapping (name mode). INSERT 500.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1802,
      "write_warm_ms": 1931,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/253_ict_enable",
      "num": 253,
      "name": "ict_enable",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/253_ict_enable.py",
      "read_script": "generator/df-reads-spark/253_ict_enable.sql",
      "description": "ICT enabled. INSERT 2 rows.",
      "status": "pass",
      "duration_ms": 24,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 24,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2540_rowtrack_with_dv",
      "num": 2540,
      "name": "rowtrack_with_dv",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2540_rowtrack_with_dv.py",
      "read_script": "generator/df-reads-spark/2540_rowtrack_with_dv.sql",
      "description": "Row tracking + DVs. INSERT 500 + DELETE 200.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3427,
      "write_warm_ms": 3434,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2541_ict_basic_insert",
      "num": 2541,
      "name": "ict_basic_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2541_ict_basic_insert.py",
      "read_script": "generator/df-reads-spark/2541_ict_basic_insert.sql",
      "description": "ICT enabled. INSERT 500 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1842,
      "write_warm_ms": 1677,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2542_ict_after_merge",
      "num": 2542,
      "name": "ict_after_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2542_ict_after_merge.py",
      "read_script": "generator/df-reads-spark/2542_ict_after_merge.sql",
      "description": "ICT + INSERT 300 + MERGE 200.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4449,
      "write_warm_ms": 3815,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2543_ict_after_update",
      "num": 2543,
      "name": "ict_after_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2543_ict_after_update.py",
      "read_script": "generator/df-reads-spark/2543_ict_after_update.sql",
      "description": "ICT + INSERT 500 + UPDATE 250.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4179,
      "write_warm_ms": 4221,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2544_ict_after_restore",
      "num": 2544,
      "name": "ict_after_restore",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2544_ict_after_restore.py",
      "read_script": "generator/df-reads-spark/2544_ict_after_restore.sql",
      "description": "ICT + INSERT 500 + UPDATE 250 + RESTORE VERSION 1.",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 9979,
      "write_warm_ms": 10618,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2545_ict_with_cdc",
      "num": 2545,
      "name": "ict_with_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2545_ict_with_cdc.py",
      "read_script": "generator/df-reads-spark/2545_ict_with_cdc.sql",
      "description": "ICT + CDC. INSERT 300 + UPDATE 100.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5464,
      "write_warm_ms": 4205,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2546_ict_with_schema_evolve",
      "num": 2546,
      "name": "ict_with_schema_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2546_ict_with_schema_evolve.py",
      "read_script": "generator/df-reads-spark/2546_ict_with_schema_evolve.sql",
      "description": "ICT + INSERT 300 + ALTER ADD COLUMN + INSERT 200.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3300,
      "write_warm_ms": 3278,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2547_ict_with_time_travel",
      "num": 2547,
      "name": "ict_with_time_travel",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2547_ict_with_time_travel.py",
      "read_script": "generator/df-reads-spark/2547_ict_with_time_travel.sql",
      "description": "ICT + time travel. INSERT 300 (v1) + INSERT 200 (v2).",
      "status": "pass",
      "duration_ms": 68,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 68,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4468,
      "write_warm_ms": 4666,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2548_ict_rowtrack_combined",
      "num": 2548,
      "name": "ict_rowtrack_combined",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2548_ict_rowtrack_combined.py",
      "read_script": "generator/df-reads-spark/2548_ict_rowtrack_combined.sql",
      "description": "ICT + rowTracking combined. INSERT 500 + UPDATE 250.",
      "status": "pass",
      "duration_ms": 46,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 46,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3999,
      "write_warm_ms": 4119,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2549_ict_rowtrack_cdc",
      "num": 2549,
      "name": "ict_rowtrack_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2549_ict_rowtrack_cdc.py",
      "read_script": "generator/df-reads-spark/2549_ict_rowtrack_cdc.sql",
      "description": "ICT + rowTracking + CDC. INSERT 300 + UPDATE 100 + DELETE 50.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7264,
      "write_warm_ms": 6123,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/254_ict_write",
      "num": 254,
      "name": "ict_write",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/254_ict_write.py",
      "read_script": "generator/df-reads-spark/254_ict_write.sql",
      "description": "ICT enabled. INSERT 1 row with DECIMAL.",
      "status": "pass",
      "duration_ms": 22,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 22,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2550_v2_ckpt_ict_rowtrack",
      "num": 2550,
      "name": "v2_ckpt_ict_rowtrack",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2550_v2_ckpt_ict_rowtrack.py",
      "read_script": "generator/df-reads-spark/2550_v2_ckpt_ict_rowtrack.sql",
      "description": "V2 checkpoint + ICT + rowTracking. INSERT 500 + 4 batches of 10.",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8421,
      "write_warm_ms": 8610,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2551_widen_int_to_bigint_basic",
      "num": 2551,
      "name": "widen_int_to_bigint_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2551_widen_int_to_bigint_basic.py",
      "read_script": "generator/df-reads-spark/2551_widen_int_to_bigint_basic.sql",
      "description": "INT to BIGINT widening. V1: INSERT 500. V2: ALTER TYPE. V3: INSERT 200 with large BIGINT.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3747,
      "write_warm_ms": 3779,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2552_widen_float_to_double",
      "num": 2552,
      "name": "widen_float_to_double",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2552_widen_float_to_double.py",
      "read_script": "generator/df-reads-spark/2552_widen_float_to_double.sql",
      "description": "FLOAT to DOUBLE widening.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3427,
      "write_warm_ms": 3104,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2553_widen_decimal_scale",
      "num": 2553,
      "name": "widen_decimal_scale",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2553_widen_decimal_scale.py",
      "read_script": "generator/df-reads-spark/2553_widen_decimal_scale.sql",
      "description": "Simulates DECIMAL(10,2) to DECIMAL(10,4) widening without ALTER COLUMN (Spark OSS 4.0 does not support ALTER COLUMN type changes). Table is created with the wider type DECIMAL(10,4) from the start.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2652,
      "write_warm_ms": 2876,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2554_widen_int_to_bigint_with_merge",
      "num": 2554,
      "name": "widen_int_to_bigint_with_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2554_widen_int_to_bigint_with_merge.py",
      "read_script": "generator/df-reads-spark/2554_widen_int_to_bigint_with_merge.sql",
      "description": "INT to BIGINT widening + MERGE.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5175,
      "write_warm_ms": 6024,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:type-widening",
        "scale:large-dataset",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2555_widen_int_to_bigint_with_cdc",
      "num": 2555,
      "name": "widen_int_to_bigint_with_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2555_widen_int_to_bigint_with_cdc.py",
      "read_script": "generator/df-reads-spark/2555_widen_int_to_bigint_with_cdc.sql",
      "description": "Simulates INT to BIGINT widening on CDC-enabled table without ALTER COLUMN (Spark OSS 4.0 does not support ALTER COLUMN type changes). Table is created with BIGINT from the start, CDC enabled.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2906,
      "write_warm_ms": 2809,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2556_widen_float_to_double_optimize",
      "num": 2556,
      "name": "widen_float_to_double_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2556_widen_float_to_double_optimize.py",
      "read_script": "generator/df-reads-spark/2556_widen_float_to_double_optimize.sql",
      "description": "FLOAT to DOUBLE widening + OPTIMIZE.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4289,
      "write_warm_ms": 4599,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2557_widen_int_to_bigint_partitioned",
      "num": 2557,
      "name": "widen_int_to_bigint_partitioned",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2557_widen_int_to_bigint_partitioned.py",
      "read_script": "generator/df-reads-spark/2557_widen_int_to_bigint_partitioned.sql",
      "description": "INT to BIGINT widening on partitioned table.",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3278,
      "write_warm_ms": 2911,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2558_widen_multiple_cols",
      "num": 2558,
      "name": "widen_multiple_cols",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2558_widen_multiple_cols.py",
      "read_script": "generator/df-reads-spark/2558_widen_multiple_cols.sql",
      "description": "Widening two columns: INT->BIGINT and FLOAT->DOUBLE.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1877,
      "write_warm_ms": 2203,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2559_widen_with_check_constraint",
      "num": 2559,
      "name": "widen_with_check_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2559_widen_with_check_constraint.py",
      "read_script": "generator/df-reads-spark/2559_widen_with_check_constraint.sql",
      "description": "Simulates INT to BIGINT widening with CHECK constraint without ALTER COLUMN (Spark OSS 4.0 does not support ALTER COLUMN type changes). Table is created with BIGINT from the start, CHECK constraint added after first batch.",
      "status": "pass",
      "duration_ms": 65,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 65,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4022,
      "write_warm_ms": 4387,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/255_ict_ordering",
      "num": 255,
      "name": "ict_ordering",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/255_ict_ordering.py",
      "read_script": "generator/df-reads-spark/255_ict_ordering.sql",
      "description": "ICT ordering. 10 separate INSERTs to create 10 commits.",
      "status": "pass",
      "duration_ms": 54,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 54,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2560_widen_with_default",
      "num": 2560,
      "name": "widen_with_default",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2560_widen_with_default.py",
      "read_script": "generator/df-reads-spark/2560_widen_with_default.sql",
      "description": "Simulates INT to BIGINT widening with DEFAULT value without ALTER COLUMN (Spark OSS 4.0 does not support ALTER COLUMN type changes). Table is created with BIGINT from the start, DEFAULT set after first batch.",
      "status": "pass",
      "duration_ms": 25,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 25,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2501,
      "write_warm_ms": 3336,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2561_widen_then_zorder",
      "num": 2561,
      "name": "widen_then_zorder",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2561_widen_then_zorder.py",
      "read_script": "generator/df-reads-spark/2561_widen_then_zorder.sql",
      "description": "INT to BIGINT widening + ZORDER BY(val).",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4990,
      "write_warm_ms": 3879,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2562_widen_chain_int_bigint",
      "num": 2562,
      "name": "widen_chain_int_bigint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2562_widen_chain_int_bigint.py",
      "read_script": "generator/df-reads-spark/2562_widen_chain_int_bigint.sql",
      "description": "INT insert -> ALTER BIGINT -> BIGINT insert.",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3319,
      "write_warm_ms": 3136,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2563_widen_decimal_precision",
      "num": 2563,
      "name": "widen_decimal_precision",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2563_widen_decimal_precision.py",
      "read_script": "generator/df-reads-spark/2563_widen_decimal_precision.sql",
      "description": "DECIMAL(18,6) to DECIMAL(28,6) widening.",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3230,
      "write_warm_ms": 2926,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2564_widen_with_identity",
      "num": 2564,
      "name": "widen_with_identity",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2564_widen_with_identity.py",
      "read_script": "generator/df-reads-spark/2564_widen_with_identity.sql",
      "description": "IDENTITY column preserved after widening another column.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2193,
      "write_warm_ms": 2013,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2565_widen_after_delete",
      "num": 2565,
      "name": "widen_after_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2565_widen_after_delete.py",
      "read_script": "generator/df-reads-spark/2565_widen_after_delete.sql",
      "description": "INSERT + DELETE + ALTER widen + INSERT with BIGINT.",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5625,
      "write_warm_ms": 4790,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2566_truncate_basic_verify_empty",
      "num": 2566,
      "name": "truncate_basic_verify_empty",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2566_truncate_basic_verify_empty.py",
      "read_script": "generator/df-reads-spark/2566_truncate_basic_verify_empty.sql",
      "description": "INSERT + TRUNCATE. Table is empty after truncate.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3703,
      "write_warm_ms": 3724,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:truncate",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2567_truncate_then_reinsert",
      "num": 2567,
      "name": "truncate_then_reinsert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2567_truncate_then_reinsert.py",
      "read_script": "generator/df-reads-spark/2567_truncate_then_reinsert.sql",
      "description": "INSERT + TRUNCATE + re-INSERT.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5343,
      "write_warm_ms": 5548,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:truncate",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2568_truncate_with_cdc",
      "num": 2568,
      "name": "truncate_with_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2568_truncate_with_cdc.py",
      "read_script": "generator/df-reads-spark/2568_truncate_with_cdc.sql",
      "description": "TRUNCATE on CDC-enabled table.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3757,
      "write_warm_ms": 3346,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:truncate",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2569_truncate_with_identity",
      "num": 2569,
      "name": "truncate_with_identity",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2569_truncate_with_identity.py",
      "read_script": "generator/df-reads-spark/2569_truncate_with_identity.sql",
      "description": "IDENTITY + INSERT + TRUNCATE + INSERT (IDs continue from 501+).",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5661,
      "write_warm_ms": 4917,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:truncate",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/256_ict_time_travel",
      "num": 256,
      "name": "ict_time_travel",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/256_ict_time_travel.py",
      "read_script": "generator/df-reads-spark/256_ict_time_travel.sql",
      "description": "ICT time travel. INSERT 2 rows + UPDATE 1.",
      "status": "pass",
      "duration_ms": 38,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 38,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2570_truncate_with_constraints",
      "num": 2570,
      "name": "truncate_with_constraints",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2570_truncate_with_constraints.py",
      "read_script": "generator/df-reads-spark/2570_truncate_with_constraints.sql",
      "description": "CHECK constraint + INSERT + TRUNCATE + INSERT.",
      "status": "pass",
      "duration_ms": 112,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 112,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6304,
      "write_warm_ms": 6282,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:truncate",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2571_truncate_with_colmap",
      "num": 2571,
      "name": "truncate_with_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2571_truncate_with_colmap.py",
      "read_script": "generator/df-reads-spark/2571_truncate_with_colmap.sql",
      "description": "Column mapping + INSERT + TRUNCATE + INSERT.",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5296,
      "write_warm_ms": 5117,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:truncate",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2572_truncate_partitioned",
      "num": 2572,
      "name": "truncate_partitioned",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2572_truncate_partitioned.py",
      "read_script": "generator/df-reads-spark/2572_truncate_partitioned.sql",
      "description": "TRUNCATE on partitioned table.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2807,
      "write_warm_ms": 3082,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:truncate",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2573_truncate_then_optimize",
      "num": 2573,
      "name": "truncate_then_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2573_truncate_then_optimize.py",
      "read_script": "generator/df-reads-spark/2573_truncate_then_optimize.sql",
      "description": "TRUNCATE + INSERT in 10 batches + OPTIMIZE.",
      "status": "pass",
      "duration_ms": 29,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 29,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 18208,
      "write_warm_ms": 17298,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:truncate",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2574_truncate_then_schema_evolve",
      "num": 2574,
      "name": "truncate_then_schema_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2574_truncate_then_schema_evolve.py",
      "read_script": "generator/df-reads-spark/2574_truncate_then_schema_evolve.sql",
      "description": "TRUNCATE + ALTER ADD COLUMN + INSERT with new column.",
      "status": "pass",
      "duration_ms": 46,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 46,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6300,
      "write_warm_ms": 6211,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:truncate",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2575_truncate_time_travel",
      "num": 2575,
      "name": "truncate_time_travel",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2575_truncate_time_travel.py",
      "read_script": "generator/df-reads-spark/2575_truncate_time_travel.sql",
      "description": "INSERT (v1) + TRUNCATE (v2). Time travel: v1 = 500 rows, v2 = 0 rows.",
      "status": "pass",
      "duration_ms": 21,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 21,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4994,
      "write_warm_ms": 4743,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:truncate",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2576_truncate_with_generated",
      "num": 2576,
      "name": "truncate_with_generated",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2576_truncate_with_generated.py",
      "read_script": "generator/df-reads-spark/2576_truncate_with_generated.sql",
      "description": "Generated column (computed = base*2) + INSERT + TRUNCATE + INSERT.",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5108,
      "write_warm_ms": 4708,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:truncate",
        "delta:deletion-vectors",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2577_truncate_multiple_cycles",
      "num": 2577,
      "name": "truncate_multiple_cycles",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2577_truncate_multiple_cycles.py",
      "read_script": "generator/df-reads-spark/2577_truncate_multiple_cycles.sql",
      "description": "Multiple TRUNCATE cycles.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7791,
      "write_warm_ms": 7908,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:truncate",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2578_cor_basic",
      "num": 2578,
      "name": "cor_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2578_cor_basic.py",
      "read_script": "generator/df-reads-spark/2578_cor_basic.sql",
      "description": "CREATE + INSERT + CREATE OR REPLACE + INSERT.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4841,
      "write_warm_ms": 4924,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2579_cor_different_schema",
      "num": 2579,
      "name": "cor_different_schema",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2579_cor_different_schema.py",
      "read_script": "generator/df-reads-spark/2579_cor_different_schema.sql",
      "description": "CREATE (id, val) + INSERT + COR (id, name, score) + INSERT.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5096,
      "write_warm_ms": 4636,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/257_ict_multi_writer",
      "num": 257,
      "name": "ict_multi_writer",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/257_ict_multi_writer.py",
      "read_script": "generator/df-reads-spark/257_ict_multi_writer.sql",
      "description": "ICT multi-writer. INSERT 1 row from DBX writer.",
      "status": "pass",
      "duration_ms": 23,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 23,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2580_cor_with_cdc",
      "num": 2580,
      "name": "cor_with_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2580_cor_with_cdc.py",
      "read_script": "generator/df-reads-spark/2580_cor_with_cdc.sql",
      "description": "CDC + CREATE + INSERT + COR with CDC + INSERT.",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4888,
      "write_warm_ms": 5168,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2581_cor_with_constraints",
      "num": 2581,
      "name": "cor_with_constraints",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2581_cor_with_constraints.py",
      "read_script": "generator/df-reads-spark/2581_cor_with_constraints.sql",
      "description": "CREATE + INSERT + COR + ADD CHECK constraint + INSERT.",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5895,
      "write_warm_ms": 5890,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2582_cor_with_identity",
      "num": 2582,
      "name": "cor_with_identity",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2582_cor_with_identity.py",
      "read_script": "generator/df-reads-spark/2582_cor_with_identity.sql",
      "description": "CREATE + INSERT + COR with IDENTITY + INSERT.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5128,
      "write_warm_ms": 5308,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2583_cor_partitioned",
      "num": 2583,
      "name": "cor_partitioned",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2583_cor_partitioned.py",
      "read_script": "generator/df-reads-spark/2583_cor_partitioned.sql",
      "description": "Partitioned CREATE + INSERT + COR + INSERT.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4671,
      "write_warm_ms": 4257,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2584_cor_then_dml",
      "num": 2584,
      "name": "cor_then_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2584_cor_then_dml.py",
      "read_script": "generator/df-reads-spark/2584_cor_then_dml.sql",
      "description": "COR + INSERT + UPDATE + DELETE + MERGE. Full DML chain.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 9133,
      "write_warm_ms": 9411,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2585_cor_then_optimize",
      "num": 2585,
      "name": "cor_then_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2585_cor_then_optimize.py",
      "read_script": "generator/df-reads-spark/2585_cor_then_optimize.sql",
      "description": "COR + INSERT 1000 in 10 batches + OPTIMIZE.",
      "status": "pass",
      "duration_ms": 52,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 52,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 15988,
      "write_warm_ms": 15016,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2586_boundary_bigint_min_max",
      "num": 2586,
      "name": "boundary_bigint_min_max",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2586_boundary_bigint_min_max.py",
      "read_script": "generator/df-reads-spark/2586_boundary_bigint_min_max.sql",
      "description": "5 rows with min-ish, 5 rows with max-ish.",
      "status": "pass",
      "duration_ms": 67,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 67,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1539,
      "write_warm_ms": 1723,
      "tags": [
        "type:boundary",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2587_boundary_int_extremes",
      "num": 2587,
      "name": "boundary_int_extremes",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2587_boundary_int_extremes.py",
      "read_script": "generator/df-reads-spark/2587_boundary_int_extremes.sql",
      "description": "5 rows min, 5 rows max.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1892,
      "write_warm_ms": 1573,
      "tags": [
        "type:boundary",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2588_boundary_decimal_38_0",
      "num": 2588,
      "name": "boundary_decimal_38_0",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2588_boundary_decimal_38_0.py",
      "read_script": "generator/df-reads-spark/2588_boundary_decimal_38_0.sql",
      "description": "DECIMAL(38,0) with large values. 10 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1504,
      "write_warm_ms": 1500,
      "tags": [
        "type:boundary",
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2589_boundary_decimal_38_18",
      "num": 2589,
      "name": "boundary_decimal_38_18",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2589_boundary_decimal_38_18.py",
      "read_script": "generator/df-reads-spark/2589_boundary_decimal_38_18.sql",
      "description": "DECIMAL(38,18) with max precision. 100 rows with 18 decimal places.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1840,
      "write_warm_ms": 1816,
      "tags": [
        "type:boundary",
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/258_ict_preserve",
      "num": 258,
      "name": "ict_preserve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/258_ict_preserve.py",
      "read_script": "generator/df-reads-spark/258_ict_preserve.sql",
      "description": "ICT preservation. INSERT 1 row.",
      "status": "pass",
      "duration_ms": 27,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 27,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2590_boundary_timestamp_epoch",
      "num": 2590,
      "name": "boundary_timestamp_epoch",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2590_boundary_timestamp_epoch.py",
      "read_script": "generator/df-reads-spark/2590_boundary_timestamp_epoch.sql",
      "description": "Timestamps at epoch (1970-01-01). 10 rows with offsets i*1s from epoch.",
      "status": "pass",
      "duration_ms": 34,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 34,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1442,
      "write_warm_ms": 1523,
      "tags": [
        "type:boundary",
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2591_boundary_timestamp_far_future",
      "num": 2591,
      "name": "boundary_timestamp_far_future",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2591_boundary_timestamp_far_future.py",
      "read_script": "generator/df-reads-spark/2591_boundary_timestamp_far_future.sql",
      "description": "Timestamps at year 2099. 10 rows with offsets of i hours from 2099-01-01.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1508,
      "write_warm_ms": 1743,
      "tags": [
        "type:boundary",
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2592_boundary_timestamp_microsecond",
      "num": 2592,
      "name": "boundary_timestamp_microsecond",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2592_boundary_timestamp_microsecond.py",
      "read_script": "generator/df-reads-spark/2592_boundary_timestamp_microsecond.sql",
      "description": "Two rows differing by exactly 1 microsecond. row1: 2024-01-01 00:00:00.000000 row2: 2024-01-01 00:00:00.000001",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1608,
      "write_warm_ms": 1503,
      "tags": [
        "type:boundary",
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2593_boundary_boolean_three_val",
      "num": 2593,
      "name": "boundary_boolean_three_val",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2593_boundary_boolean_three_val.py",
      "read_script": "generator/df-reads-spark/2593_boundary_boolean_three_val.sql",
      "description": "BOOLEAN with TRUE, FALSE, NULL. 300 rows (100 each).",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1466,
      "write_warm_ms": 1768,
      "tags": [
        "type:boolean",
        "type:boundary",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2594_boundary_empty_string_vs_null",
      "num": 2594,
      "name": "boundary_empty_string_vs_null",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2594_boundary_empty_string_vs_null.py",
      "read_script": "generator/df-reads-spark/2594_boundary_empty_string_vs_null.sql",
      "description": "STRING col with '' (empty) and NULL. 200 rows (100 each).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1824,
      "write_warm_ms": 1524,
      "tags": [
        "type:boundary",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2595_boundary_single_row_table",
      "num": 2595,
      "name": "boundary_single_row_table",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2595_boundary_single_row_table.py",
      "read_script": "generator/df-reads-spark/2595_boundary_single_row_table.sql",
      "description": "Single row + UPDATE + DELETE + INSERT 1.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6518,
      "write_warm_ms": 6662,
      "tags": [
        "type:boundary",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2596_boundary_double_special",
      "num": 2596,
      "name": "boundary_double_special",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2596_boundary_double_special.py",
      "read_script": "generator/df-reads-spark/2596_boundary_double_special.sql",
      "description": "DOUBLE with very small (1e-300) and very large (1e300) values.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1546,
      "write_warm_ms": 1879,
      "tags": [
        "type:boundary",
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2597_boundary_zero_values",
      "num": 2597,
      "name": "boundary_zero_values",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2597_boundary_zero_values.py",
      "read_script": "generator/df-reads-spark/2597_boundary_zero_values.sql",
      "description": "100 rows where all numeric values are zero and strings are empty.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2044,
      "write_warm_ms": 1593,
      "tags": [
        "type:boundary",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2598_boundary_negative_numbers",
      "num": 2598,
      "name": "boundary_negative_numbers",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2598_boundary_negative_numbers.py",
      "read_script": "generator/df-reads-spark/2598_boundary_negative_numbers.sql",
      "description": "500 rows. All values negative. int_val = -i big_val = -i * 1000000 dbl_val = -i * 1.5 dec_val = ROUND(-i * 3.14, 2)",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1990,
      "write_warm_ms": 1567,
      "tags": [
        "type:boundary",
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2599_boundary_max_columns_30",
      "num": 2599,
      "name": "boundary_max_columns_30",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2599_boundary_max_columns_30.py",
      "read_script": "generator/df-reads-spark/2599_boundary_max_columns_30.sql",
      "description": "500 rows with 30 mixed-type columns. c16-c20 DOUBLE, c21-c25 BOOLEAN, c26-c29 DECIMAL(10,2)",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1983,
      "write_warm_ms": 1850,
      "tags": [
        "type:boolean",
        "type:boundary",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/259_ict_cdc",
      "num": 259,
      "name": "ict_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/259_ict_cdc.py",
      "read_script": "generator/df-reads-spark/259_ict_cdc.sql",
      "description": "INSERT (1, 'Alice', 1000.00) then UPDATE SET balance=1500.00 WHERE customer_id=1. ICT + CDC enabled.",
      "status": "pass",
      "duration_ms": 28,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 28,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/25_table_features_new_table_creation",
      "num": 25,
      "name": "table_features_new_table_creation",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/25_table_features_new_table_creation.py",
      "read_script": "generator/df-reads-spark/25_table_features_new_table_creation.sql",
      "description": "Retail Inventory Management. 1600 rows (1500 initial + 100 new arrivals). Multiple UPDATE/DELETE operations. CDC, DV, columnMapping enabled.",
      "status": "pass",
      "duration_ms": 23,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 23,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 7022,
      "tags": [
        "type:boolean",
        "type:date",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2600_boundary_null_heavy",
      "num": 2600,
      "name": "boundary_null_heavy",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2600_boundary_null_heavy.py",
      "read_script": "generator/df-reads-spark/2600_boundary_null_heavy.sql",
      "description": "500 rows. id never null. a,b,c,d are null when i%5 != 0 (80% null).",
      "status": "pass",
      "duration_ms": 64,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 64,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1785,
      "write_warm_ms": 1514,
      "tags": [
        "type:boolean",
        "type:boundary",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2601_boundary_all_types_one_row",
      "num": 2601,
      "name": "boundary_all_types_one_row",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2601_boundary_all_types_one_row.py",
      "read_script": "generator/df-reads-spark/2601_boundary_all_types_one_row.sql",
      "description": "1 row with every supported type. ts_val = 2024-01-01T00:00:00Z (micros: 1704067200000000) bool_val BOOLEAN, dec_val DECIMAL(10,2), ts_val TIMESTAMP",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1798,
      "write_warm_ms": 1593,
      "tags": [
        "type:boolean",
        "type:boundary",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2602_boundary_decimal_zero_scale",
      "num": 2602,
      "name": "boundary_decimal_zero_scale",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2602_boundary_decimal_zero_scale.py",
      "read_script": "generator/df-reads-spark/2602_boundary_decimal_zero_scale.sql",
      "description": "500 rows. val = i * 7 as DECIMAL(10,0).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1541,
      "write_warm_ms": 1891,
      "tags": [
        "type:boundary",
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2603_boundary_string_length_1",
      "num": 2603,
      "name": "boundary_string_length_1",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2603_boundary_string_length_1.py",
      "read_script": "generator/df-reads-spark/2603_boundary_string_length_1.sql",
      "description": "500 rows. ch = alphabet[(i-1)%26] cycling A-Z.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1946,
      "write_warm_ms": 1477,
      "tags": [
        "type:boundary",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2604_boundary_consecutive_updates",
      "num": 2604,
      "name": "boundary_consecutive_updates",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2604_boundary_consecutive_updates.py",
      "read_script": "generator/df-reads-spark/2604_boundary_consecutive_updates.sql",
      "description": "INSERT 100 rows (val=0), then 10 sequential UPDATEs (val=1..10).",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 17682,
      "write_warm_ms": 17343,
      "tags": [
        "type:boundary",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2605_boundary_min_max_after_delete",
      "num": 2605,
      "name": "boundary_min_max_after_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2605_boundary_min_max_after_delete.py",
      "read_script": "generator/df-reads-spark/2605_boundary_min_max_after_delete.sql",
      "description": "INSERT 100 rows (id=1..100, val=id*10). DELETE id=1. DELETE id=100.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5370,
      "write_warm_ms": 5017,
      "tags": [
        "type:boundary",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2606_uniform_basic_insert",
      "num": 2606,
      "name": "uniform_basic_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2606_uniform_basic_insert.py",
      "read_script": "generator/df-reads-spark/2606_uniform_basic_insert.sql",
      "description": "500 rows. UniForm Iceberg + column mapping enabled. name = 'row_i', score = i*3",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1790,
      "write_warm_ms": 1550,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2607_uniform_with_partition",
      "num": 2607,
      "name": "uniform_with_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2607_uniform_with_partition.py",
      "read_script": "generator/df-reads-spark/2607_uniform_with_partition.sql",
      "description": "500 rows, 3 regions. UniForm + partitioned. region: i%3==0->US, i%3==1->EU, i%3==2->APAC val = i*5",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1569,
      "write_warm_ms": 1538,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:partitioning",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2608_uniform_after_update",
      "num": 2608,
      "name": "uniform_after_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2608_uniform_after_update.py",
      "read_script": "generator/df-reads-spark/2608_uniform_after_update.sql",
      "description": "500 rows. INSERT then UPDATE id<=200 (val=val*2, name='updated_id').",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3381,
      "write_warm_ms": 3380,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2609_uniform_after_delete",
      "num": 2609,
      "name": "uniform_after_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2609_uniform_after_delete.py",
      "read_script": "generator/df-reads-spark/2609_uniform_after_delete.sql",
      "description": "500 rows, then DELETE WHERE id<=200. Final: 300 rows (id 201-500).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3695,
      "write_warm_ms": 3417,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/260_invariant_not_null",
      "num": 260,
      "name": "invariant_not_null",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/260_invariant_not_null.py",
      "read_script": "generator/df-reads-spark/260_invariant_not_null.sql",
      "description": "2 rows. Row 1: (1, 'Alice', 'has note'). Row 2: (2, 'Bob', NULL).",
      "status": "pass",
      "duration_ms": 23,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 23,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2610_uniform_after_merge",
      "num": 2610,
      "name": "uniform_after_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2610_uniform_after_merge.py",
      "read_script": "generator/df-reads-spark/2610_uniform_after_merge.sql",
      "description": "300 rows INSERT (id=i, name='row_i', val=i*2), then MERGE 300 source (ids 201-500): ids 1-200: val=i*2, name='row_i' (unchanged) ids 201-300: val=i*3, name='merged_i' (matched+updated) ids 301-500: val=i*3, name='merged_i' (inserted by MERGE)",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4356,
      "write_warm_ms": 4475,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2611_uniform_after_optimize",
      "num": 2611,
      "name": "uniform_after_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2611_uniform_after_optimize.py",
      "read_script": "generator/df-reads-spark/2611_uniform_after_optimize.sql",
      "description": "1000 rows inserted in 10 batches of 100. Each batch uses prefix b1_..b10_. batch k: ids=(k-1)*100+1 .. k*100, name='b{k}_{i}', val=i OPTIMIZE applied after all inserts.",
      "status": "pass",
      "duration_ms": 199,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 199,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 15338,
      "write_warm_ms": 14097,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2612_uniform_after_vacuum",
      "num": 2612,
      "name": "uniform_after_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2612_uniform_after_vacuum.py",
      "read_script": "generator/df-reads-spark/2612_uniform_after_vacuum.sql",
      "description": "INSERT 500 rows (id=i, name='row_i', val=i*2), DELETE id<=200, VACUUM RETAIN 0 HOURS.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 14151,
      "write_warm_ms": 14788,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:vacuum",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2613_uniform_schema_evolve",
      "num": 2613,
      "name": "uniform_schema_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2613_uniform_schema_evolve.py",
      "read_script": "generator/df-reads-spark/2613_uniform_schema_evolve.sql",
      "description": "INSERT 300 (ids 1-300, val=i*2, extra=NULL), ALTER ADD COLUMN extra, INSERT 200 (ids 301-500, val=i*2, extra='extra_i').",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3039,
      "write_warm_ms": 3441,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "iceberg:uniform",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2614_uniform_with_cdc",
      "num": 2614,
      "name": "uniform_with_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2614_uniform_with_cdc.py",
      "read_script": "generator/df-reads-spark/2614_uniform_with_cdc.sql",
      "description": "INSERT 300 (id=i, name='row_i', val=i*2), UPDATE ids 1-100: val=val*10, name='upd_id'. ids 1-100: val=i*20, name='upd_i' ids 101-300: val=i*2, name='row_i",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5553,
      "write_warm_ms": 4966,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2615_uniform_with_constraints",
      "num": 2615,
      "name": "uniform_with_constraints",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2615_uniform_with_constraints.py",
      "read_script": "generator/df-reads-spark/2615_uniform_with_constraints.sql",
      "description": "CHECK(val > 0) added before INSERT. INSERT 500 (id=i, name='row_i', val=i*2).",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4876,
      "write_warm_ms": 4625,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2616_uniform_with_identity",
      "num": 2616,
      "name": "uniform_with_identity",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2616_uniform_with_identity.py",
      "read_script": "generator/df-reads-spark/2616_uniform_with_identity.sql",
      "description": "INSERT 500 (omit id): name='row_i', val=i*2. Identity not supported in Spark OSS -- assign sequential IDs manually.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1633,
      "write_warm_ms": 1935,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2617_uniform_with_defaults",
      "num": 2617,
      "name": "uniform_with_defaults",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2617_uniform_with_defaults.py",
      "read_script": "generator/df-reads-spark/2617_uniform_with_defaults.sql",
      "description": "INSERT 250 (ids 1-250, omit val -> default 0), INSERT 250 (ids 251-500, explicit val=i*2). ids 1-250: val=0 (default) ids 251-500: val=i*2",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3171,
      "write_warm_ms": 2881,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2618_uniform_wide_types",
      "num": 2618,
      "name": "uniform_wide_types",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2618_uniform_wide_types.py",
      "read_script": "generator/df-reads-spark/2618_uniform_wide_types.sql",
      "description": "500 rows. Formulas (i=1..500): name = 'item_i' amount = i * 9.99 (as DECIMAL(10,2)) flag = (i % 2 == 0) ts = 2024-01-01 00:00:00 UTC + i*3600 seconds score = i * 1.5",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1968,
      "write_warm_ms": 1616,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "iceberg:uniform",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2619_uniform_nested_struct",
      "num": 2619,
      "name": "uniform_nested_struct",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2619_uniform_nested_struct.py",
      "read_script": "generator/df-reads-spark/2619_uniform_nested_struct.sql",
      "description": "500 rows. Formulas (i=1..500): data.a = i * 10 data.b = 'val_i",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2019,
      "write_warm_ms": 1597,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "iceberg:uniform",
        "scale:nested-types",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/261_invariant_check",
      "num": 261,
      "name": "invariant_check",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/261_invariant_check.py",
      "read_script": "generator/df-reads-spark/261_invariant_check.sql",
      "description": "2 rows: (1, 19.99, 100), (2, 29.99, 50) CHECK constraints added after INSERT: price_positive: price > 0 quantity_valid: quantity >= 0 AND quantity <= 10000",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2620_uniform_after_restore",
      "num": 2620,
      "name": "uniform_after_restore",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2620_uniform_after_restore.py",
      "read_script": "generator/df-reads-spark/2620_uniform_after_restore.sql",
      "description": "INSERT 500 (V0=empty, V1=insert), UPDATE 250 (V2), RESTORE VERSION 1 (V3).",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 10714,
      "write_warm_ms": 9908,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:time-travel",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2621_combo_cdc_dv_merge",
      "num": 2621,
      "name": "combo_cdc_dv_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2621_combo_cdc_dv_merge.py",
      "read_script": "generator/df-reads-spark/2621_combo_cdc_dv_merge.sql",
      "description": "INSERT 500, DELETE ids 451-500 (DV), MERGE source keys 1-300: keys 1-200 (1-200 in target): MATCHED -> UPDATE val=key*20, label='merged_key' keys 201-300 (new): NOT MATCHED -> INSERT with id=key+500 key 1-200: MATCHED -> update. key 201-300: NOT MATCHED -> insert (id=key+500).",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8167,
      "write_warm_ms": 7506,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2622_combo_cdc_colmap_partition",
      "num": 2622,
      "name": "combo_cdc_colmap_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2622_combo_cdc_colmap_partition.py",
      "read_script": "generator/df-reads-spark/2622_combo_cdc_colmap_partition.sql",
      "description": "PARTITIONED BY (region): US, EU, APAC, LATAM, AF (100 each) INSERT 500 (region by i%5), UPDATE ids 1-200: val+=100, tag='updated'.",
      "status": "pass",
      "duration_ms": 23,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 23,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4365,
      "write_warm_ms": 4035,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2623_combo_identity_default_generated",
      "num": 2623,
      "name": "combo_identity_default_generated",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2623_combo_identity_default_generated.py",
      "read_script": "generator/df-reads-spark/2623_combo_identity_default_generated.sql",
      "description": "total INT GENERATED ALWAYS AS (base*2) -> computed manually INSERT 300 (base=i*3, score=i), INSERT 200 (base=i*5, score=0 default).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1591,
      "write_warm_ms": 2098,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2624_combo_cdc_identity_merge",
      "num": 2624,
      "name": "combo_cdc_identity_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2624_combo_cdc_identity_merge.py",
      "read_script": "generator/df-reads-spark/2624_combo_cdc_identity_merge.sql",
      "description": "INSERT 300 (key=i, val=i*10, label='init_i'), MERGE keys 301-500 NOT MATCHED -> INSERT.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3233,
      "write_warm_ms": 3464,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2625_combo_colmap_partition_merge",
      "num": 2625,
      "name": "combo_colmap_partition_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2625_combo_colmap_partition_merge.py",
      "read_script": "generator/df-reads-spark/2625_combo_colmap_partition_merge.sql",
      "description": "PARTITIONED BY (region): US/EU/APAC by i%3 INSERT 500, MERGE 300 source: ids 1-200 (i<=200): MATCHED -> UPDATE val=i*20, tag='merged_i' ids 501-600 (i>200 -> id=i+300): NOT MATCHED -> INSERT",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5062,
      "write_warm_ms": 4379,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2626_combo_partition_cdc_restore",
      "num": 2626,
      "name": "combo_partition_cdc_restore",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2626_combo_partition_cdc_restore.py",
      "read_script": "generator/df-reads-spark/2626_combo_partition_cdc_restore.sql",
      "description": "PARTITIONED BY (region): US/EU/APAC by i%3",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 10716,
      "write_warm_ms": 11774,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2627_combo_constraint_default_evolve",
      "num": 2627,
      "name": "combo_constraint_default_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2627_combo_constraint_default_evolve.py",
      "read_script": "generator/df-reads-spark/2627_combo_constraint_default_evolve.sql",
      "description": "CHECK(val>0), INSERT 300 (val=i*5), INSERT 200 (val=10 default), ALTER ADD tag.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7841,
      "write_warm_ms": 5336,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2628_combo_dv_zorder_time_travel",
      "num": 2628,
      "name": "combo_dv_zorder_time_travel",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2628_combo_dv_zorder_time_travel.py",
      "read_script": "generator/df-reads-spark/2628_combo_dv_zorder_time_travel.sql",
      "description": "Final (latest): 300 rows (ids 201-500).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7459,
      "write_warm_ms": 7276,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:time-travel",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2629_combo_cdc_checkpoint_vacuum",
      "num": 2629,
      "name": "combo_cdc_checkpoint_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2629_combo_cdc_checkpoint_vacuum.py",
      "read_script": "generator/df-reads-spark/2629_combo_cdc_checkpoint_vacuum.sql",
      "description": "INSERT 500, DELETE ids 1-200, UPDATE batches for checkpoint, VACUUM RETAIN 0 HOURS.",
      "status": "pass",
      "duration_ms": 25,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 25,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 26254,
      "write_warm_ms": 24816,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/262_invariant_range",
      "num": 262,
      "name": "invariant_range",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/262_invariant_range.py",
      "read_script": "generator/df-reads-spark/262_invariant_range.sql",
      "description": "2 rows: (1, 25.5, 60.0, 1013.25), (2, -10.2, 85.0, 995.0)",
      "status": "pass",
      "duration_ms": 23,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 23,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2630_combo_identity_merge_optimize",
      "num": 2630,
      "name": "combo_identity_merge_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2630_combo_identity_merge_optimize.py",
      "read_script": "generator/df-reads-spark/2630_combo_identity_merge_optimize.sql",
      "description": "INSERT 300 (ids 1-300, key=i), MERGE keys 301-500 NOT MATCHED -> INSERT (ids 301-500), OPTIMIZE.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5456,
      "write_warm_ms": 5076,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2631_combo_colmap_cdc_dv",
      "num": 2631,
      "name": "combo_colmap_cdc_dv",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2631_combo_colmap_cdc_dv.py",
      "read_script": "generator/df-reads-spark/2631_combo_colmap_cdc_dv.sql",
      "description": "INSERT 500, DELETE ids 1-200 (DV), UPDATE ids 201-300: val+=555, tag='updated'.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7371,
      "write_warm_ms": 6310,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2632_combo_generated_partition",
      "num": 2632,
      "name": "combo_generated_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2632_combo_generated_partition.py",
      "read_script": "generator/df-reads-spark/2632_combo_generated_partition.sql",
      "description": "PARTITIONED BY (region): US/EU/APAC/LATAM by i%4 INSERT 500 (id=i, base=i*3, total=i*3*2=i*6).",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1265,
      "write_warm_ms": 1481,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2633_combo_constraint_colmap_merge",
      "num": 2633,
      "name": "combo_constraint_colmap_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2633_combo_constraint_colmap_merge.py",
      "read_script": "generator/df-reads-spark/2633_combo_constraint_colmap_merge.sql",
      "description": "CHECK(val>0), INSERT 300 (val=i*5), MERGE 200: i<=100: id=i (MATCHED) -> UPDATE val=i*7, tag='merged_i' i>100: id=i+200=301..400 (NOT MATCHED) -> INSERT",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7751,
      "write_warm_ms": 7707,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2634_combo_default_cdc_delete",
      "num": 2634,
      "name": "combo_default_cdc_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2634_combo_default_cdc_delete.py",
      "read_script": "generator/df-reads-spark/2634_combo_default_cdc_delete.sql",
      "description": "INSERT 300 (ids 1-300, val=i*10), INSERT 200 (ids 301-500, val=0 default), DELETE WHERE val=0 (removes ids 301-500).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4728,
      "write_warm_ms": 4022,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2635_combo_identity_cdc_evolve",
      "num": 2635,
      "name": "combo_identity_cdc_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2635_combo_identity_cdc_evolve.py",
      "read_script": "generator/df-reads-spark/2635_combo_identity_cdc_evolve.sql",
      "description": "INSERT 300 (ids 1-300, val=i*10, label='init_i'), ALTER ADD tag, INSERT 200 (ids 301-500, tag='tag_i').",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3035,
      "write_warm_ms": 3054,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2636_combo_partition_zorder_vacuum",
      "num": 2636,
      "name": "combo_partition_zorder_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2636_combo_partition_zorder_vacuum.py",
      "read_script": "generator/df-reads-spark/2636_combo_partition_zorder_vacuum.sql",
      "description": "PARTITIONED BY (region): US/EU/APAC by i%3 INSERT 500, OPTIMIZE ZORDER BY(key), DELETE ids 1-200, VACUUM RETAIN 0 HOURS.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 16247,
      "write_warm_ms": 17075,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "delta:vacuum",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2637_combo_dv_restore_cdc",
      "num": 2637,
      "name": "combo_dv_restore_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2637_combo_dv_restore_cdc.py",
      "read_script": "generator/df-reads-spark/2637_combo_dv_restore_cdc.sql",
      "description": "DV + RESTORE + CDC. INSERT 500 + DELETE 200 (DV) +",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 10450,
      "write_warm_ms": 9399,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2638_combo_colmap_identity_default",
      "num": 2638,
      "name": "combo_colmap_identity_default",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2638_combo_colmap_identity_default.py",
      "read_script": "generator/df-reads-spark/2638_combo_colmap_identity_default.sql",
      "description": "INSERT 300 (ids 1-300, key=i, val=i*10), INSERT 200 (ids 301-500, key=i+300, val=0 default).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1819,
      "write_warm_ms": 1924,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2639_combo_v2ckpt_merge_cdc",
      "num": 2639,
      "name": "combo_v2ckpt_merge_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2639_combo_v2ckpt_merge_cdc.py",
      "read_script": "generator/df-reads-spark/2639_combo_v2ckpt_merge_cdc.sql",
      "description": "INSERT 300, MERGE 200 (keys 1-100 MATCHED update, keys 301-400 NOT MATCHED insert), then 3 more UPDATE passes to trigger checkpoint.",
      "status": "pass",
      "duration_ms": 31,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 31,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 10403,
      "write_warm_ms": 10221,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/263_invariant_in_set",
      "num": 263,
      "name": "invariant_in_set",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/263_invariant_in_set.py",
      "read_script": "generator/df-reads-spark/263_invariant_in_set.sql",
      "description": "2 rows: (1001, 'pending', 'credit'), (1002, 'shipped', 'paypal') CHECK constraints added after INSERT: valid_status: status IN ('pending', 'processing', 'shipped', 'delivered', 'cancelled') valid_payment: payment_method IN ('credit', 'debit', 'paypal', 'crypto')",
      "status": "pass",
      "duration_ms": 21,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 21,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2640_combo_five_feature",
      "num": 2640,
      "name": "combo_five_feature",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2640_combo_five_feature.py",
      "read_script": "generator/df-reads-spark/2640_combo_five_feature.sql",
      "description": "PARTITIONED BY (region): US/EU/APAC by i%3 INSERT 500, MERGE 300 (ids 1-200 MATCHED update, ids 501-600 NOT MATCHED insert), DELETE ids 401-500.",
      "status": "pass",
      "duration_ms": 56,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 56,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6673,
      "write_warm_ms": 6988,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2641_combo_six_feature",
      "num": 2641,
      "name": "combo_six_feature",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2641_combo_six_feature.py",
      "read_script": "generator/df-reads-spark/2641_combo_six_feature.sql",
      "description": "PARTITIONED BY (region): US/EU/APAC by i%3 INSERT 300 (ids 1-300, key=i), MERGE keys 301-500 NOT MATCHED -> INSERT (ids 301-500), DELETE keys 1-50.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5017,
      "write_warm_ms": 5068,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2642_combo_evolve_constraint_merge",
      "num": 2642,
      "name": "combo_evolve_constraint_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2642_combo_evolve_constraint_merge.py",
      "read_script": "generator/df-reads-spark/2642_combo_evolve_constraint_merge.sql",
      "description": "INSERT 300 (val=i*5), ALTER ADD tag, CHECK(val>0), MERGE 200: i<=100 -> id=i (MATCHED): update val=i*7, label, tag i>100 -> id=i+200=301..400 (NOT MATCHED): insert",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6657,
      "write_warm_ms": 6654,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2643_combo_truncate_cdc_identity",
      "num": 2643,
      "name": "combo_truncate_cdc_identity",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2643_combo_truncate_cdc_identity.py",
      "read_script": "generator/df-reads-spark/2643_combo_truncate_cdc_identity.sql",
      "description": "INSERT 500 (ids 1-500, val=i*10, tag='batch1_i'), TRUNCATE, INSERT 200 (ids 501-700, tag='batch2_i').",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5049,
      "write_warm_ms": 4633,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "dml:truncate",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2644_combo_cor_cdc_partition",
      "num": 2644,
      "name": "combo_cor_cdc_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2644_combo_cor_cdc_partition.py",
      "read_script": "generator/df-reads-spark/2644_combo_cor_cdc_partition.sql",
      "description": "PARTITIONED BY (region): US/EU/APAC by i%3 INSERT 500, CREATE OR REPLACE (resets), INSERT 300 (val=i*20, tag='batch2_i').",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4569,
      "write_warm_ms": 4514,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2645_combo_generated_constraint",
      "num": 2645,
      "name": "combo_generated_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2645_combo_generated_constraint.py",
      "read_script": "generator/df-reads-spark/2645_combo_generated_constraint.sql",
      "description": "CHECK(base>0), INSERT 500 (id=i, base=i*3, total=i*6).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4427,
      "write_warm_ms": 4528,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2646_combo_dv_colmap_time_travel",
      "num": 2646,
      "name": "combo_dv_colmap_time_travel",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2646_combo_dv_colmap_time_travel.py",
      "read_script": "generator/df-reads-spark/2646_combo_dv_colmap_time_travel.sql",
      "description": "Final (latest): 300 rows (ids 201-500).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4836,
      "write_warm_ms": 4414,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2647_combo_cdc_merge_optimize_vacuum",
      "num": 2647,
      "name": "combo_cdc_merge_optimize_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2647_combo_cdc_merge_optimize_vacuum.py",
      "read_script": "generator/df-reads-spark/2647_combo_cdc_merge_optimize_vacuum.sql",
      "description": "INSERT 500, MERGE 300 (keys 1-200 MATCHED update, keys 501-600 NOT MATCHED insert), OPTIMIZE, DELETE keys 401-500, VACUUM RETAIN 0 HOURS.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 19487,
      "write_warm_ms": 19151,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2648_combo_all_constraints_merge",
      "num": 2648,
      "name": "combo_all_constraints_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2648_combo_all_constraints_merge.py",
      "read_script": "generator/df-reads-spark/2648_combo_all_constraints_merge.sql",
      "description": "CHECK(val>0), INSERT 300 (val=i*5), MERGE 200: i<=100 -> id=i (MATCHED): update val=i*7, tag='merged_i' i>100 -> id=i+200=301..400 (NOT MATCHED): insert",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6843,
      "write_warm_ms": 6698,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2649_combo_identity_cdc_partition_merge",
      "num": 2649,
      "name": "combo_identity_cdc_partition_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2649_combo_identity_cdc_partition_merge.py",
      "read_script": "generator/df-reads-spark/2649_combo_identity_cdc_partition_merge.sql",
      "description": "PARTITIONED BY (region): US/EU/APAC by i%3 INSERT 300 (ids 1-300, key=i), MERGE keys 301-500 NOT MATCHED -> INSERT (ids 301-500).",
      "status": "pass",
      "duration_ms": 108,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 108,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3548,
      "write_warm_ms": 2843,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/264_invariant_pattern",
      "num": 264,
      "name": "invariant_pattern",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/264_invariant_pattern.py",
      "read_script": "generator/df-reads-spark/264_invariant_pattern.sql",
      "description": "2 rows: (1, 'user@example.com', '555-123-4567', '12345'), (2, 'test.user@domain.org', '800-555-1234', '12345-6789')",
      "status": "pass",
      "duration_ms": 25,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 25,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2650_combo_colmap_constraint_optimize",
      "num": 2650,
      "name": "combo_colmap_constraint_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2650_combo_colmap_constraint_optimize.py",
      "read_script": "generator/df-reads-spark/2650_combo_colmap_constraint_optimize.sql",
      "description": "CHECK(val>0), INSERT 500 in 5 batches of 100, OPTIMIZE.",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 10130,
      "write_warm_ms": 9547,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2651_combo_cdc_dv_partition_zorder",
      "num": 2651,
      "name": "combo_cdc_dv_partition_zorder",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2651_combo_cdc_dv_partition_zorder.py",
      "read_script": "generator/df-reads-spark/2651_combo_cdc_dv_partition_zorder.sql",
      "description": "PARTITIONED BY (region): US/EU/APAC by i%3 INSERT 500, OPTIMIZE ZORDER BY(key), DELETE ids 1-100.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5315,
      "write_warm_ms": 5152,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2652_combo_identity_default_merge",
      "num": 2652,
      "name": "combo_identity_default_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2652_combo_identity_default_merge.py",
      "read_script": "generator/df-reads-spark/2652_combo_identity_default_merge.sql",
      "description": "INSERT 300 (ids 1-300, val=i*10), MERGE keys 301-500 NOT MATCHED -> INSERT (ids 301-500, val=i*20).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3295,
      "write_warm_ms": 3268,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2653_combo_checkpoint_cdc_colmap",
      "num": 2653,
      "name": "combo_checkpoint_cdc_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2653_combo_checkpoint_cdc_colmap.py",
      "read_script": "generator/df-reads-spark/2653_combo_checkpoint_cdc_colmap.sql",
      "description": "INSERT 500, UPDATE ids 1-200 (val+=100, tag='updated'), 3 more UPDATE passes for checkpoint.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 12166,
      "write_warm_ms": 11807,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2654_combo_generated_cdc_merge",
      "num": 2654,
      "name": "combo_generated_cdc_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2654_combo_generated_cdc_merge.py",
      "read_script": "generator/df-reads-spark/2654_combo_generated_cdc_merge.sql",
      "description": "INSERT 300 (base=i*3, total=i*6), MERGE source ids 1-200: ON target.id = CASE WHEN source.id<=100 THEN source.id ELSE -1 END WHEN MATCHED -> UPDATE base=i*7, total=i*14, tag WHEN NOT MATCHED -> INSERT with id=source.id+300",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4559,
      "write_warm_ms": 4306,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2655_combo_partition_identity_cdc_dv",
      "num": 2655,
      "name": "combo_partition_identity_cdc_dv",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2655_combo_partition_identity_cdc_dv.py",
      "read_script": "generator/df-reads-spark/2655_combo_partition_identity_cdc_dv.sql",
      "description": "PARTITIONED BY (region): US/EU/APAC by i%3 INSERT 300 (ids 1-300, key=i), DELETE keys 1-100, INSERT 200 (ids 301-500, key=i+300).",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4463,
      "write_warm_ms": 4068,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2656_etl_scd_type1_overwrite",
      "num": 2656,
      "name": "etl_scd_type1_overwrite",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2656_etl_scd_type1_overwrite.py",
      "read_script": "generator/df-reads-spark/2656_etl_scd_type1_overwrite.sql",
      "description": "INSERT 500 customers, MERGE 200 updates (ids 1-200): overwrite name/email/city/val. ids 1-200: name='updated_i', email='new_i@example.com', city='newcity_{i%5}', val=i*100 ids 201-500: name='cust_i', email='cust_i@example.com', city='city_{i%10}', val=i*10",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4693,
      "write_warm_ms": 4553,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "dml:overwrite",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2657_etl_scd_type2_history",
      "num": 2657,
      "name": "etl_scd_type2_history",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2657_etl_scd_type2_history.py",
      "read_script": "generator/df-reads-spark/2657_etl_scd_type2_history.sql",
      "description": "INSERT 500 (all is_current=true, version=1). This matches ids 401-500 in target (the 100 that exist). INSERT new current versions for ids 401-600 (version=2). ids 1-400: is_current=true, version=1 (unchanged) ids 401-500: is_current=false, version=1 (expired)",
      "status": "pass",
      "duration_ms": 60,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 60,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6305,
      "write_warm_ms": 6348,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2658_etl_incremental_append",
      "num": 2658,
      "name": "etl_incremental_append",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2658_etl_incremental_append.py",
      "read_script": "generator/df-reads-spark/2658_etl_incremental_append.sql",
      "description": "5 batches of 200 rows: ids 1-200 (batch=1), 201-400 (batch=2), ..., 801-1000 (batch=5). val = id * 10 for all.",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5582,
      "write_warm_ms": 5527,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2659_etl_full_refresh_overwrite",
      "num": 2659,
      "name": "etl_full_refresh_overwrite",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2659_etl_full_refresh_overwrite.py",
      "read_script": "generator/df-reads-spark/2659_etl_full_refresh_overwrite.sql",
      "description": "INSERT 500 (ids 1-500, val=i*10, label='old_i'), then INSERT OVERWRITE 500 (ids 501-1000, val=i*20, label='new_i').",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3732,
      "write_warm_ms": 3518,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/265_invariant_multi_col",
      "num": 265,
      "name": "invariant_multi_col",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/265_invariant_multi_col.py",
      "read_script": "generator/df-reads-spark/265_invariant_multi_col.sql",
      "description": "adults INT, children INT, total_guests INT 1 row: (1, 2024-06-01, 2024-06-07, 2, 1, 3) CHECK constraints added after INSERT: dates_valid: end_date > start_date guests_match: total_guests = adults + children min_guests: adults >= 1",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:date",
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2660_etl_partition_swap",
      "num": 2660,
      "name": "etl_partition_swap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2660_etl_partition_swap.py",
      "read_script": "generator/df-reads-spark/2660_etl_partition_swap.sql",
      "description": "PARTITIONED BY (region): na/eu/ap/sa by i%4 (0->na, 1->eu, 2->ap, 3->sa) INSERT 500 (125 each). Then INSERT OVERWRITE region='na' with 50 new rows (ids 2001-2050, val=i*99).",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3021,
      "write_warm_ms": 3023,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2661_etl_backfill_historical",
      "num": 2661,
      "name": "etl_backfill_historical",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2661_etl_backfill_historical.py",
      "read_script": "generator/df-reads-spark/2661_etl_backfill_historical.sql",
      "description": "INSERT 500 (ids 501-1000, \"recent\", val=i*10, label='recent_i'), INSERT 500 (ids 1-500, \"backfill\", val=i*5, label='backfill_i').",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2329,
      "write_warm_ms": 2911,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2662_etl_dedup_merge",
      "num": 2662,
      "name": "etl_dedup_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2662_etl_dedup_merge.py",
      "read_script": "generator/df-reads-spark/2662_etl_dedup_merge.sql",
      "description": "INSERT 500 (id=i, val=i*10, label='orig_i'). MERGE 500 source (id=i, val=i*20 for even i, val=i*5 for odd i). WHEN MATCHED AND source.val > target.val -> UPDATE val, label. Even ids (2,4,...): source val=i*20 > target i*10 -> updated. Odd ids (1,3,...): source val=i*5 < target...",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4957,
      "write_warm_ms": 4698,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2663_etl_late_arriving",
      "num": 2663,
      "name": "etl_late_arriving",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2663_etl_late_arriving.py",
      "read_script": "generator/df-reads-spark/2663_etl_late_arriving.sql",
      "description": "INSERT 500 (ids 1-500, val=i*10, ts=BASE+i*3600s), INSERT 200 (ids 501-700, val=i*5, ts=BASE+(i-500)*3600s -- earlier timestamps). BASE = 1704067200000000 microseconds (2024-01-01 00:00:00 UTC).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3047,
      "write_warm_ms": 2753,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2664_etl_gdpr_delete",
      "num": 2664,
      "name": "etl_gdpr_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2664_etl_gdpr_delete.py",
      "read_script": "generator/df-reads-spark/2664_etl_gdpr_delete.sql",
      "description": "INSERT 500 customers, DELETE ids 1-50.",
      "status": "pass",
      "duration_ms": 66,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 66,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3848,
      "write_warm_ms": 3637,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2665_etl_schema_migration",
      "num": 2665,
      "name": "etl_schema_migration",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2665_etl_schema_migration.py",
      "read_script": "generator/df-reads-spark/2665_etl_schema_migration.sql",
      "description": "INSERT 500 (id=i, val=i*10), ALTER ADD tag, UPDATE ids 1-250 tag='tag_i'.",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5016,
      "write_warm_ms": 4492,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2666_etl_compact_micro_batch",
      "num": 2666,
      "name": "etl_compact_micro_batch",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2666_etl_compact_micro_batch.py",
      "read_script": "generator/df-reads-spark/2666_etl_compact_micro_batch.sql",
      "description": "50 x INSERT 20 rows each (total 1000 rows, ids 1-1000), then OPTIMIZE.",
      "status": "pass",
      "duration_ms": 79,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 79,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 65172,
      "write_warm_ms": 61954,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2667_etl_cdc_audit_trail",
      "num": 2667,
      "name": "etl_cdc_audit_trail",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2667_etl_cdc_audit_trail.py",
      "read_script": "generator/df-reads-spark/2667_etl_cdc_audit_trail.sql",
      "description": "INSERT 300 (all status='active', val=i*10), UPDATE ids 1-100 (val+=1000, status='updated'), DELETE ids 201-250.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5632,
      "write_warm_ms": 5463,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2668_etl_merge_schema_evolve",
      "num": 2668,
      "name": "etl_merge_schema_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2668_etl_merge_schema_evolve.py",
      "read_script": "generator/df-reads-spark/2668_etl_merge_schema_evolve.sql",
      "description": "INSERT 300 (ids 1-300), ALTER ADD tag, MERGE source ids 201-400: ids 201-300 (MATCHED): UPDATE tag='tag_i' ids 301-400 (NOT MATCHED): INSERT (val=i*20, tag='tag_i') ids 201-300: tag='tag_i' (updated) ids 301-400: val=i*20, tag='tag_i' (inserted)",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4866,
      "write_warm_ms": 4730,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2669_etl_daily_partition_append",
      "num": 2669,
      "name": "etl_daily_partition_append",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2669_etl_daily_partition_append.py",
      "read_script": "generator/df-reads-spark/2669_etl_daily_partition_append.sql",
      "description": "PARTITIONED BY (day_key): 10 partitions 'day_01' .. 'day_10' 10 INSERTs of 100 rows each (ids 1-1000, val=id*10).",
      "status": "pass",
      "duration_ms": 32,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 32,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 10997,
      "write_warm_ms": 10039,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/266_invariant_violation",
      "num": 266,
      "name": "invariant_violation",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/266_invariant_violation.py",
      "read_script": "generator/df-reads-spark/266_invariant_violation.sql",
      "description": "1 row: (1, 85) CHECK constraint added after INSERT: score_range: score >= 0 AND score <= 100",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2670_etl_upsert_soft_delete",
      "num": 2670,
      "name": "etl_upsert_soft_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2670_etl_upsert_soft_delete.py",
      "read_script": "generator/df-reads-spark/2670_etl_upsert_soft_delete.sql",
      "description": "INSERT 500 (all deleted=false), MERGE source ids 1-200: odd ids (1,3,...,199) -> action='delete' -> UPDATE deleted=true (100 rows) even ids (2,4,...,200) -> action='update' -> UPDATE val=i*100 (100 rows)",
      "status": "pass",
      "duration_ms": 34,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 34,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4777,
      "write_warm_ms": 4473,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2671_etl_cdc_replay_chain",
      "num": 2671,
      "name": "etl_cdc_replay_chain",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2671_etl_cdc_replay_chain.py",
      "read_script": "generator/df-reads-spark/2671_etl_cdc_replay_chain.sql",
      "description": "INSERT 200 (all tag='initial', val=i*10), UPDATE ids 1-100 (val+=5000, tag='updated'), DELETE ids 151-200, INSERT 100 (ids 201-300, val=i*20, tag='appended').",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6853,
      "write_warm_ms": 5729,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2672_etl_merge_insert_only",
      "num": 2672,
      "name": "etl_merge_insert_only",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2672_etl_merge_insert_only.py",
      "read_script": "generator/df-reads-spark/2672_etl_merge_insert_only.sql",
      "description": "INSERT 500 (ids 1-500), MERGE source ids 501-1000 (no overlap) -> all NOT MATCHED INSERT.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2965,
      "write_warm_ms": 3531,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2673_etl_merge_update_only",
      "num": 2673,
      "name": "etl_merge_update_only",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2673_etl_merge_update_only.py",
      "read_script": "generator/df-reads-spark/2673_etl_merge_update_only.sql",
      "description": "INSERT 500 (val=i*10), MERGE 500 (ids 1-500, all match) -> UPDATE val=i*99.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4991,
      "write_warm_ms": 4874,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2674_etl_merge_conditional_update",
      "num": 2674,
      "name": "etl_merge_conditional_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2674_etl_merge_conditional_update.py",
      "read_script": "generator/df-reads-spark/2674_etl_merge_conditional_update.sql",
      "description": "INSERT 500 (val=i*10). MERGE source (id=i, val=(501-i)*10). WHEN MATCHED AND source.val > target.val -> UPDATE. (501-i)*10 > i*10 when 501-i > i -> i < 250.5 -> ids 1-250 get updated. ids 1-250: val=(501-i)*10, label='src_i' ids 251-500: val=i*10, label='orig_i' (unchanged)",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5489,
      "write_warm_ms": 5475,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2675_etl_multi_stage_merge",
      "num": 2675,
      "name": "etl_multi_stage_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2675_etl_multi_stage_merge.py",
      "read_script": "generator/df-reads-spark/2675_etl_multi_stage_merge.sql",
      "description": "INSERT 300 (ids 1-300, val=i*10, stage=1). ids 1-200: stage=1 ids 201-300: stage=2 (updated twice, last stage=2 from merge 2) ids 301-400: stage=3 (updated by merge 3) ids 401-500: stage=3 (inserted by merge 3)",
      "status": "pass",
      "duration_ms": 22,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 22,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7212,
      "write_warm_ms": 7382,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2676_merge_all_match_update",
      "num": 2676,
      "name": "merge_all_match_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2676_merge_all_match_update.py",
      "read_script": "generator/df-reads-spark/2676_merge_all_match_update.sql",
      "description": "INSERT 500, MERGE 500 (all match) -> UPDATE val=i*77, label='new_i'.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5359,
      "write_warm_ms": 5244,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2677_merge_no_match_insert",
      "num": 2677,
      "name": "merge_no_match_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2677_merge_no_match_insert.py",
      "read_script": "generator/df-reads-spark/2677_merge_no_match_insert.sql",
      "description": "INSERT 500 (ids 1-500), MERGE 500 source (ids 501-1000, none match) -> all NOT MATCHED INSERT.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3847,
      "write_warm_ms": 3624,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2678_merge_delete_all",
      "num": 2678,
      "name": "merge_delete_all",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2678_merge_delete_all.py",
      "read_script": "generator/df-reads-spark/2678_merge_delete_all.sql",
      "description": "INSERT 500, MERGE 500 (all match) WHEN MATCHED THEN DELETE.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4446,
      "write_warm_ms": 4966,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2679_merge_compound_key",
      "num": 2679,
      "name": "merge_compound_key",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2679_merge_compound_key.py",
      "read_script": "generator/df-reads-spark/2679_merge_compound_key.sql",
      "description": "a = i/10 (integer division), b = i%10 for i=1..500. INSERT 500, MERGE source i=1..250 (same a/b keys) -> UPDATE val=i*99, label='merged_i'.",
      "status": "pass",
      "duration_ms": 88,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 88,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5047,
      "write_warm_ms": 4507,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/267_invariant_preserve",
      "num": 267,
      "name": "invariant_preserve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/267_invariant_preserve.py",
      "read_script": "generator/df-reads-spark/267_invariant_preserve.sql",
      "description": "1 row: (1, 100) CHECK constraint added after INSERT: value_positive: value > 0",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2680_merge_three_clauses",
      "num": 2680,
      "name": "merge_three_clauses",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2680_merge_three_clauses.py",
      "read_script": "generator/df-reads-spark/2680_merge_three_clauses.sql",
      "description": "INSERT 500 (ids 1-500). MERGE source ids 1-700: ids 1-500 match target: flag=true (i%5=0, i in 1-500): DELETE -> 100 rows removed flag=false: UPDATE val=i*50, label='src_i' -> 400 rows updated ids 501-700 no match -> INSERT",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5147,
      "write_warm_ms": 4832,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2681_merge_with_subquery_source",
      "num": 2681,
      "name": "merge_with_subquery_source",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2681_merge_with_subquery_source.py",
      "read_script": "generator/df-reads-spark/2681_merge_with_subquery_source.sql",
      "description": "INSERT 500, MERGE source ids 1-300 (subquery) -> UPDATE val=src.val+5000, label='updated_id'.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5437,
      "write_warm_ms": 6130,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2682_merge_nmbys_update",
      "num": 2682,
      "name": "merge_nmbys_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2682_merge_nmbys_update.py",
      "read_script": "generator/df-reads-spark/2682_merge_nmbys_update.sql",
      "description": "INSERT 500 (ids 1-500), MERGE source ids 1-300: WHEN MATCHED -> UPDATE val=i*20 WHEN NOT MATCHED BY SOURCE -> UPDATE val=-1 ids 1-300: val=i*20 (matched, updated) ids 301-500: val=-1 (NMBYS, updated)",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5009,
      "write_warm_ms": 4850,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2683_merge_nmbys_delete",
      "num": 2683,
      "name": "merge_nmbys_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2683_merge_nmbys_delete.py",
      "read_script": "generator/df-reads-spark/2683_merge_nmbys_delete.sql",
      "description": "INSERT 500 (ids 1-500), MERGE source ids 1-300: WHEN MATCHED -> UPDATE val=i*20 WHEN NOT MATCHED BY SOURCE -> DELETE (removes ids 301-500)",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5453,
      "write_warm_ms": 4436,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2684_merge_large_source_small_target",
      "num": 2684,
      "name": "merge_large_source_small_target",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2684_merge_large_source_small_target.py",
      "read_script": "generator/df-reads-spark/2684_merge_large_source_small_target.sql",
      "description": "INSERT 100 (ids 1-100), MERGE 1000 source (ids 1-1000): ids 1-100 match -> UPDATE val=i*50, label='src_i' ids 101-1000 no match -> INSERT",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4484,
      "write_warm_ms": 4347,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2685_merge_small_source_large_target",
      "num": 2685,
      "name": "merge_small_source_large_target",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2685_merge_small_source_large_target.py",
      "read_script": "generator/df-reads-spark/2685_merge_small_source_large_target.sql",
      "description": "INSERT 1000 (ids 1-1000), MERGE 100 source (ids 1-100, all match) -> UPDATE val=i*999, label='updated_i'.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4168,
      "write_warm_ms": 4159,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2686_merge_self_join_update",
      "num": 2686,
      "name": "merge_self_join_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2686_merge_self_join_update.py",
      "read_script": "generator/df-reads-spark/2686_merge_self_join_update.sql",
      "description": "INSERT 500 (id=i, val=i*10). MERGE table with snapshot of itself: val = target.val * 2.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5321,
      "write_warm_ms": 4398,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2687_merge_with_cdc_all_clauses",
      "num": 2687,
      "name": "merge_with_cdc_all_clauses",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2687_merge_with_cdc_all_clauses.py",
      "read_script": "generator/df-reads-spark/2687_merge_with_cdc_all_clauses.sql",
      "description": "INSERT 300 (all tag='initial'). MERGE source ids 101-400: ids 101-150 match (target.id <= 150) -> DELETE (50 rows) ids 151-300 match -> UPDATE val=i*50, tag='merged' ids 301-400 no match -> INSERT",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5160,
      "write_warm_ms": 4568,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2688_merge_partitioned_cross",
      "num": 2688,
      "name": "merge_partitioned_cross",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2688_merge_partitioned_cross.py",
      "read_script": "generator/df-reads-spark/2688_merge_partitioned_cross.sql",
      "description": "PARTITIONED BY (region): na/eu/ap/sa by i%4 INSERT 500. MERGE source ids 1-300 with region='xx' -> MATCHED UPDATE val=i*77, region='xx'.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4520,
      "write_warm_ms": 3876,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2689_merge_with_identity",
      "num": 2689,
      "name": "merge_with_identity",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2689_merge_with_identity.py",
      "read_script": "generator/df-reads-spark/2689_merge_with_identity.sql",
      "description": "INSERT 300 (ids 1-300, key=i), MERGE keys 301-500 NOT MATCHED -> INSERT (ids 301-500).",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3475,
      "write_warm_ms": 3265,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/268_invariant_nested",
      "num": 268,
      "name": "invariant_nested",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/268_invariant_nested.py",
      "read_script": "generator/df-reads-spark/268_invariant_nested.sql",
      "description": "1 row: (1, {age: 25, country: 'US'}) CHECK constraint added after INSERT: age_valid: profile.age >= 0 AND profile.age <= 150",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "delta:constraints",
        "scale:nested-types",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2690_merge_update_computed_expr",
      "num": 2690,
      "name": "merge_update_computed_expr",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2690_merge_update_computed_expr.py",
      "read_script": "generator/df-reads-spark/2690_merge_update_computed_expr.sql",
      "description": "INSERT 500 (val=i*10, name='row_i'). MERGE 500 source (val=i*5): WHEN MATCHED -> val = target.val + source.val, name = CONCAT(target.name, '_merged').",
      "status": "pass",
      "duration_ms": 24,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 24,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4678,
      "write_warm_ms": 4836,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2691_restore_basic_to_v1",
      "num": 2691,
      "name": "restore_basic_to_v1",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2691_restore_basic_to_v1.py",
      "read_script": "generator/df-reads-spark/2691_restore_basic_to_v1.sql",
      "description": "Basic RESTORE TO VERSION AS OF 1.",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 9619,
      "write_warm_ms": 9108,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2692_restore_after_delete",
      "num": 2692,
      "name": "restore_after_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2692_restore_after_delete.py",
      "read_script": "generator/df-reads-spark/2692_restore_after_delete.sql",
      "description": "RESTORE after DELETE restores deleted rows.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 9998,
      "write_warm_ms": 11021,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2693_restore_after_merge",
      "num": 2693,
      "name": "restore_after_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2693_restore_after_merge.py",
      "read_script": "generator/df-reads-spark/2693_restore_after_merge.sql",
      "description": "RESTORE after MERGE undoes merged rows.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 10911,
      "write_warm_ms": 11149,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2694_restore_after_truncate",
      "num": 2694,
      "name": "restore_after_truncate",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2694_restore_after_truncate.py",
      "read_script": "generator/df-reads-spark/2694_restore_after_truncate.sql",
      "description": "RESTORE after TRUNCATE brings all rows back.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8713,
      "write_warm_ms": 8443,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:truncate",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2695_restore_after_optimize",
      "num": 2695,
      "name": "restore_after_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2695_restore_after_optimize.py",
      "read_script": "generator/df-reads-spark/2695_restore_after_optimize.sql",
      "description": "RESTORE after OPTIMIZE reverts file compaction.",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 13998,
      "write_warm_ms": 14522,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2696_restore_then_insert",
      "num": 2696,
      "name": "restore_then_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2696_restore_then_insert.py",
      "read_script": "generator/df-reads-spark/2696_restore_then_insert.sql",
      "description": "ids 1-500: val=i*3 (restored), tag='row_i' ids 501-700: val=i*3, tag='row_i",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 11764,
      "write_warm_ms": 11514,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2697_restore_then_merge",
      "num": 2697,
      "name": "restore_then_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2697_restore_then_merge.py",
      "read_script": "generator/df-reads-spark/2697_restore_then_merge.sql",
      "description": "MERGE after RESTORE continues from restored state.",
      "status": "pass",
      "duration_ms": 26,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 26,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 13818,
      "write_warm_ms": 13431,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2698_restore_chain",
      "num": 2698,
      "name": "restore_chain",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2698_restore_chain.py",
      "read_script": "generator/df-reads-spark/2698_restore_chain.sql",
      "description": "RESTORE to an intermediate version in a multi-INSERT chain.",
      "status": "pass",
      "duration_ms": 24,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 24,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 9304,
      "write_warm_ms": 9041,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2699_restore_with_cdc",
      "num": 2699,
      "name": "restore_with_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2699_restore_with_cdc.py",
      "read_script": "generator/df-reads-spark/2699_restore_with_cdc.sql",
      "description": "CDC enabled. V0: empty, V1: INSERT 500, V2: UPDATE ids 1-200 val=0, V3: RESTORE VERSION 1.",
      "status": "pass",
      "duration_ms": 25,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 25,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 9745,
      "write_warm_ms": 10288,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/269_conflict_write_write",
      "num": 269,
      "name": "conflict_write_write",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/269_conflict_write_write.py",
      "read_script": "generator/df-reads-spark/269_conflict_write_write.sql",
      "description": "3 rows with timestamps offset from 2024-01-01 00:00:00 UTC: (1, 100, BASE+1s), (2, 200, BASE+2s), (3, 300, BASE+3s) BASE = 1704067200000000 microseconds",
      "status": "pass",
      "duration_ms": 21,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 21,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/26_table_features_existing_table_upgrade",
      "num": 26,
      "name": "table_features_existing_table_upgrade",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/26_table_features_existing_table_upgrade.py",
      "read_script": "generator/df-reads-spark/26_table_features_existing_table_upgrade.sql",
      "description": "Schema (16 columns): maintenance_id STRING, equipment_id STRING, equipment_type STRING, facility STRING, maintenance_date STRING, maintenance_type STRING, technician_id STRING, duration_hours DOUBLE, parts_cost DOUBLE, labor_cost DOUBLE, total_cost DOUBLE,",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 6654,
      "tags": [
        "type:boolean",
        "type:date",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2700_restore_with_colmap",
      "num": 2700,
      "name": "restore_with_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2700_restore_with_colmap.py",
      "read_script": "generator/df-reads-spark/2700_restore_with_colmap.sql",
      "description": "RESTORE on a column-mapping (name mode) table.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 10972,
      "write_warm_ms": 10073,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2701_restore_with_partition",
      "num": 2701,
      "name": "restore_with_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2701_restore_with_partition.py",
      "read_script": "generator/df-reads-spark/2701_restore_with_partition.sql",
      "description": "RESTORE on a partitioned table restores deleted partitions.",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7371,
      "write_warm_ms": 6869,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2702_restore_with_identity",
      "num": 2702,
      "name": "restore_with_identity",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2702_restore_with_identity.py",
      "read_script": "generator/df-reads-spark/2702_restore_with_identity.sql",
      "description": "RESTORE on a table with identity-like column preserves IDs.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 9398,
      "write_warm_ms": 9672,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2703_vacuum_basic",
      "num": 2703,
      "name": "vacuum_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2703_vacuum_basic.py",
      "read_script": "generator/df-reads-spark/2703_vacuum_basic.sql",
      "description": "INSERT 500. DELETE WHERE id<=250. VACUUM RETAIN 0 HOURS.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 22057,
      "write_warm_ms": 15503,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2704_vacuum_after_optimize",
      "num": 2704,
      "name": "vacuum_after_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2704_vacuum_after_optimize.py",
      "read_script": "generator/df-reads-spark/2704_vacuum_after_optimize.sql",
      "description": "INSERT 500 in 5 batches of 100. OPTIMIZE. VACUUM RETAIN 0 HOURS.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 20682,
      "write_warm_ms": 22254,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2705_vacuum_after_update",
      "num": 2705,
      "name": "vacuum_after_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2705_vacuum_after_update.py",
      "read_script": "generator/df-reads-spark/2705_vacuum_after_update.sql",
      "description": "INSERT 500 (val=i*3). UPDATE SET val=val*2 WHERE id<=250. VACUUM RETAIN 0 HOURS.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 13692,
      "write_warm_ms": 13737,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2706_vacuum_preserves_cdc",
      "num": 2706,
      "name": "vacuum_preserves_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2706_vacuum_preserves_cdc.py",
      "read_script": "generator/df-reads-spark/2706_vacuum_preserves_cdc.sql",
      "description": "INSERT 500. DELETE WHERE id<=200. VACUUM RETAIN 0 HOURS. CDC enabled.",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 14657,
      "write_warm_ms": 15609,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2707_vacuum_partitioned",
      "num": 2707,
      "name": "vacuum_partitioned",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2707_vacuum_partitioned.py",
      "read_script": "generator/df-reads-spark/2707_vacuum_partitioned.sql",
      "description": "INSERT 500 (4 regions). DELETE WHERE region='na' (125 rows). VACUUM RETAIN 0 HOURS.",
      "status": "pass",
      "duration_ms": 24,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 24,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 12813,
      "write_warm_ms": 12868,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2708_vacuum_multiple_rounds",
      "num": 2708,
      "name": "vacuum_multiple_rounds",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2708_vacuum_multiple_rounds.py",
      "read_script": "generator/df-reads-spark/2708_vacuum_multiple_rounds.sql",
      "description": "INSERT 500. Three rounds of DELETE+VACUUM.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 41984,
      "write_warm_ms": 45649,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2709_vacuum_after_schema_evolve",
      "num": 2709,
      "name": "vacuum_after_schema_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2709_vacuum_after_schema_evolve.py",
      "read_script": "generator/df-reads-spark/2709_vacuum_after_schema_evolve.sql",
      "description": "INSERT 300 (3 cols). ALTER ADD extra_col. INSERT 200 (4 cols). DELETE id<=100. VACUUM. Schema (final): id BIGINT, val INT, tag STRING, extra_col STRING",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 17932,
      "write_warm_ms": 17311,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/270_conflict_serializable",
      "num": 270,
      "name": "conflict_serializable",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/270_conflict_serializable.py",
      "read_script": "generator/df-reads-spark/270_conflict_serializable.sql",
      "description": "3 accounts. Serializable isolation level.",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2710_vacuum_then_insert",
      "num": 2710,
      "name": "vacuum_then_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2710_vacuum_then_insert.py",
      "read_script": "generator/df-reads-spark/2710_vacuum_then_insert.sql",
      "description": "INSERT 500. DELETE all. VACUUM. INSERT 300 fresh rows.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 14155,
      "write_warm_ms": 13294,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2711_time_travel_read_each_version",
      "num": 2711,
      "name": "time_travel_read_each_version",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2711_time_travel_read_each_version.py",
      "read_script": "generator/df-reads-spark/2711_time_travel_read_each_version.sql",
      "description": "Time travel reads at each version.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4725,
      "write_warm_ms": 4126,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2712_time_travel_after_delete",
      "num": 2712,
      "name": "time_travel_after_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2712_time_travel_after_delete.py",
      "read_script": "generator/df-reads-spark/2712_time_travel_after_delete.sql",
      "description": "V1=500 rows, V2=300 rows. Final: 300.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3707,
      "write_warm_ms": 3504,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2713_time_travel_after_update",
      "num": 2713,
      "name": "time_travel_after_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2713_time_travel_after_update.py",
      "read_script": "generator/df-reads-spark/2713_time_travel_after_update.sql",
      "description": "Time travel reads before and after UPDATE.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3505,
      "write_warm_ms": 3828,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2714_time_travel_after_merge",
      "num": 2714,
      "name": "time_travel_after_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2714_time_travel_after_merge.py",
      "read_script": "generator/df-reads-spark/2714_time_travel_after_merge.sql",
      "description": "V1=300 rows, V2=500 rows.",
      "status": "pass",
      "duration_ms": 144,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 144,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3626,
      "write_warm_ms": 3301,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2715_time_travel_after_schema_evolve",
      "num": 2715,
      "name": "time_travel_after_schema_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2715_time_travel_after_schema_evolve.py",
      "read_script": "generator/df-reads-spark/2715_time_travel_after_schema_evolve.sql",
      "description": "V1=300 rows (2 cols), V3=500 rows (3 cols). Schema (final): id BIGINT, val INT, tag STRING",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3115,
      "write_warm_ms": 2722,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2716_time_travel_with_colmap",
      "num": 2716,
      "name": "time_travel_with_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2716_time_travel_with_colmap.py",
      "read_script": "generator/df-reads-spark/2716_time_travel_with_colmap.sql",
      "description": "Column mapping name mode. Reads at V1 should show original vals.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3898,
      "write_warm_ms": 4149,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2717_time_travel_partitioned",
      "num": 2717,
      "name": "time_travel_partitioned",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2717_time_travel_partitioned.py",
      "read_script": "generator/df-reads-spark/2717_time_travel_partitioned.sql",
      "description": "375 rows (500 inserted, 125 'na' rows deleted)",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2431,
      "write_warm_ms": 2444,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2718_time_travel_after_optimize",
      "num": 2718,
      "name": "time_travel_after_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2718_time_travel_after_optimize.py",
      "read_script": "generator/df-reads-spark/2718_time_travel_after_optimize.sql",
      "description": "INSERT 500 in 5 batches (V1-V5). OPTIMIZE (V6). V5=500 rows, V6=500 rows (same data, compacted).",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7970,
      "write_warm_ms": 7460,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2719_timestamp_microsecond_precision",
      "num": 2719,
      "name": "timestamp_microsecond_precision",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2719_timestamp_microsecond_precision.py",
      "read_script": "generator/df-reads-spark/2719_timestamp_microsecond_precision.sql",
      "description": "500 rows. ts = 2024-01-01T00:00:00Z + i microseconds. BASE = 1704067200000000 micros.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1967,
      "write_warm_ms": 1529,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/271_conflict_write_serializable",
      "num": 271,
      "name": "conflict_write_serializable",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/271_conflict_write_serializable.py",
      "read_script": "generator/df-reads-spark/271_conflict_write_serializable.sql",
      "description": "2 products. WriteSerializable isolation.",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2720_timestamp_day_boundaries",
      "num": 2720,
      "name": "timestamp_day_boundaries",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2720_timestamp_day_boundaries.py",
      "read_script": "generator/df-reads-spark/2720_timestamp_day_boundaries.sql",
      "description": "365 rows. One timestamp per day starting 2024-01-01. ts = BASE + (i-1)*86400000000 micros.",
      "status": "pass",
      "duration_ms": 39,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 39,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1995,
      "write_warm_ms": 1703,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2721_timestamp_year_range",
      "num": 2721,
      "name": "timestamp_year_range",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2721_timestamp_year_range.py",
      "read_script": "generator/df-reads-spark/2721_timestamp_year_range.sql",
      "description": "10 rows. ts = 1577836800000000 + (i-1)*31536000000000 micros (~1 year each). BASE = 2020-01-01T00:00:00Z.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1753,
      "write_warm_ms": 1834,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2722_timestamp_null_handling",
      "num": 2722,
      "name": "timestamp_null_handling",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2722_timestamp_null_handling.py",
      "read_script": "generator/df-reads-spark/2722_timestamp_null_handling.sql",
      "description": "500 rows. ids 1-400 have ts; ids 401-500 have NULL ts.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1506,
      "write_warm_ms": 1764,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2723_timestamp_after_update",
      "num": 2723,
      "name": "timestamp_after_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2723_timestamp_after_update.py",
      "read_script": "generator/df-reads-spark/2723_timestamp_after_update.sql",
      "description": "INSERT 500 (ts = BASE + i*1000000). UPDATE SET ts=BASE WHERE id<=100.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4028,
      "write_warm_ms": 4154,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2724_timestamp_partition",
      "num": 2724,
      "name": "timestamp_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2724_timestamp_partition.py",
      "read_script": "generator/df-reads-spark/2724_timestamp_partition.sql",
      "description": "500 rows across 30 partitions. day_str = 'day_' + (i%30). PARTITIONED BY (day_str).",
      "status": "pass",
      "duration_ms": 78,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 78,
      "read_warm_ms": 21,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2150,
      "write_warm_ms": 2474,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2725_timestamp_merge_temporal",
      "num": 2725,
      "name": "timestamp_merge_temporal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2725_timestamp_merge_temporal.py",
      "read_script": "generator/df-reads-spark/2725_timestamp_merge_temporal.sql",
      "description": "INSERT 500 (ts = BASE + i*1000000). MERGE 200 source rows (id 1..200) with src.ts = BASE + i*1000000 + 500000000. WHEN MATCHED AND src.ts > target.ts THEN UPDATE SET ts=src.ts. All 200 matched rows get updated (src.ts > target.ts always).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4925,
      "write_warm_ms": 4275,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2726_partition_null_key",
      "num": 2726,
      "name": "partition_null_key",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2726_partition_null_key.py",
      "read_script": "generator/df-reads-spark/2726_partition_null_key.sql",
      "description": "600 rows (500 with region, 100 with NULL region)",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2590,
      "write_warm_ms": 2495,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2727_partition_single_value",
      "num": 2727,
      "name": "partition_single_value",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2727_partition_single_value.py",
      "read_script": "generator/df-reads-spark/2727_partition_single_value.sql",
      "description": "500 rows, all category='default'. PARTITIONED BY (category).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1975,
      "write_warm_ms": 2066,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2728_partition_high_cardinality",
      "num": 2728,
      "name": "partition_high_cardinality",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2728_partition_high_cardinality.py",
      "read_script": "generator/df-reads-spark/2728_partition_high_cardinality.sql",
      "description": "500 rows, each with unique user_id. PARTITIONED BY (user_id).",
      "status": "pass",
      "duration_ms": 148,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 148,
      "read_warm_ms": 59,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2805,
      "write_warm_ms": 2412,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2729_partition_with_special_chars",
      "num": 2729,
      "name": "partition_with_special_chars",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2729_partition_with_special_chars.py",
      "read_script": "generator/df-reads-spark/2729_partition_with_special_chars.sql",
      "description": "500 rows across 10 tags (tag_01..tag_10). PARTITIONED BY (tag).",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1584,
      "write_warm_ms": 1748,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/272_conflict_snapshot",
      "num": 272,
      "name": "conflict_snapshot",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/272_conflict_snapshot.py",
      "read_script": "generator/df-reads-spark/272_conflict_snapshot.sql",
      "description": "5 rows inserted in 5 separate INSERTs. Timestamps at 1-second intervals. BASE = 1704067200000000 micros (2024-01-01T00:00:00Z)",
      "status": "pass",
      "duration_ms": 42,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 42,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "iceberg:snapshots",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2730_partition_overwrite_one",
      "num": 2730,
      "name": "partition_overwrite_one",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2730_partition_overwrite_one.py",
      "read_script": "generator/df-reads-spark/2730_partition_overwrite_one.sql",
      "description": "425 rows (125 na + 50 eu new + 125 ap + 125 sa)",
      "status": "pass",
      "duration_ms": 20,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 20,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3419,
      "write_warm_ms": 3261,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2731_partition_delete_entire",
      "num": 2731,
      "name": "partition_delete_entire",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2731_partition_delete_entire.py",
      "read_script": "generator/df-reads-spark/2731_partition_delete_entire.sql",
      "description": "INSERT 500 (4 regions). DELETE WHERE region='na'. Final: 375 rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2177,
      "write_warm_ms": 2572,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2732_partition_merge_cross",
      "num": 2732,
      "name": "partition_merge_cross",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2732_partition_merge_cross.py",
      "read_script": "generator/df-reads-spark/2732_partition_merge_cross.sql",
      "description": "INSERT 500, then MERGE update val+5000 for ids 1-200 (across all partitions).",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4757,
      "write_warm_ms": 4846,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2733_partition_optimize",
      "num": 2733,
      "name": "partition_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2733_partition_optimize.py",
      "read_script": "generator/df-reads-spark/2733_partition_optimize.sql",
      "description": "INSERT 500 in 20 batches of 25, then OPTIMIZE. Final: 500 rows.",
      "status": "pass",
      "duration_ms": 88,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 88,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 27621,
      "write_warm_ms": 26666,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2734_partition_zorder",
      "num": 2734,
      "name": "partition_zorder",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2734_partition_zorder.py",
      "read_script": "generator/df-reads-spark/2734_partition_zorder.sql",
      "description": "INSERT 500, then OPTIMIZE ZORDER BY (val). Final: 500 rows.",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3221,
      "write_warm_ms": 3115,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2735_partition_vacuum",
      "num": 2735,
      "name": "partition_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2735_partition_vacuum.py",
      "read_script": "generator/df-reads-spark/2735_partition_vacuum.sql",
      "description": "INSERT 500 (4 regions). DELETE WHERE id<=200. VACUUM RETAIN 0 HOURS.",
      "status": "pass",
      "duration_ms": 29,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 29,
      "read_warm_ms": 24,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 13170,
      "write_warm_ms": 12950,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2736_partition_schema_evolve",
      "num": 2736,
      "name": "partition_schema_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2736_partition_schema_evolve.py",
      "read_script": "generator/df-reads-spark/2736_partition_schema_evolve.sql",
      "description": "Schema (final): id BIGINT, val INT, name STRING, region STRING, tag STRING",
      "status": "pass",
      "duration_ms": 66,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 66,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2885,
      "write_warm_ms": 3109,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2737_partition_cdc",
      "num": 2737,
      "name": "partition_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2737_partition_cdc.py",
      "read_script": "generator/df-reads-spark/2737_partition_cdc.sql",
      "description": "INSERT 500 (4 regions). UPDATE SET val=val+9000 WHERE id<=200.",
      "status": "pass",
      "duration_ms": 20,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 20,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4220,
      "write_warm_ms": 4001,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2738_partition_restore",
      "num": 2738,
      "name": "partition_restore",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2738_partition_restore.py",
      "read_script": "generator/df-reads-spark/2738_partition_restore.sql",
      "description": "500 rows (all 4 partitions restored)",
      "status": "pass",
      "duration_ms": 51,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 51,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7766,
      "write_warm_ms": 7104,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2739_partition_identity",
      "num": 2739,
      "name": "partition_identity",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2739_partition_identity.py",
      "read_script": "generator/df-reads-spark/2739_partition_identity.sql",
      "description": "INSERT 500 rows (omitting id). Auto-generated IDs 1-500. PARTITIONED BY (region).",
      "status": "pass",
      "duration_ms": 51,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 51,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1524,
      "write_warm_ms": 1484,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/273_conflict_file_level",
      "num": 273,
      "name": "conflict_file_level",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/273_conflict_file_level.py",
      "read_script": "generator/df-reads-spark/273_conflict_file_level.sql",
      "description": "3 rows: (1,'a'), (2,'b'), (3,'c'). Then OPTIMIZE to compact.",
      "status": "pass",
      "duration_ms": 20,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 20,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2740_partition_colmap",
      "num": 2740,
      "name": "partition_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2740_partition_colmap.py",
      "read_script": "generator/df-reads-spark/2740_partition_colmap.sql",
      "description": "500 rows, 4 regions. Column mapping name mode + PARTITIONED BY (region).",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1456,
      "write_warm_ms": 1568,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2741_dv_delete_single_row",
      "num": 2741,
      "name": "dv_delete_single_row",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2741_dv_delete_single_row.py",
      "read_script": "generator/df-reads-spark/2741_dv_delete_single_row.sql",
      "description": "INSERT 500 rows. DELETE WHERE id = 250.",
      "status": "pass",
      "duration_ms": 74,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 74,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4373,
      "write_warm_ms": 3366,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2742_dv_delete_last_row",
      "num": 2742,
      "name": "dv_delete_last_row",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2742_dv_delete_last_row.py",
      "read_script": "generator/df-reads-spark/2742_dv_delete_last_row.sql",
      "description": "INSERT 500 rows. DELETE WHERE id = 500.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5198,
      "write_warm_ms": 4545,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2743_dv_delete_first_row",
      "num": 2743,
      "name": "dv_delete_first_row",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2743_dv_delete_first_row.py",
      "read_script": "generator/df-reads-spark/2743_dv_delete_first_row.sql",
      "description": "INSERT 500 rows. DELETE WHERE id = 1.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5139,
      "write_warm_ms": 4355,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2744_dv_delete_all_rows",
      "num": 2744,
      "name": "dv_delete_all_rows",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2744_dv_delete_all_rows.py",
      "read_script": "generator/df-reads-spark/2744_dv_delete_all_rows.sql",
      "description": "INSERT 500 rows. DELETE WHERE id > 0.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3486,
      "write_warm_ms": 3566,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2745_dv_delete_then_reinsert",
      "num": 2745,
      "name": "dv_delete_then_reinsert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2745_dv_delete_then_reinsert.py",
      "read_script": "generator/df-reads-spark/2745_dv_delete_then_reinsert.sql",
      "description": "INSERT 500. DELETE WHERE id<=250. INSERT ids 501-750.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4104,
      "write_warm_ms": 4692,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2746_dv_multiple_deletes",
      "num": 2746,
      "name": "dv_multiple_deletes",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2746_dv_multiple_deletes.py",
      "read_script": "generator/df-reads-spark/2746_dv_multiple_deletes.sql",
      "description": "INSERT 500. DELETE WHERE id%5=0. DELETE WHERE id%5=1.",
      "status": "pass",
      "duration_ms": 38,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 38,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5503,
      "write_warm_ms": 6227,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2747_dv_delete_then_optimize",
      "num": 2747,
      "name": "dv_delete_then_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2747_dv_delete_then_optimize.py",
      "read_script": "generator/df-reads-spark/2747_dv_delete_then_optimize.sql",
      "description": "INSERT 500. DELETE WHERE id<=200. OPTIMIZE.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5452,
      "write_warm_ms": 5387,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2748_dv_delete_with_cdc",
      "num": 2748,
      "name": "dv_delete_with_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2748_dv_delete_with_cdc.py",
      "read_script": "generator/df-reads-spark/2748_dv_delete_with_cdc.sql",
      "description": "INSERT 500. DELETE WHERE id<=200 (CDC enabled).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3974,
      "write_warm_ms": 3706,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2749_dv_delete_partitioned",
      "num": 2749,
      "name": "dv_delete_partitioned",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2749_dv_delete_partitioned.py",
      "read_script": "generator/df-reads-spark/2749_dv_delete_partitioned.sql",
      "description": "INSERT 500 (4 regions). DELETE WHERE region='na' AND id%8=0. na rows are ids where i%4=0 (4,8,...500). id%8=0 picks 8,16,...496 -> 62 rows.",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3699,
      "write_warm_ms": 3790,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/274_conflict_predicate",
      "num": 274,
      "name": "conflict_predicate",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/274_conflict_predicate.py",
      "read_script": "generator/df-reads-spark/274_conflict_predicate.sql",
      "description": "4 rows: (north,100,Q1), (north,150,Q2), (south,200,Q1), (south,250,Q2).",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2750_dv_delete_update_interleave",
      "num": 2750,
      "name": "dv_delete_update_interleave",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2750_dv_delete_update_interleave.py",
      "read_script": "generator/df-reads-spark/2750_dv_delete_update_interleave.sql",
      "description": "INSERT 500. DELETE WHERE id%3=0 (166 rows). UPDATE SET val=999 WHERE id%3=1 (167 rows).",
      "status": "pass",
      "duration_ms": 24,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 24,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7356,
      "write_warm_ms": 6400,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2751_identity_basic",
      "num": 2751,
      "name": "identity_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2751_identity_basic.py",
      "read_script": "generator/df-reads-spark/2751_identity_basic.sql",
      "description": "INSERT 500 rows with sequential IDs 1-500 (simulating IDENTITY).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1897,
      "write_warm_ms": 1927,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2752_identity_after_delete",
      "num": 2752,
      "name": "identity_after_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2752_identity_after_delete.py",
      "read_script": "generator/df-reads-spark/2752_identity_after_delete.sql",
      "description": "INSERT 500 (ids 1-500). DELETE WHERE id<=100. INSERT 200 more (ids 501-700).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5725,
      "write_warm_ms": 4552,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2753_identity_with_merge",
      "num": 2753,
      "name": "identity_with_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2753_identity_with_merge.py",
      "read_script": "generator/df-reads-spark/2753_identity_with_merge.sql",
      "description": "INSERT 300 (ids 1-300). MERGE 200 NOT MATCHED rows (ids 301-500 auto).",
      "status": "pass",
      "duration_ms": 47,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 47,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3604,
      "write_warm_ms": 3752,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2754_identity_explicit_and_auto",
      "num": 2754,
      "name": "identity_explicit_and_auto",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2754_identity_explicit_and_auto.py",
      "read_script": "generator/df-reads-spark/2754_identity_explicit_and_auto.sql",
      "description": "INSERT 200 (auto ids 1-200). INSERT 100 with explicit id=9001-9100.",
      "status": "pass",
      "duration_ms": 44,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 44,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3204,
      "write_warm_ms": 2811,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2755_identity_with_optimize",
      "num": 2755,
      "name": "identity_with_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2755_identity_with_optimize.py",
      "read_script": "generator/df-reads-spark/2755_identity_with_optimize.sql",
      "description": "INSERT 500 (ids 1-500). OPTIMIZE. Verify IDs preserved.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3537,
      "write_warm_ms": 3813,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2756_identity_with_cdc",
      "num": 2756,
      "name": "identity_with_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2756_identity_with_cdc.py",
      "read_script": "generator/df-reads-spark/2756_identity_with_cdc.sql",
      "description": "INSERT 300 (ids 1-300). UPDATE SET val=val+5000 WHERE id<=100.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3717,
      "write_warm_ms": 3949,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2757_stats_after_insert",
      "num": 2757,
      "name": "stats_after_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2757_stats_after_insert.py",
      "read_script": "generator/df-reads-spark/2757_stats_after_insert.sql",
      "description": "INSERT 500 rows (val=i*10). min(val)=10, max(val)=5000.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2105,
      "write_warm_ms": 2234,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2758_stats_after_update",
      "num": 2758,
      "name": "stats_after_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2758_stats_after_update.py",
      "read_script": "generator/df-reads-spark/2758_stats_after_update.sql",
      "description": "INSERT 500 (val=i*10). UPDATE val=val+10000 WHERE id<=100. max(val)=11000 (id=100: 1000+10000).",
      "status": "pass",
      "duration_ms": 60,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 60,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4722,
      "write_warm_ms": 4288,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2759_stats_after_delete",
      "num": 2759,
      "name": "stats_after_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2759_stats_after_delete.py",
      "read_script": "generator/df-reads-spark/2759_stats_after_delete.sql",
      "description": "INSERT 500 (val=i). DELETE WHERE val<=100 (removes ids 1-100).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4358,
      "write_warm_ms": 3571,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/275_conflict_schema",
      "num": 275,
      "name": "conflict_schema",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/275_conflict_schema.py",
      "read_script": "generator/df-reads-spark/275_conflict_schema.sql",
      "description": "Detection of concurrent schema changes.",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2760_stats_after_merge",
      "num": 2760,
      "name": "stats_after_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2760_stats_after_merge.py",
      "read_script": "generator/df-reads-spark/2760_stats_after_merge.sql",
      "description": "INSERT 500 (val=i). MERGE source ids 1-200 with new_val=i*100. WHEN MATCHED UPDATE SET val=source.new_val.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4758,
      "write_warm_ms": 5162,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/276_conflict_auto_resolve",
      "num": 276,
      "name": "conflict_auto_resolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/276_conflict_auto_resolve.py",
      "read_script": "generator/df-reads-spark/276_conflict_auto_resolve.sql",
      "description": "5 rows across 5 partitions. Partitioned by partition_id.",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/277_conflict_retry",
      "num": 277,
      "name": "conflict_retry",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/277_conflict_retry.py",
      "read_script": "generator/df-reads-spark/277_conflict_retry.sql",
      "description": "1 row: (1, 0) initial counter.",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/278_decimal_basic",
      "num": 278,
      "name": "decimal_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/278_decimal_basic.py",
      "read_script": "generator/df-reads-spark/278_decimal_basic.sql",
      "description": "5 orders with DECIMAL amounts.",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/279_zorder_comprehensive",
      "num": 279,
      "name": "zorder_comprehensive",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/279_zorder_comprehensive.py",
      "read_script": "generator/df-reads-spark/279_zorder_comprehensive.sql",
      "description": "9500 rows total: Batch 1 (initial): 5000 rows (i=1..5000) Batch 2 (fragmented): 4000 rows in 20 x 200 (i=5001..9000) OPTIMIZE ZORDER BY (district, sensor_type, reading_date) Batch 3 (post-optimize): 500 rows (i=9001..9500)",
      "status": "pass",
      "duration_ms": 267,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 267,
      "read_warm_ms": 41,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/27_table_features_supported_enumeration",
      "num": 27,
      "name": "table_features_supported_enumeration",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/27_table_features_supported_enumeration.py",
      "read_script": "generator/df-reads-spark/27_table_features_supported_enumeration.sql",
      "description": "Financial Transaction Processing. 2600 rows (2500 initial + 100 new). Multiple UPDATE/DELETE/MERGE operations. CDC, DV, columnMapping enabled.",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 5223,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/280_decimal_scale_widen",
      "num": 280,
      "name": "decimal_scale_widen",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/280_decimal_scale_widen.py",
      "read_script": "generator/df-reads-spark/280_decimal_scale_widen.sql",
      "description": "INSERT 2 rows as DECIMAL(10,2). ALTER COLUMN rate TYPE DECIMAL(15,6). INSERT 2 more rows as DECIMAL(15,6). Final: 4 rows.",
      "status": "pass",
      "duration_ms": 25,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 25,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/281_int_to_decimal",
      "num": 281,
      "name": "int_to_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/281_int_to_decimal.py",
      "read_script": "generator/df-reads-spark/281_int_to_decimal.sql",
      "description": "4 rows stored as DECIMAL(15,2). All 4 inserted directly as DECIMAL.",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/282_decimal_arithmetic",
      "num": 282,
      "name": "decimal_arithmetic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/282_decimal_arithmetic.py",
      "read_script": "generator/df-reads-spark/282_decimal_arithmetic.sql",
      "description": "4 rows INSERT OVERWRITE with high-precision DECIMAL(15,4) and DECIMAL(10,4).",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/283_decimal_edge_cases",
      "num": 283,
      "name": "decimal_edge_cases",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/283_decimal_edge_cases.py",
      "read_script": "generator/df-reads-spark/283_decimal_edge_cases.sql",
      "description": "4 rows: max_positive, max_negative, zero, one with DECIMAL(38,0) and DECIMAL(38,38).",
      "status": "pass",
      "duration_ms": 21,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 21,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/284_decimal_comparison",
      "num": 284,
      "name": "decimal_comparison",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/284_decimal_comparison.py",
      "read_script": "generator/df-reads-spark/284_decimal_comparison.sql",
      "description": "3 rows with same semantic values at DECIMAL(10,2), DECIMAL(15,4), DECIMAL(20,6).",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/285_evolve_add_end",
      "num": 285,
      "name": "evolve_add_end",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/285_evolve_add_end.py",
      "read_script": "generator/df-reads-spark/285_evolve_add_end.sql",
      "description": "56 rows total across 3 batches: Batch 1 (50 rows): id=1-50, name='Person_N', email=NULL, phone=NULL Batch 2 (3 rows): id=51-53, name='WithEmail_N', email='emailN@test.com', phone=NULL Batch 3 (3 rows): id=54-56, name='FullRecord_N', email='fullN@test.com', phone='555-000N",
      "status": "pass",
      "duration_ms": 62,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 62,
      "read_warm_ms": 20,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2861_time_travel_version_zero",
      "num": 2861,
      "name": "time_travel_version_zero",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2861_time_travel_version_zero.py",
      "read_script": "generator/df-reads-spark/2861_time_travel_version_zero.sql",
      "description": "Time travel to version 0 (the empty table right after CREATE).",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3386,
      "write_warm_ms": 3212,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2862_time_travel_five_versions",
      "num": 2862,
      "name": "time_travel_five_versions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2862_time_travel_five_versions.py",
      "read_script": "generator/df-reads-spark/2862_time_travel_five_versions.sql",
      "description": "Time travel across five distinct DML versions",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 10029,
      "write_warm_ms": 8929,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2863_restore_after_optimize",
      "num": 2863,
      "name": "restore_after_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2863_restore_after_optimize.py",
      "read_script": "generator/df-reads-spark/2863_restore_after_optimize.sql",
      "description": "RESTORE to pre-OPTIMIZE version still returns correct data.",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 9269,
      "write_warm_ms": 8511,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2864_restore_after_schema_evolve",
      "num": 2864,
      "name": "restore_after_schema_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2864_restore_after_schema_evolve.py",
      "read_script": "generator/df-reads-spark/2864_restore_after_schema_evolve.sql",
      "description": "RESTORE to a version before schema evolution drops the added column.",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8847,
      "write_warm_ms": 8371,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2865_restore_with_identity",
      "num": 2865,
      "name": "restore_with_identity",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2865_restore_with_identity.py",
      "read_script": "generator/df-reads-spark/2865_restore_with_identity.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires IDENTITY which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2865_restore_with_identity requires IDENTITY which is a Databricks-only feature.",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "IDENTITY_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:identity-columns",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2866_restore_after_vacuum",
      "num": 2866,
      "name": "restore_after_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2866_restore_after_vacuum.py",
      "read_script": "generator/df-reads-spark/2866_restore_after_vacuum.sql",
      "description": "RESTORE to the most recent pre-vacuum version remains safe",
      "status": "pass",
      "duration_ms": 26,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 26,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 18759,
      "write_warm_ms": 19070,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2867_restore_then_dml",
      "num": 2867,
      "name": "restore_then_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2867_restore_then_dml.py",
      "read_script": "generator/df-reads-spark/2867_restore_then_dml.sql",
      "description": "DML applied after a RESTORE continues on top of the restored state.",
      "status": "pass",
      "duration_ms": 29,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 29,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 12009,
      "write_warm_ms": 14545,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2868_restore_twice",
      "num": 2868,
      "name": "restore_twice",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2868_restore_twice.py",
      "read_script": "generator/df-reads-spark/2868_restore_twice.sql",
      "description": "Two sequential RESTORE operations, ending at the earliest snapshot.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 16909,
      "write_warm_ms": 16305,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2869_time_travel_with_colmap",
      "num": 2869,
      "name": "time_travel_with_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2869_time_travel_with_colmap.py",
      "read_script": "generator/df-reads-spark/2869_time_travel_with_colmap.sql",
      "description": "Time travel on a column-mapping-enabled table after an UPDATE.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5275,
      "write_warm_ms": 4515,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/286_evolve_add_middle",
      "num": 286,
      "name": "evolve_add_middle",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/286_evolve_add_middle.py",
      "read_script": "generator/df-reads-spark/286_evolve_add_middle.sql",
      "description": "53 rows. Column mapping name mode. category added between name and value. Schema (final): id BIGINT, name STRING, category STRING, value BIGINT",
      "status": "pass",
      "duration_ms": 45,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 45,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2870_time_travel_with_constraint",
      "num": 2870,
      "name": "time_travel_with_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2870_time_travel_with_constraint.py",
      "read_script": "generator/df-reads-spark/2870_time_travel_with_constraint.sql",
      "description": "Time travel to a version before a DELETE on a table with a CHECK constraint.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5805,
      "write_warm_ms": 5723,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2871_restore_partitioned",
      "num": 2871,
      "name": "restore_partitioned",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2871_restore_partitioned.py",
      "read_script": "generator/df-reads-spark/2871_restore_partitioned.sql",
      "description": "RESTORE on a partitioned Delta table recovers all partitions correctly.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 10198,
      "write_warm_ms": 9057,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2872_time_travel_after_overwrite",
      "num": 2872,
      "name": "time_travel_after_overwrite",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2872_time_travel_after_overwrite.py",
      "read_script": "generator/df-reads-spark/2872_time_travel_after_overwrite.sql",
      "description": "Time travel to recover original rows after an INSERT OVERWRITE replaced all data.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5050,
      "write_warm_ms": 4692,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2873_time_travel_dv_version_diff",
      "num": 2873,
      "name": "time_travel_dv_version_diff",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2873_time_travel_dv_version_diff.py",
      "read_script": "generator/df-reads-spark/2873_time_travel_dv_version_diff.sql",
      "description": "Time travel shows correct row counts before and after a deletion-vector DELETE.",
      "status": "pass",
      "duration_ms": 47,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 47,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3921,
      "write_warm_ms": 4114,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2874_restore_cdc_multi_version",
      "num": 2874,
      "name": "restore_cdc_multi_version",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2874_restore_cdc_multi_version.py",
      "read_script": "generator/df-reads-spark/2874_restore_cdc_multi_version.sql",
      "description": "RESTORE on a CDC-enabled table recovers original state after update+delete.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 10042,
      "write_warm_ms": 9818,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2875_time_travel_many_versions",
      "num": 2875,
      "name": "time_travel_many_versions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2875_time_travel_many_versions.py",
      "read_script": "generator/df-reads-spark/2875_time_travel_many_versions.sql",
      "description": "20 single-row INSERT versions; time travel to any intermediate version is exact.",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 35907,
      "write_warm_ms": 34545,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2876_maint_insert_optimize_insert",
      "num": 2876,
      "name": "maint_insert_optimize_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2876_maint_insert_optimize_insert.py",
      "read_script": "generator/df-reads-spark/2876_maint_insert_optimize_insert.sql",
      "description": "Insert 50 rows, OPTIMIZE, then insert 20 more rows. Verifies data survives compaction.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6323,
      "write_warm_ms": 5508,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2877_maint_delete_optimize_vacuum",
      "num": 2877,
      "name": "maint_delete_optimize_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2877_maint_delete_optimize_vacuum.py",
      "read_script": "generator/df-reads-spark/2877_maint_delete_optimize_vacuum.sql",
      "description": "Insert 100 rows, DELETE id<=30, OPTIMIZE, then VACUUM. DVs compacted away.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 14755,
      "write_warm_ms": 18141,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2878_maint_update_zorder_vacuum",
      "num": 2878,
      "name": "maint_update_zorder_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2878_maint_update_zorder_vacuum.py",
      "read_script": "generator/df-reads-spark/2878_maint_update_zorder_vacuum.sql",
      "description": "Insert 100 rows, UPDATE val+1000 where id<=20, OPTIMIZE (plain, no ZORDER in OSS), VACUUM.",
      "status": "pass",
      "duration_ms": 36,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 36,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 15356,
      "write_warm_ms": 17190,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2879_maint_merge_optimize_vacuum_repeat",
      "num": 2879,
      "name": "maint_merge_optimize_vacuum_repeat",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2879_maint_merge_optimize_vacuum_repeat.py",
      "read_script": "generator/df-reads-spark/2879_maint_merge_optimize_vacuum_repeat.sql",
      "description": "Two cycles of MERGE + OPTIMIZE + VACUUM. Ids 1-50 initial, cycle1 updates 1-10",
      "status": "pass",
      "duration_ms": 29,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 29,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 33676,
      "write_warm_ms": 36593,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/287_evolve_rename",
      "num": 287,
      "name": "evolve_rename",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/287_evolve_rename.py",
      "read_script": "generator/df-reads-spark/287_evolve_rename.sql",
      "description": "53 rows. user_name -> username, user_email -> email via ALTER TABLE RENAME COLUMN. Schema (final): id BIGINT, username STRING, email STRING",
      "status": "pass",
      "duration_ms": 63,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 63,
      "read_warm_ms": 19,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "schema:add-column",
        "schema:rename-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2880_maint_evolve_insert_optimize",
      "num": 2880,
      "name": "maint_evolve_insert_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2880_maint_evolve_insert_optimize.py",
      "read_script": "generator/df-reads-spark/2880_maint_evolve_insert_optimize.sql",
      "description": "Insert 20 rows, ADD COLUMN extra INT via ALTER TABLE, insert 20 more rows with extra,",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6882,
      "write_warm_ms": 6329,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2881_maint_five_ops_pipeline",
      "num": 2881,
      "name": "maint_five_ops_pipeline",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2881_maint_five_ops_pipeline.py",
      "read_script": "generator/df-reads-spark/2881_maint_five_ops_pipeline.sql",
      "description": "Five-operation pipeline: INSERT 100, DELETE id<=20, OPTIMIZE, OPTIMIZE again",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 21099,
      "write_warm_ms": 17929,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2882_maint_cdc_optimize_vacuum",
      "num": 2882,
      "name": "maint_cdc_optimize_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2882_maint_cdc_optimize_vacuum.py",
      "read_script": "generator/df-reads-spark/2882_maint_cdc_optimize_vacuum.sql",
      "description": "CDC-enabled table. Insert 50 rows, DELETE id<=10, OPTIMIZE, VACUUM.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 18146,
      "write_warm_ms": 16324,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2883_maint_partition_optimize_vacuum",
      "num": 2883,
      "name": "maint_partition_optimize_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2883_maint_partition_optimize_vacuum.py",
      "read_script": "generator/df-reads-spark/2883_maint_partition_optimize_vacuum.sql",
      "description": "Partitioned table (by region). Insert 100 rows across 4 regions, DELETE id<=20,",
      "status": "pass",
      "duration_ms": 68,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 68,
      "read_warm_ms": 14,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 15975,
      "write_warm_ms": 17147,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2884_maint_colmap_optimize_zorder",
      "num": 2884,
      "name": "maint_colmap_optimize_zorder",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2884_maint_colmap_optimize_zorder.py",
      "read_script": "generator/df-reads-spark/2884_maint_colmap_optimize_zorder.sql",
      "description": "Column mapping mode table. Insert 100 rows, OPTIMIZE, OPTIMIZE again",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6486,
      "write_warm_ms": 5046,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2885_maint_identity_optimize_vacuum_insert",
      "num": 2885,
      "name": "maint_identity_optimize_vacuum_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2885_maint_identity_optimize_vacuum_insert.py",
      "read_script": "generator/df-reads-spark/2885_maint_identity_optimize_vacuum_insert.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires IDENTITY which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2885_maint_identity_optimize_vacuum_insert requires IDENTITY which is a Databricks-only feature.",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "IDENTITY_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:identity-columns",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2886_maint_overwrite_optimize_vacuum",
      "num": 2886,
      "name": "maint_overwrite_optimize_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2886_maint_overwrite_optimize_vacuum.py",
      "read_script": "generator/df-reads-spark/2886_maint_overwrite_optimize_vacuum.sql",
      "description": "Insert 50 rows, INSERT OVERWRITE with 30 rows (val prefix 'ow_'), OPTIMIZE, VACUUM.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 16719,
      "write_warm_ms": 16393,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2887_maint_truncate_insert_optimize",
      "num": 2887,
      "name": "maint_truncate_insert_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2887_maint_truncate_insert_optimize.py",
      "read_script": "generator/df-reads-spark/2887_maint_truncate_insert_optimize.sql",
      "description": "Insert 50 rows, TRUNCATE (delete all), insert 30 new rows (val = id*5), OPTIMIZE.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8654,
      "write_warm_ms": 7479,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "dml:truncate",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2888_maint_interleaved_dml_optimize",
      "num": 2888,
      "name": "maint_interleaved_dml_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2888_maint_interleaved_dml_optimize.py",
      "read_script": "generator/df-reads-spark/2888_maint_interleaved_dml_optimize.sql",
      "description": "Insert 30 rows (status='active'), OPTIMIZE, DELETE id<=5, OPTIMIZE,",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 11207,
      "write_warm_ms": 11750,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2889_maint_restore_then_optimize",
      "num": 2889,
      "name": "maint_restore_then_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2889_maint_restore_then_optimize.py",
      "read_script": "generator/df-reads-spark/2889_maint_restore_then_optimize.sql",
      "description": "Insert 50 rows, DELETE id<=20, RESTORE to version 1 (the INSERT), OPTIMIZE.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 14820,
      "write_warm_ms": 15812,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/288_evolve_drop",
      "num": 288,
      "name": "evolve_drop",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/288_evolve_drop.py",
      "read_script": "generator/df-reads-spark/288_evolve_drop.sql",
      "description": "53 rows. drop_col STRING removed via ALTER TABLE DROP COLUMN. colmap=name. Schema (final): id BIGINT, keep_col STRING, another_col BIGINT",
      "status": "pass",
      "duration_ms": 56,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 56,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "schema:add-column",
        "schema:drop-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2890_maint_dv_zorder_checkpoint",
      "num": 2890,
      "name": "maint_dv_zorder_checkpoint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2890_maint_dv_zorder_checkpoint.py",
      "read_script": "generator/df-reads-spark/2890_maint_dv_zorder_checkpoint.sql",
      "description": "Insert 50 rows, DELETE id<=10, OPTIMIZE (plain, ZORDER not in OSS), then 8",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 24968,
      "write_warm_ms": 24224,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2891_maint_three_vacuums",
      "num": 2891,
      "name": "maint_three_vacuums",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2891_maint_three_vacuums.py",
      "read_script": "generator/df-reads-spark/2891_maint_three_vacuums.sql",
      "description": "Insert 50 rows, then three successive DELETE + VACUUM cycles removing ids <=10,",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 48500,
      "write_warm_ms": 44455,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2892_maint_merge_zorder_merge",
      "num": 2892,
      "name": "maint_merge_zorder_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2892_maint_merge_zorder_merge.py",
      "read_script": "generator/df-reads-spark/2892_maint_merge_zorder_merge.sql",
      "description": "Insert ids 1-30, MERGE insert ids 31-40 (val prefix 'm1_'), OPTIMIZE (plain,",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8320,
      "write_warm_ms": 7890,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2893_maint_evolve_optimize_evolve",
      "num": 2893,
      "name": "maint_evolve_optimize_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2893_maint_evolve_optimize_evolve.py",
      "read_script": "generator/df-reads-spark/2893_maint_evolve_optimize_evolve.sql",
      "description": "Two schema evolutions (ADD COLUMN) with OPTIMIZE between them.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8413,
      "write_warm_ms": 7125,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2894_maint_partition_rebalance",
      "num": 2894,
      "name": "maint_partition_rebalance",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2894_maint_partition_rebalance.py",
      "read_script": "generator/df-reads-spark/2894_maint_partition_rebalance.sql",
      "description": "Partition rebalance. Insert 60 rows (US 1-20, EU 21-40, AP 41-60),",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7086,
      "write_warm_ms": 6772,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2895_maint_cdc_vacuum_retention",
      "num": 2895,
      "name": "maint_cdc_vacuum_retention",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2895_maint_cdc_vacuum_retention.py",
      "read_script": "generator/df-reads-spark/2895_maint_cdc_vacuum_retention.sql",
      "description": "CDC-enabled table. Insert 20 rows, DELETE id<=5, VACUUM. Verifies deleted rows absent.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 14066,
      "write_warm_ms": 14197,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2896_identity_by_default_override",
      "num": 2896,
      "name": "identity_by_default_override",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2896_identity_by_default_override.py",
      "read_script": "generator/df-reads-spark/2896_identity_by_default_override.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires IDENTITY which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2896_identity_by_default_override requires IDENTITY which is a Databricks-only feature.",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "IDENTITY_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2897_identity_after_optimize",
      "num": 2897,
      "name": "identity_after_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2897_identity_after_optimize.py",
      "read_script": "generator/df-reads-spark/2897_identity_after_optimize.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires IDENTITY which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2897_identity_after_optimize requires IDENTITY which is a Databricks-only feature.",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "IDENTITY_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:identity-columns",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2898_identity_after_truncate_reinsert",
      "num": 2898,
      "name": "identity_after_truncate_reinsert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2898_identity_after_truncate_reinsert.py",
      "read_script": "generator/df-reads-spark/2898_identity_after_truncate_reinsert.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires IDENTITY which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2898_identity_after_truncate_reinsert requires IDENTITY which is a Databricks-only feature.",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "IDENTITY_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "dml:truncate",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2899_identity_two_identity_cols",
      "num": 2899,
      "name": "identity_two_identity_cols",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2899_identity_two_identity_cols.py",
      "read_script": "generator/df-reads-spark/2899_identity_two_identity_cols.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires IDENTITY which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2899_identity_two_identity_cols requires IDENTITY which is a Databricks-only feature.",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "IDENTITY_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/289_evolve_nested_add",
      "num": 289,
      "name": "evolve_nested_add",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/289_evolve_nested_add.py",
      "read_script": "generator/df-reads-spark/289_evolve_nested_add.sql",
      "description": "53 rows. 'phone' field added to 'profile' struct via column mapping (name mode). Schema (final): id BIGINT, profile STRUCT<name STRING, email STRING, phone STRING>",
      "status": "pass",
      "duration_ms": 42,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 42,
      "read_warm_ms": 18,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "delta:column-mapping",
        "schema:add-column",
        "scale:nested-types",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/28_table_features_active_dependencies",
      "num": 28,
      "name": "table_features_active_dependencies",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/28_table_features_active_dependencies.py",
      "read_script": "generator/df-reads-spark/28_table_features_active_dependencies.sql",
      "description": "Telecommunications Call Detail Records. 3000 initial + 100 new - 600 blocked = 2500 rows. Multiple UPDATE/DELETE/MERGE operations. CDC, DV, columnMapping enabled.",
      "status": "pass",
      "duration_ms": 25,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 25,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 6778,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2900_identity_with_constraint",
      "num": 2900,
      "name": "identity_with_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2900_identity_with_constraint.py",
      "read_script": "generator/df-reads-spark/2900_identity_with_constraint.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires IDENTITY which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2900_identity_with_constraint requires IDENTITY which is a Databricks-only feature.",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "IDENTITY_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:constraints",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2901_identity_after_delete_gap",
      "num": 2901,
      "name": "identity_after_delete_gap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2901_identity_after_delete_gap.py",
      "read_script": "generator/df-reads-spark/2901_identity_after_delete_gap.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires IDENTITY which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2901_identity_after_delete_gap requires IDENTITY which is a Databricks-only feature.",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "IDENTITY_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "dml:delete",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2902_identity_with_gencol",
      "num": 2902,
      "name": "identity_with_gencol",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2902_identity_with_gencol.py",
      "read_script": "generator/df-reads-spark/2902_identity_with_gencol.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires IDENTITY which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2902_identity_with_gencol requires IDENTITY which is a Databricks-only feature.",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "IDENTITY_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2903_identity_with_colmap",
      "num": 2903,
      "name": "identity_with_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2903_identity_with_colmap.py",
      "read_script": "generator/df-reads-spark/2903_identity_with_colmap.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires IDENTITY which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2903_identity_with_colmap requires IDENTITY which is a Databricks-only feature.",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "IDENTITY_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:column-mapping",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2904_identity_partition_merge",
      "num": 2904,
      "name": "identity_partition_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2904_identity_partition_merge.py",
      "read_script": "generator/df-reads-spark/2904_identity_partition_merge.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires IDENTITY which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2904_identity_partition_merge requires IDENTITY which is a Databricks-only feature.",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "IDENTITY_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:identity-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2905_identity_large_batch",
      "num": 2905,
      "name": "identity_large_batch",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2905_identity_large_batch.py",
      "read_script": "generator/df-reads-spark/2905_identity_large_batch.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires IDENTITY which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2905_identity_large_batch requires IDENTITY which is a Databricks-only feature.",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "IDENTITY_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2906_identity_after_restore",
      "num": 2906,
      "name": "identity_after_restore",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2906_identity_after_restore.py",
      "read_script": "generator/df-reads-spark/2906_identity_after_restore.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires IDENTITY which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2906_identity_after_restore requires IDENTITY which is a Databricks-only feature.",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "IDENTITY_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:identity-columns",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2907_identity_with_default",
      "num": 2907,
      "name": "identity_with_default",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2907_identity_with_default.py",
      "read_script": "generator/df-reads-spark/2907_identity_with_default.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires IDENTITY which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2907_identity_with_default requires IDENTITY which is a Databricks-only feature.",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "IDENTITY_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2908_identity_multi_batch_insert",
      "num": 2908,
      "name": "identity_multi_batch_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2908_identity_multi_batch_insert.py",
      "read_script": "generator/df-reads-spark/2908_identity_multi_batch_insert.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires IDENTITY which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2908_identity_multi_batch_insert requires IDENTITY which is a Databricks-only feature.",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "IDENTITY_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:identity-columns",
        "scale:many-batches",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2909_identity_with_dv_delete",
      "num": 2909,
      "name": "identity_with_dv_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2909_identity_with_dv_delete.py",
      "read_script": "generator/df-reads-spark/2909_identity_with_dv_delete.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires IDENTITY which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2909_identity_with_dv_delete requires IDENTITY which is a Databricks-only feature.",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "IDENTITY_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/290_evolve_nested_rename",
      "num": 290,
      "name": "evolve_nested_rename",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/290_evolve_nested_rename.py",
      "read_script": "generator/df-reads-spark/290_evolve_nested_rename.sql",
      "description": "52 rows. metadata.created_ts -> metadata.created_at, metadata.updated_ts -> metadata.updated_at via ALTER TABLE RENAME COLUMN. colmap=name mode. Schema (final): id BIGINT, metadata STRUCT<created_at TIMESTAMP, updated_at TIMESTAMP>",
      "status": "pass",
      "duration_ms": 42,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 42,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:struct",
        "type:timestamp",
        "dml:insert",
        "delta:column-mapping",
        "schema:add-column",
        "schema:rename-column",
        "scale:nested-types",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2910_identity_with_rowtrack",
      "num": 2910,
      "name": "identity_with_rowtrack",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2910_identity_with_rowtrack.py",
      "read_script": "generator/df-reads-spark/2910_identity_with_rowtrack.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires IDENTITY+ROWTRACK which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2910_identity_with_rowtrack requires IDENTITY+ROWTRACK which is a Databricks-only feature.",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "IDENTITY_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:identity-columns",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2911_gencol_multiple_generated",
      "num": 2911,
      "name": "gencol_multiple_generated",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2911_gencol_multiple_generated.py",
      "read_script": "generator/df-reads-spark/2911_gencol_multiple_generated.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires GENERATED_COLUMNS which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2911_gencol_multiple_generated requires GENERATED_COLUMNS which is a Databricks-only feature.",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "GENERATED_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:generated-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2912_gencol_after_delete",
      "num": 2912,
      "name": "gencol_after_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2912_gencol_after_delete.py",
      "read_script": "generator/df-reads-spark/2912_gencol_after_delete.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires GENERATED_COLUMNS which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2912_gencol_after_delete requires GENERATED_COLUMNS which is a Databricks-only feature.",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "GENERATED_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:generated-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2913_gencol_after_merge",
      "num": 2913,
      "name": "gencol_after_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2913_gencol_after_merge.py",
      "read_script": "generator/df-reads-spark/2913_gencol_after_merge.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires GENERATED_COLUMNS which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2913_gencol_after_merge requires GENERATED_COLUMNS which is a Databricks-only feature.",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "GENERATED_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:generated-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2914_gencol_with_identity",
      "num": 2914,
      "name": "gencol_with_identity",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2914_gencol_with_identity.py",
      "read_script": "generator/df-reads-spark/2914_gencol_with_identity.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires IDENTITY which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2914_gencol_with_identity requires IDENTITY which is a Databricks-only feature.",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "IDENTITY_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2915_gencol_string_upper",
      "num": 2915,
      "name": "gencol_string_upper",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2915_gencol_string_upper.py",
      "read_script": "generator/df-reads-spark/2915_gencol_string_upper.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires GENERATED_COLUMNS which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2915_gencol_string_upper requires GENERATED_COLUMNS which is a Databricks-only feature.",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "GENERATED_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:generated-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2916_gencol_with_dv_delete",
      "num": 2916,
      "name": "gencol_with_dv_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2916_gencol_with_dv_delete.py",
      "read_script": "generator/df-reads-spark/2916_gencol_with_dv_delete.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires GENERATED_COLUMNS which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2916_gencol_with_dv_delete requires GENERATED_COLUMNS which is a Databricks-only feature.",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "GENERATED_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:deletion-vectors",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2917_gencol_date_diff",
      "num": 2917,
      "name": "gencol_date_diff",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2917_gencol_date_diff.py",
      "read_script": "generator/df-reads-spark/2917_gencol_date_diff.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires GENERATED_COLUMNS which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2917_gencol_date_diff requires GENERATED_COLUMNS which is a Databricks-only feature.",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "GENERATED_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:generated-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2918_gencol_boolean_expression",
      "num": 2918,
      "name": "gencol_boolean_expression",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2918_gencol_boolean_expression.py",
      "read_script": "generator/df-reads-spark/2918_gencol_boolean_expression.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires GENERATED_COLUMNS which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2918_gencol_boolean_expression requires GENERATED_COLUMNS which is a Databricks-only feature.",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "GENERATED_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:generated-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2919_gencol_with_colmap",
      "num": 2919,
      "name": "gencol_with_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2919_gencol_with_colmap.py",
      "read_script": "generator/df-reads-spark/2919_gencol_with_colmap.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires GENERATED_COLUMNS which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2919_gencol_with_colmap requires GENERATED_COLUMNS which is a Databricks-only feature.",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "GENERATED_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:column-mapping",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/291_multi_evolve",
      "num": 291,
      "name": "multi_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/291_multi_evolve.py",
      "read_script": "generator/df-reads-spark/291_multi_evolve.sql",
      "description": "Table with column mapping for multi-step evolution. INSERT 1 row with id=1.",
      "status": "pass",
      "duration_ms": 22,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 22,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2920_gencol_optimize_preserves",
      "num": 2920,
      "name": "gencol_optimize_preserves",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2920_gencol_optimize_preserves.py",
      "read_script": "generator/df-reads-spark/2920_gencol_optimize_preserves.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires GENERATED_COLUMNS which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2920_gencol_optimize_preserves requires GENERATED_COLUMNS which is a Databricks-only feature.",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "GENERATED_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:generated-columns",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2921_gencol_evolve_add_gencol",
      "num": 2921,
      "name": "gencol_evolve_add_gencol",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2921_gencol_evolve_add_gencol.py",
      "read_script": "generator/df-reads-spark/2921_gencol_evolve_add_gencol.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires GENERATED_COLUMNS which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2921_gencol_evolve_add_gencol requires GENERATED_COLUMNS which is a Databricks-only feature.",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "GENERATED_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:generated-columns",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2922_gencol_decimal_round",
      "num": 2922,
      "name": "gencol_decimal_round",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2922_gencol_decimal_round.py",
      "read_script": "generator/df-reads-spark/2922_gencol_decimal_round.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires GENERATED_COLUMNS which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2922_gencol_decimal_round requires GENERATED_COLUMNS which is a Databricks-only feature.",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "GENERATED_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:decimal",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2923_gencol_modulo_partition",
      "num": 2923,
      "name": "gencol_modulo_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2923_gencol_modulo_partition.py",
      "read_script": "generator/df-reads-spark/2923_gencol_modulo_partition.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires GENERATED_COLUMNS which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2923_gencol_modulo_partition requires GENERATED_COLUMNS which is a Databricks-only feature.",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "GENERATED_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:generated-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2924_gencol_timestamp_extract",
      "num": 2924,
      "name": "gencol_timestamp_extract",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2924_gencol_timestamp_extract.py",
      "read_script": "generator/df-reads-spark/2924_gencol_timestamp_extract.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires GENERATED_COLUMNS which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2924_gencol_timestamp_extract requires GENERATED_COLUMNS which is a Databricks-only feature.",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "GENERATED_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:generated-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2925_gencol_after_update_verify",
      "num": 2925,
      "name": "gencol_after_update_verify",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2925_gencol_after_update_verify.py",
      "read_script": "generator/df-reads-spark/2925_gencol_after_update_verify.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires GENERATED_COLUMNS which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2925_gencol_after_update_verify requires GENERATED_COLUMNS which is a Databricks-only feature.",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "GENERATED_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "dml:update",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2926_string_case_merge",
      "num": 2926,
      "name": "string_case_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2926_string_case_merge.py",
      "read_script": "generator/df-reads-spark/2926_string_case_merge.sql",
      "description": "Case-sensitive string matching in MERGE (simulates collation behavior).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5463,
      "write_warm_ms": 5153,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2927_string_upper_after_evolve",
      "num": 2927,
      "name": "string_upper_after_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2927_string_upper_after_evolve.py",
      "read_script": "generator/df-reads-spark/2927_string_upper_after_evolve.sql",
      "description": "Schema evolution followed by UPPER() string function backfill via UPDATE.",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6501,
      "write_warm_ms": 4708,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2928_string_ops_with_cdc",
      "num": 2928,
      "name": "string_ops_with_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2928_string_ops_with_cdc.py",
      "read_script": "generator/df-reads-spark/2928_string_ops_with_cdc.sql",
      "description": "String LOWER() operations with Change Data Feed enabled.",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4646,
      "write_warm_ms": 4449,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2929_string_length_constraint",
      "num": 2929,
      "name": "string_length_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2929_string_length_constraint.py",
      "read_script": "generator/df-reads-spark/2929_string_length_constraint.sql",
      "description": "CHECK constraint on string LENGTH enforced at write time.",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4875,
      "write_warm_ms": 4454,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/292_evolve_cdc",
      "num": 292,
      "name": "evolve_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/292_evolve_cdc.py",
      "read_script": "generator/df-reads-spark/292_evolve_cdc.sql",
      "description": "CDC works correctly across schema changes",
      "status": "pass",
      "duration_ms": 48,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 48,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2930_string_multi_column_ops",
      "num": 2930,
      "name": "string_multi_column_ops",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2930_string_multi_column_ops.py",
      "read_script": "generator/df-reads-spark/2930_string_multi_column_ops.sql",
      "description": "Multiple string columns with concatenation to form a derived full_name column.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3161,
      "write_warm_ms": 3893,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2931_domain_rowtrack_after_dml",
      "num": 2931,
      "name": "domain_rowtrack_after_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2931_domain_rowtrack_after_dml.py",
      "read_script": "generator/df-reads-spark/2931_domain_rowtrack_after_dml.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires ROWTRACK which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2931_domain_rowtrack_after_dml requires ROWTRACK which is a Databricks-only feature.",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "DOMAIN_METADATA_ROWTRACK",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2932_domain_rowtrack_after_merge",
      "num": 2932,
      "name": "domain_rowtrack_after_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2932_domain_rowtrack_after_merge.py",
      "read_script": "generator/df-reads-spark/2932_domain_rowtrack_after_merge.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires ROWTRACK which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2932_domain_rowtrack_after_merge requires ROWTRACK which is a Databricks-only feature.",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "DOMAIN_METADATA_ROWTRACK",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2933_domain_rowtrack_vacuum",
      "num": 2933,
      "name": "domain_rowtrack_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2933_domain_rowtrack_vacuum.py",
      "read_script": "generator/df-reads-spark/2933_domain_rowtrack_vacuum.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires ROWTRACK which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2933_domain_rowtrack_vacuum requires ROWTRACK which is a Databricks-only feature.",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "DOMAIN_METADATA_ROWTRACK",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:row-tracking",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2934_domain_rowtrack_cdc",
      "num": 2934,
      "name": "domain_rowtrack_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2934_domain_rowtrack_cdc.py",
      "read_script": "generator/df-reads-spark/2934_domain_rowtrack_cdc.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires ROWTRACK which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2934_domain_rowtrack_cdc requires ROWTRACK which is a Databricks-only feature.",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "DOMAIN_METADATA_ROWTRACK",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:change-data-feed",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2935_tblprops_custom_metadata",
      "num": 2935,
      "name": "tblprops_custom_metadata",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2935_tblprops_custom_metadata.py",
      "read_script": "generator/df-reads-spark/2935_tblprops_custom_metadata.sql",
      "description": "Data integrity with metadata STRING column alongside standard TBLPROPERTIES.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3468,
      "write_warm_ms": 2872,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2936_string_partition_sort",
      "num": 2936,
      "name": "string_partition_sort",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2936_string_partition_sort.py",
      "read_script": "generator/df-reads-spark/2936_string_partition_sort.sql",
      "description": "STRING column used as partition key; 4 distinct partition directories.",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3408,
      "write_warm_ms": 3584,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2937_string_identity_combined",
      "num": 2937,
      "name": "string_identity_combined",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2937_string_identity_combined.py",
      "read_script": "generator/df-reads-spark/2937_string_identity_combined.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires IDENTITY which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2937_string_identity_combined requires IDENTITY which is a Databricks-only feature.",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "IDENTITY_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2938_rowtrack_with_colmap",
      "num": 2938,
      "name": "rowtrack_with_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2938_rowtrack_with_colmap.py",
      "read_script": "generator/df-reads-spark/2938_rowtrack_with_colmap.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires ROWTRACK which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2938_rowtrack_with_colmap requires ROWTRACK which is a Databricks-only feature.",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "DATABRICKS_ONLY",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:column-mapping",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2939_string_optimize_preserves",
      "num": 2939,
      "name": "string_optimize_preserves",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2939_string_optimize_preserves.py",
      "read_script": "generator/df-reads-spark/2939_string_optimize_preserves.sql",
      "description": "OPTIMIZE compacts files without altering string data values.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5574,
      "write_warm_ms": 5685,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/293_evolve_cluster",
      "num": 293,
      "name": "evolve_cluster",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/293_evolve_cluster.py",
      "read_script": "generator/df-reads-spark/293_evolve_cluster.sql",
      "description": "Clustered table with INSERT 250 rows.",
      "status": "pass",
      "duration_ms": 46,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 46,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2940_rowtrack_after_schema_evolve",
      "num": 2940,
      "name": "rowtrack_after_schema_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2940_rowtrack_after_schema_evolve.py",
      "read_script": "generator/df-reads-spark/2940_rowtrack_after_schema_evolve.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires ROWTRACK which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2940_rowtrack_after_schema_evolve requires ROWTRACK which is a Databricks-only feature.",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "DATABRICKS_ONLY",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:row-tracking",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2941_append_only_after_optimize",
      "num": 2941,
      "name": "append_only_after_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2941_append_only_after_optimize.py",
      "read_script": "generator/df-reads-spark/2941_append_only_after_optimize.sql",
      "description": "Append-only table survives OPTIMIZE without data loss.",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 11221,
      "write_warm_ms": 10563,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2942_append_only_with_partition",
      "num": 2942,
      "name": "append_only_with_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2942_append_only_with_partition.py",
      "read_script": "generator/df-reads-spark/2942_append_only_with_partition.sql",
      "description": "Append-only table with partition by region.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3575,
      "write_warm_ms": 3476,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2943_append_only_with_identity",
      "num": 2943,
      "name": "append_only_with_identity",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2943_append_only_with_identity.py",
      "read_script": "generator/df-reads-spark/2943_append_only_with_identity.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires IDENTITY which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2943_append_only_with_identity requires IDENTITY which is a Databricks-only feature.",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "IDENTITY_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2944_append_only_with_colmap",
      "num": 2944,
      "name": "append_only_with_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2944_append_only_with_colmap.py",
      "read_script": "generator/df-reads-spark/2944_append_only_with_colmap.sql",
      "description": "Append-only table with column mapping (name mode).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3565,
      "write_warm_ms": 2688,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2945_append_only_large_batch",
      "num": 2945,
      "name": "append_only_large_batch",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2945_append_only_large_batch.py",
      "read_script": "generator/df-reads-spark/2945_append_only_large_batch.sql",
      "description": "Append-only table with 500-row single batch insert.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3143,
      "write_warm_ms": 3268,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2946_append_only_schema_evolve",
      "num": 2946,
      "name": "append_only_schema_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2946_append_only_schema_evolve.py",
      "read_script": "generator/df-reads-spark/2946_append_only_schema_evolve.sql",
      "description": "Append-only table with schema evolution via ALTER TABLE ADD COLUMN.",
      "status": "pass",
      "duration_ms": 60,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 60,
      "read_warm_ms": 14,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4646,
      "write_warm_ms": 4187,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2947_append_only_with_gencol",
      "num": 2947,
      "name": "append_only_with_gencol",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2947_append_only_with_gencol.py",
      "read_script": "generator/df-reads-spark/2947_append_only_with_gencol.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires GENERATED_COLUMNS which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2947_append_only_with_gencol requires GENERATED_COLUMNS which is a Databricks-only feature.",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "GENERATED_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:generated-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2948_protocol_writer_v2",
      "num": 2948,
      "name": "protocol_writer_v2",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2948_protocol_writer_v2.py",
      "read_script": "generator/df-reads-spark/2948_protocol_writer_v2.sql",
      "description": "Explicit protocol with minWriterVersion=2, minReaderVersion=1.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3801,
      "write_warm_ms": 4262,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2949_protocol_writer_v4_gencol",
      "num": 2949,
      "name": "protocol_writer_v4_gencol",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2949_protocol_writer_v4_gencol.py",
      "read_script": "generator/df-reads-spark/2949_protocol_writer_v4_gencol.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires GENERATED_COLUMNS which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2949_protocol_writer_v4_gencol requires GENERATED_COLUMNS which is a Databricks-only feature.",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "GENERATED_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:generated-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/294_evolve_generated",
      "num": 294,
      "name": "evolve_generated",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/294_evolve_generated.py",
      "read_script": "generator/df-reads-spark/294_evolve_generated.sql",
      "description": "Table with computed full_name column. INSERT 53 rows.",
      "status": "pass",
      "duration_ms": 41,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 41,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2950_protocol_writer_v5_colmap",
      "num": 2950,
      "name": "protocol_writer_v5_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2950_protocol_writer_v5_colmap.py",
      "read_script": "generator/df-reads-spark/2950_protocol_writer_v5_colmap.sql",
      "description": "Protocol writerVersion=5, readerVersion=2 required by column mapping.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3155,
      "write_warm_ms": 3306,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2951_protocol_reader_v2",
      "num": 2951,
      "name": "protocol_reader_v2",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2951_protocol_reader_v2.py",
      "read_script": "generator/df-reads-spark/2951_protocol_reader_v2.sql",
      "description": "Explicit protocol readerVersion=2 with column mapping.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3374,
      "write_warm_ms": 3366,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2952_protocol_feature_flags",
      "num": 2952,
      "name": "protocol_feature_flags",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2952_protocol_feature_flags.py",
      "read_script": "generator/df-reads-spark/2952_protocol_feature_flags.sql",
      "description": "Feature flags in protocol (DV + CDC set writerFeatures).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2679,
      "write_warm_ms": 3175,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2953_protocol_upgrade_enable_dv",
      "num": 2953,
      "name": "protocol_upgrade_enable_dv",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2953_protocol_upgrade_enable_dv.py",
      "read_script": "generator/df-reads-spark/2953_protocol_upgrade_enable_dv.sql",
      "description": "Protocol upgrade by enabling DV after table creation, then DELETE uses DVs.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6278,
      "write_warm_ms": 5804,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2954_protocol_minimal_v1v1",
      "num": 2954,
      "name": "protocol_minimal_v1v1",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2954_protocol_minimal_v1v1.py",
      "read_script": "generator/df-reads-spark/2954_protocol_minimal_v1v1.sql",
      "description": "Minimal protocol (readerVersion=1, writerVersion=1) with no advanced features.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3286,
      "write_warm_ms": 3357,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2955_protocol_cdc_colmap_combined",
      "num": 2955,
      "name": "protocol_cdc_colmap_combined",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2955_protocol_cdc_colmap_combined.py",
      "read_script": "generator/df-reads-spark/2955_protocol_cdc_colmap_combined.sql",
      "description": "Combined CDC + column mapping protocol features with UPDATE.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4396,
      "write_warm_ms": 4269,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2956_scale_5000_rows",
      "num": 2956,
      "name": "scale_5000_rows",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2956_scale_5000_rows.py",
      "read_script": "generator/df-reads-spark/2956_scale_5000_rows.sql",
      "description": "Single-batch insert of 5000 rows with mixed types.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2210,
      "write_warm_ms": 2200,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2957_scale_100_versions",
      "num": 2957,
      "name": "scale_100_versions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2957_scale_100_versions.py",
      "read_script": "generator/df-reads-spark/2957_scale_100_versions.sql",
      "description": "100 separate single-row inserts creating 100 Delta log versions.",
      "status": "pass",
      "duration_ms": 183,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 183,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 162222,
      "write_warm_ms": 152319,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2958_scale_200_cols",
      "num": 2958,
      "name": "scale_200_cols",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2958_scale_200_cols.py",
      "read_script": "generator/df-reads-spark/2958_scale_200_cols.sql",
      "description": "Very wide table with 200 columns (id BIGINT + c001..c199 INT).",
      "status": "pass",
      "duration_ms": 24,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 24,
      "read_warm_ms": 14,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 10146,
      "write_warm_ms": 8257,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2959_scale_1000_rows_with_dml",
      "num": 2959,
      "name": "scale_1000_rows_with_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2959_scale_1000_rows_with_dml.py",
      "read_script": "generator/df-reads-spark/2959_scale_1000_rows_with_dml.sql",
      "description": "1000-row table with UPDATE on first 200 rows (val += 10000) then DELETE of last 100 rows (id > 900).",
      "status": "pass",
      "duration_ms": 42,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 42,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5876,
      "write_warm_ms": 5982,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/295_delete_basic",
      "num": 295,
      "name": "delete_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/295_delete_basic.py",
      "read_script": "generator/df-reads-spark/295_delete_basic.sql",
      "description": "INSERT 5 rows. 2 inactive (to be deleted), 3 to remain.",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2960_scale_many_partitions_50",
      "num": 2960,
      "name": "scale_many_partitions_50",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2960_scale_many_partitions_50.py",
      "read_script": "generator/df-reads-spark/2960_scale_many_partitions_50.sql",
      "description": "Table with 50 partitions, 20 rows per partition (1000 total), partitioned by bucket (0-49).",
      "status": "pass",
      "duration_ms": 250,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 250,
      "read_warm_ms": 30,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3409,
      "write_warm_ms": 3223,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2961_widen_restore_int_to_long",
      "num": 2961,
      "name": "widen_restore_int_to_long",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2961_widen_restore_int_to_long.py",
      "read_script": "generator/df-reads-spark/2961_widen_restore_int_to_long.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires TYPE_WIDENING which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2961_widen_restore_int_to_long requires TYPE_WIDENING which is a Databricks-only feature.",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "TYPE_WIDENING",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:time-travel",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2962_widen_restore_decimal_precision",
      "num": 2962,
      "name": "widen_restore_decimal_precision",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2962_widen_restore_decimal_precision.py",
      "read_script": "generator/df-reads-spark/2962_widen_restore_decimal_precision.sql",
      "description": "Reproduces the final state of delta-forge test 2962: type widening DECIMAL(10,2)->DECIMAL(18,4) followed by RESTORE TO VERSION AS OF 1. After restore the table reverts to V1 (30 rows, DECIMAL(10,2)).",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 10145,
      "write_warm_ms": 8904,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2963_widen_vacuum_int_to_long",
      "num": 2963,
      "name": "widen_vacuum_int_to_long",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2963_widen_vacuum_int_to_long.py",
      "read_script": "generator/df-reads-spark/2963_widen_vacuum_int_to_long.sql",
      "description": "Reproduces the final state of delta-forge test 2963: type widening INT->BIGINT followed by VACUUM RETAIN 0 HOURS. 150 rows total.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 11912,
      "write_warm_ms": 14126,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2964_widen_vacuum_float_to_double",
      "num": 2964,
      "name": "widen_vacuum_float_to_double",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2964_widen_vacuum_float_to_double.py",
      "read_script": "generator/df-reads-spark/2964_widen_vacuum_float_to_double.sql",
      "description": "Reproduces the final state of delta-forge test 2964: type widening FLOAT->DOUBLE, UPDATE WHERE id<=40 SET val = val + 1000.123456, then VACUUM.",
      "status": "pass",
      "duration_ms": 32,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 32,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 17384,
      "write_warm_ms": 16805,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2965_widen_colmap_int_to_long",
      "num": 2965,
      "name": "widen_colmap_int_to_long",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2965_widen_colmap_int_to_long.py",
      "read_script": "generator/df-reads-spark/2965_widen_colmap_int_to_long.sql",
      "description": "Reproduces the final state of delta-forge test 2965: column mapping (mode=name) combined with type widening INT->BIGINT.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4326,
      "write_warm_ms": 4514,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2966_widen_colmap_decimal_scale",
      "num": 2966,
      "name": "widen_colmap_decimal_scale",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2966_widen_colmap_decimal_scale.py",
      "read_script": "generator/df-reads-spark/2966_widen_colmap_decimal_scale.sql",
      "description": "Reproduces the final state of delta-forge test 2966: column mapping (mode=name) combined with type widening DECIMAL(10,2)->DECIMAL(18,4).",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4224,
      "write_warm_ms": 4308,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2967_default_restore_literal",
      "num": 2967,
      "name": "default_restore_literal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2967_default_restore_literal.py",
      "read_script": "generator/df-reads-spark/2967_default_restore_literal.sql",
      "description": "Reproduces the final state of delta-forge test 2967: a column DEFAULT 'active' plus an UPDATE that flips some rows to 'inactive', followed by RESTORE TO VERSION AS OF 1. After restore all rows have status = 'active'.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 10828,
      "write_warm_ms": 9834,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2968_default_restore_after_evolve",
      "num": 2968,
      "name": "default_restore_after_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2968_default_restore_after_evolve.py",
      "read_script": "generator/df-reads-spark/2968_default_restore_after_evolve.sql",
      "description": "Reproduces the final state of delta-forge test 2968: ADD COLUMN with DEFAULT then RESTORE TO VERSION AS OF 1. After restore the new column is gone and the schema reverts to the V1 state (50 rows, id + name only).",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 9570,
      "write_warm_ms": 9591,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2969_gencol_restore_computed",
      "num": 2969,
      "name": "gencol_restore_computed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2969_gencol_restore_computed.py",
      "read_script": "generator/df-reads-spark/2969_gencol_restore_computed.sql",
      "description": "Reproduces the final state of delta-forge test 2969: a generated column doubled = base * 2 with an UPDATE that is then rolled back via RESTORE TO VERSION AS OF 1.",
      "status": "pass",
      "duration_ms": 123,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 123,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 11270,
      "write_warm_ms": 9277,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:generated-columns",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/296_update_basic",
      "num": 296,
      "name": "update_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/296_update_basic.py",
      "read_script": "generator/df-reads-spark/296_update_basic.sql",
      "description": "INSERT 4 rows (2 widgets + 2 gadgets).",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2970_gencol_vacuum_computed",
      "num": 2970,
      "name": "gencol_vacuum_computed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2970_gencol_vacuum_computed.py",
      "read_script": "generator/df-reads-spark/2970_gencol_vacuum_computed.sql",
      "description": "Reproduces the final state of delta-forge test 2970: a generated column doubled = base * 2, DELETE of rows with id > 70, OPTIMIZE, then VACUUM.",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 17409,
      "write_warm_ms": 16593,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:generated-columns",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2971_gencol_vacuum_after_delete",
      "num": 2971,
      "name": "gencol_vacuum_after_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2971_gencol_vacuum_after_delete.py",
      "read_script": "generator/df-reads-spark/2971_gencol_vacuum_after_delete.sql",
      "description": "Reproduces the final state of delta-forge test 2971: a generated column total = qty * price, DELETE of the first 40 rows, then VACUUM.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 14490,
      "write_warm_ms": 16048,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:generated-columns",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2972_protocol_merge_v7_writer",
      "num": 2972,
      "name": "protocol_merge_v7_writer",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2972_protocol_merge_v7_writer.py",
      "read_script": "generator/df-reads-spark/2972_protocol_merge_v7_writer.sql",
      "description": "Reproduces the final state of delta-forge test 2972: protocol minWriterVersion=7, minReaderVersion=3, deletion vectors, then MERGE.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6764,
      "write_warm_ms": 4921,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2973_protocol_merge_reader_v3",
      "num": 2973,
      "name": "protocol_merge_reader_v3",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2973_protocol_merge_reader_v3.py",
      "read_script": "generator/df-reads-spark/2973_protocol_merge_reader_v3.sql",
      "description": "Reproduces the final state of delta-forge test 2973: protocol minReaderVersion=3, minWriterVersion=7, deletion vectors feature, then MERGE.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6168,
      "write_warm_ms": 5102,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2974_array_merge_insert_update",
      "num": 2974,
      "name": "array_merge_insert_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2974_array_merge_insert_update.py",
      "read_script": "generator/df-reads-spark/2974_array_merge_insert_update.sql",
      "description": "Reproduces the final state of delta-forge test 2974: MERGE that updates ids 1..20 and inserts ids 41..50.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5889,
      "write_warm_ms": 6553,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2975_array_merge_delete",
      "num": 2975,
      "name": "array_merge_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2975_array_merge_delete.py",
      "read_script": "generator/df-reads-spark/2975_array_merge_delete.sql",
      "description": "Reproduces the final state of delta-forge test 2975: MERGE with both WHEN MATCHED DELETE (id % 5 == 0) and WHEN MATCHED UPDATE (otherwise).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6743,
      "write_warm_ms": 5483,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2976_conflict_colmap_write_write",
      "num": 2976,
      "name": "conflict_colmap_write_write",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2976_conflict_colmap_write_write.py",
      "read_script": "generator/df-reads-spark/2976_conflict_colmap_write_write.sql",
      "description": "Reproduces the final state of delta-forge test 2976: column mapping (name mode) plus two sequential overlapping UPDATEs.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6446,
      "write_warm_ms": 6610,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2977_conflict_colmap_snapshot",
      "num": 2977,
      "name": "conflict_colmap_snapshot",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2977_conflict_colmap_snapshot.py",
      "read_script": "generator/df-reads-spark/2977_conflict_colmap_snapshot.sql",
      "description": "Reproduces the final state of delta-forge test 2977: column mapping (name mode), DELETE of low-score rows, then new INSERT.",
      "status": "pass",
      "duration_ms": 40,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 40,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6806,
      "write_warm_ms": 5778,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "iceberg:snapshots",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2978_ict_colmap_ordering",
      "num": 2978,
      "name": "ict_colmap_ordering",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2978_ict_colmap_ordering.py",
      "read_script": "generator/df-reads-spark/2978_ict_colmap_ordering.sql",
      "description": "Reproduces the final state of delta-forge test 2978: inCommitTimestamps + column mapping (name mode) + UPDATE + additional INSERT.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5775,
      "write_warm_ms": 6544,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2979_ict_colmap_multi_version",
      "num": 2979,
      "name": "ict_colmap_multi_version",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2979_ict_colmap_multi_version.py",
      "read_script": "generator/df-reads-spark/2979_ict_colmap_multi_version.sql",
      "description": "Reproduces the final state of delta-forge test 2979: inCommitTimestamps + column mapping (name mode) across 10 INSERT batches.",
      "status": "pass",
      "duration_ms": 26,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 26,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 15955,
      "write_warm_ms": 15143,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/297_delete_multi_pred",
      "num": 297,
      "name": "delete_multi_pred",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/297_delete_multi_pred.py",
      "read_script": "generator/df-reads-spark/297_delete_multi_pred.sql",
      "description": "INSERT 5 rows for DELETE with complex WHERE clause test.",
      "status": "pass",
      "duration_ms": 23,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 23,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2980_rowtrack_restore_after_delete",
      "num": 2980,
      "name": "rowtrack_restore_after_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2980_rowtrack_restore_after_delete.py",
      "read_script": "generator/df-reads-spark/2980_rowtrack_restore_after_delete.sql",
      "description": "Reproduces the final state of delta-forge test 2980: row tracking + DELETE then RESTORE TO VERSION AS OF 1. After restore the 60 pre-delete rows come back.",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 9541,
      "write_warm_ms": 9345,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2981_rowtrack_restore_after_merge",
      "num": 2981,
      "name": "rowtrack_restore_after_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2981_rowtrack_restore_after_merge.py",
      "read_script": "generator/df-reads-spark/2981_rowtrack_restore_after_merge.sql",
      "description": "Reproduces the final state of delta-forge test 2981: row tracking + MERGE then RESTORE TO VERSION AS OF 1.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 11681,
      "write_warm_ms": 14145,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2982_rowtrack_restore_multi_version",
      "num": 2982,
      "name": "rowtrack_restore_multi_version",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2982_rowtrack_restore_multi_version.py",
      "read_script": "generator/df-reads-spark/2982_rowtrack_restore_multi_version.sql",
      "description": "Reproduces the final state of delta-forge test 2982: row tracking + multi version history + RESTORE TO VERSION AS OF 2.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 15222,
      "write_warm_ms": 12524,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2983_widen_merge_int_to_long_upsert",
      "num": 2983,
      "name": "widen_merge_int_to_long_upsert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2983_widen_merge_int_to_long_upsert.py",
      "read_script": "generator/df-reads-spark/2983_widen_merge_int_to_long_upsert.sql",
      "description": "Reproduces the final state of delta-forge test 2983: type widening INT->BIGINT followed by a MERGE that updates the first 30 rows and inserts 20 new rows.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6589,
      "write_warm_ms": 7460,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2984_widen_merge_decimal_then_merge",
      "num": 2984,
      "name": "widen_merge_decimal_then_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2984_widen_merge_decimal_then_merge.py",
      "read_script": "generator/df-reads-spark/2984_widen_merge_decimal_then_merge.sql",
      "description": "Reproduces the final state of delta-forge test 2984: DECIMAL type widening DECIMAL(10,2)->DECIMAL(18,4) followed by two sequential MERGE operations.",
      "status": "pass",
      "duration_ms": 21,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 21,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8609,
      "write_warm_ms": 9128,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2985_widen_cdc_track_widened_updates",
      "num": 2985,
      "name": "widen_cdc_track_widened_updates",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2985_widen_cdc_track_widened_updates.py",
      "read_script": "generator/df-reads-spark/2985_widen_cdc_track_widened_updates.sql",
      "description": "Reproduces the final state of delta-forge test 2985: type widening INT->BIGINT with Change Data Feed enabled, followed by an UPDATE of the first 20 rows.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5365,
      "write_warm_ms": 6132,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2986_widen_identity_bigint",
      "num": 2986,
      "name": "widen_identity_bigint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2986_widen_identity_bigint.py",
      "read_script": "generator/df-reads-spark/2986_widen_identity_bigint.sql",
      "description": "Reproduces the final state of delta-forge test 2986: an IDENTITY column table with type widening INT->BIGINT on a non-identity column.",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4466,
      "write_warm_ms": 4217,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2987_identity_vacuum_hwm_preserved",
      "num": 2987,
      "name": "identity_vacuum_hwm_preserved",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2987_identity_vacuum_hwm_preserved.py",
      "read_script": "generator/df-reads-spark/2987_identity_vacuum_hwm_preserved.sql",
      "description": "Reproduces the final state of delta-forge test 2987: IDENTITY column high water mark survives DELETE + VACUUM; new inserts continue from id=51.",
      "status": "pass",
      "duration_ms": 26,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 26,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 16115,
      "write_warm_ms": 18272,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2988_identity_constraint_range_check",
      "num": 2988,
      "name": "identity_constraint_range_check",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2988_identity_constraint_range_check.py",
      "read_script": "generator/df-reads-spark/2988_identity_constraint_range_check.sql",
      "description": "Reproduces the final state of delta-forge test 2988: IDENTITY column plus a CHECK constraint (score >= 0) applied before the insert.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5505,
      "write_warm_ms": 4299,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2989_identity_constraint_positive",
      "num": 2989,
      "name": "identity_constraint_positive",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2989_identity_constraint_positive.py",
      "read_script": "generator/df-reads-spark/2989_identity_constraint_positive.sql",
      "description": "Reproduces the final state of delta-forge test 2989: IDENTITY column plus a NOT NULL constraint on val and a CHECK constraint (val > 0); INSERT 50 rows, then DELETE ids > 40.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5781,
      "write_warm_ms": 6465,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/298_update_multi_col",
      "num": 298,
      "name": "update_multi_col",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/298_update_multi_col.py",
      "read_script": "generator/df-reads-spark/298_update_multi_col.sql",
      "description": "INSERT 3 orders for multi-column UPDATE test.",
      "status": "pass",
      "duration_ms": 20,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 20,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2990_constraint_vacuum_check_preserved",
      "num": 2990,
      "name": "constraint_vacuum_check_preserved",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2990_constraint_vacuum_check_preserved.py",
      "read_script": "generator/df-reads-spark/2990_constraint_vacuum_check_preserved.sql",
      "description": "Reproduces the final state of delta-forge test 2990: a CHECK constraint that must survive DELETE + VACUUM.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 18247,
      "write_warm_ms": 17566,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2991_constraint_vacuum_multi_check",
      "num": 2991,
      "name": "constraint_vacuum_multi_check",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2991_constraint_vacuum_multi_check.py",
      "read_script": "generator/df-reads-spark/2991_constraint_vacuum_multi_check.sql",
      "description": "Reproduces the final state of delta-forge test 2991: two CHECK constraints survive DELETE + OPTIMIZE + VACUUM.",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 17034,
      "write_warm_ms": 14935,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2992_gencol_merge_upsert",
      "num": 2992,
      "name": "gencol_merge_upsert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2992_gencol_merge_upsert.py",
      "read_script": "generator/df-reads-spark/2992_gencol_merge_upsert.sql",
      "description": "Reproduces the final state of delta-forge test 2992: a generated column total = price * qty after MERGE that updates ids 1..20 and inserts ids 41..50.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5222,
      "write_warm_ms": 4783,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2993_gencol_merge_delete_reinsert",
      "num": 2993,
      "name": "gencol_merge_delete_reinsert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2993_gencol_merge_delete_reinsert.py",
      "read_script": "generator/df-reads-spark/2993_gencol_merge_delete_reinsert.sql",
      "description": "Reproduces the final state of delta-forge test 2993: a generated column doubled = base * 2, after a MERGE that deletes ids 1..20 and inserts ids 51..70.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5039,
      "write_warm_ms": 4875,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2994_gencol_colmap_computed",
      "num": 2994,
      "name": "gencol_colmap_computed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2994_gencol_colmap_computed.py",
      "read_script": "generator/df-reads-spark/2994_gencol_colmap_computed.sql",
      "description": "Reproduces the final state of delta-forge test 2994: a generated column sum_ab = a + b combined with column mapping (name mode).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2435,
      "write_warm_ms": 2495,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2995_uniform_merge_upsert",
      "num": 2995,
      "name": "uniform_merge_upsert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2995_uniform_merge_upsert.py",
      "read_script": "generator/df-reads-spark/2995_uniform_merge_upsert.sql",
      "description": "Reproduces the final state of delta-forge test 2995: UniForm Iceberg format combined with a MERGE upsert. Updates keys 1..20 and inserts keys 41..50.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2995_uniform_merge_upsert requires UniForm (IcebergCompatV2)",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "UNIFORM",
      "skip_cause": "unknown",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "type:string",
        "dml:merge",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2996_uniform_cdc_tracking",
      "num": 2996,
      "name": "uniform_cdc_tracking",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2996_uniform_cdc_tracking.py",
      "read_script": "generator/df-reads-spark/2996_uniform_cdc_tracking.sql",
      "description": "Reproduces the final state of delta-forge test 2996: UniForm Iceberg combined with Change Data Feed. INSERT 30, UPDATE 10, DELETE 6.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2996_uniform_cdc_tracking requires UniForm (IcebergCompatV2)",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "UNIFORM",
      "skip_cause": "unknown",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "type:string",
        "delta:change-data-feed",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2997_uniform_optimize_compaction",
      "num": 2997,
      "name": "uniform_optimize_compaction",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2997_uniform_optimize_compaction.py",
      "read_script": "generator/df-reads-spark/2997_uniform_optimize_compaction.sql",
      "description": "Reproduces the final state of delta-forge test 2997: UniForm Iceberg with five separate INSERT batches then OPTIMIZE compaction.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Test 2997_uniform_optimize_compaction requires UniForm (IcebergCompatV2)",
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "skip_feature": "UNIFORM",
      "skip_cause": "unknown",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "type:string",
        "delta:optimize",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2998_ict_vacuum_timestamp_survive",
      "num": 2998,
      "name": "ict_vacuum_timestamp_survive",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2998_ict_vacuum_timestamp_survive.py",
      "read_script": "generator/df-reads-spark/2998_ict_vacuum_timestamp_survive.sql",
      "description": "Reproduces the final state of delta-forge test 2998: In-Commit Timestamp metadata survives DELETE + VACUUM.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 11444,
      "write_warm_ms": 11720,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/2999_ict_vacuum_multi_version",
      "num": 2999,
      "name": "ict_vacuum_multi_version",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/2999_ict_vacuum_multi_version.py",
      "read_script": "generator/df-reads-spark/2999_ict_vacuum_multi_version.sql",
      "description": "Reproduces the final state of delta-forge test 2999: In-Commit Timestamps across 10 INSERT batches, followed by VACUUM RETAIN 0 HOURS.",
      "status": "pass",
      "duration_ms": 35,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T00:18:34.440513+00:00",
      "read_cold_ms": 35,
      "read_warm_ms": 49,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 19737,
      "write_warm_ms": 19418,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/299_delete_cdc",
      "num": 299,
      "name": "delete_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/299_delete_cdc.py",
      "read_script": "generator/df-reads-spark/299_delete_cdc.sql",
      "description": "CDC-enabled table. INSERT 3 customers.",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:20:03.020168+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/29_column_mapping_id_mode_physical",
      "num": 29,
      "name": "column_mapping_id_mode_physical",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/29_column_mapping_id_mode_physical.py",
      "read_script": "generator/df-reads-spark/29_column_mapping_id_mode_physical.sql",
      "description": "Insurance claims with column mapping ID mode. 1800 initial + UPDATE + UPDATE + UPDATE + 100 INSERT + DELETE + 3 adjuster updates.",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 7072,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3000_rowtrack_vacuum_metadata",
      "num": 3000,
      "name": "rowtrack_vacuum_metadata",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3000_rowtrack_vacuum_metadata.py",
      "read_script": "generator/df-reads-spark/3000_rowtrack_vacuum_metadata.sql",
      "description": "Row tracking metadata survives DELETE + VACUUM. INSERT 80 rows, DELETE ids > 40, then VACUUM RETAIN 0. Row tracking feature must still be present on the table.",
      "status": "pass",
      "duration_ms": 69,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 69,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 20692,
      "write_warm_ms": 11704,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3001_rowtrack_vacuum_optimize",
      "num": 3001,
      "name": "rowtrack_vacuum_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3001_rowtrack_vacuum_optimize.py",
      "read_script": "generator/df-reads-spark/3001_rowtrack_vacuum_optimize.sql",
      "description": "Row tracking metadata survives OPTIMIZE + VACUUM. Five batches of 20 rows are written separately, then OPTIMIZE compacts them, then VACUUM removes old files.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 13722,
      "write_warm_ms": 11750,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:row-tracking",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3002_truncate_restore_version",
      "num": 3002,
      "name": "truncate_restore_version",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3002_truncate_restore_version.py",
      "read_script": "generator/df-reads-spark/3002_truncate_restore_version.sql",
      "description": "TRUNCATE then RESTORE to V1 brings back original 100 rows. The final state equals the V1 insert state.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4085,
      "write_warm_ms": 3903,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:truncate",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3003_truncate_restore_multi_truncate",
      "num": 3003,
      "name": "truncate_restore_multi_truncate",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3003_truncate_restore_multi_truncate.py",
      "read_script": "generator/df-reads-spark/3003_truncate_restore_multi_truncate.sql",
      "description": "Multiple TRUNCATE + RESTORE TO VERSION 1. Final state is the original 50 rows.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4950,
      "write_warm_ms": 4297,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "dml:truncate",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3004_default_colmap_literal",
      "num": 3004,
      "name": "default_colmap_literal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3004_default_colmap_literal.py",
      "read_script": "generator/df-reads-spark/3004_default_colmap_literal.sql",
      "description": "DEFAULT literal value combined with column mapping (name mode). INSERT specifies only id and name; status is materialized to 'active' (the default literal). Since Spark OSS cannot respect DEFAULT on a MERGE/INSERT without the default feature, we materialize the constant directly...",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 584,
      "write_warm_ms": 559,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3005_default_vacuum_after_evolve",
      "num": 3005,
      "name": "default_vacuum_after_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3005_default_vacuum_after_evolve.py",
      "read_script": "generator/df-reads-spark/3005_default_vacuum_after_evolve.sql",
      "description": "where score gets the default (0), VACUUM. Pre-evolution rows have score=NULL.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8550,
      "write_warm_ms": 8620,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3006_pushdown_dv_predicate",
      "num": 3006,
      "name": "pushdown_dv_predicate",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3006_pushdown_dv_predicate.py",
      "read_script": "generator/df-reads-spark/3006_pushdown_dv_predicate.sql",
      "description": "INSERT 200 rows, DELETE rows where id % 3 = 0 (66 rows removed, ids 3,6,...,198).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1763,
      "write_warm_ms": 1552,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3007_pushdown_cdc_partition",
      "num": 3007,
      "name": "pushdown_cdc_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3007_pushdown_cdc_partition.py",
      "read_script": "generator/df-reads-spark/3007_pushdown_cdc_partition.sql",
      "description": "INSERT 100 rows partitioned by region (cycling US/EU/APAC/LATAM with i % 4), then UPDATE score += 100 WHERE region = 'US'. CDC enabled.",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1815,
      "write_warm_ms": 1602,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3008_conflict_cdc_write_write",
      "num": 3008,
      "name": "conflict_cdc_write_write",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3008_conflict_cdc_write_write.py",
      "read_script": "generator/df-reads-spark/3008_conflict_cdc_write_write.sql",
      "description": "INSERT 50 rows (tag='original'); UPDATE val += 1000 WHERE key <= 20; then UPDATE tag = 'modified' WHERE key BETWEEN 10 AND 30. Overlapping effects on keys 10..20 are applied sequentially.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2924,
      "write_warm_ms": 2659,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3009_colmap_restore_name_mode",
      "num": 3009,
      "name": "colmap_restore_name_mode",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3009_colmap_restore_name_mode.py",
      "read_script": "generator/df-reads-spark/3009_colmap_restore_name_mode.sql",
      "description": "Column mapping (name mode) + UPDATE + RESTORE TO V1 brings back the original V1 state (all val = i * 7).",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4602,
      "write_warm_ms": 5181,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/300_update_cdc",
      "num": 300,
      "name": "update_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/300_update_cdc.py",
      "read_script": "generator/df-reads-spark/300_update_cdc.sql",
      "description": "CDC-enabled table. INSERT 3 bank accounts.",
      "status": "pass",
      "duration_ms": 183,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 183,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3010_default_constraint_check_default",
      "num": 3010,
      "name": "default_constraint_check_default",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3010_default_constraint_check_default.py",
      "read_script": "generator/df-reads-spark/3010_default_constraint_check_default.sql",
      "description": "CHECK constraint (score >= 0) + DEFAULT (score = 50). INSERT 40 rows supplying only id and name; score is materialized to 50.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1408,
      "write_warm_ms": 1451,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3011_merge_three_clause_all_types",
      "num": 3011,
      "name": "merge_three_clause_all_types",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3011_merge_three_clause_all_types.py",
      "read_script": "generator/df-reads-spark/3011_merge_three_clause_all_types.sql",
      "description": "MERGE with three clauses (UPDATE id<=20, DELETE id<=30, INSERT NOT MATCHED) covering all Delta data types.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 796,
      "write_warm_ms": 671,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3012_merge_update_all_rows",
      "num": 3012,
      "name": "merge_update_all_rows",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3012_merge_update_all_rows.py",
      "read_script": "generator/df-reads-spark/3012_merge_update_all_rows.sql",
      "description": "50 rows; val=id*20, version=2",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 639,
      "write_warm_ms": 515,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3013_merge_cdc_colmap_three_clause",
      "num": 3013,
      "name": "merge_cdc_colmap_three_clause",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3013_merge_cdc_colmap_three_clause.py",
      "read_script": "generator/df-reads-spark/3013_merge_cdc_colmap_three_clause.sql",
      "description": "MERGE with three clauses on a CDC + column-mapping (name mode) table. Final state (50 rows): ids 1..15 (updated): key=i, val=i*100, label='merged_'+i ids 16..25: DELETED ids 26..50 (unchanged): key=i, val=i*10, label='init_'+i ids 51..60 (inserted): key=i, val=i*100...",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "CDC + column mapping with DROP/RENAME COLUMN is blocked by Apache Spark OSS via DELTA_BLOCK_COLUMN_MAPPING_AND_CDC_OPERATION.",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": "CDC_COLMAP_DROP_RENAME",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "type:string",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "schema:rename-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3014_merge_identity_hwm_continue",
      "num": 3014,
      "name": "merge_identity_hwm_continue",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3014_merge_identity_hwm_continue.py",
      "read_script": "generator/df-reads-spark/3014_merge_identity_hwm_continue.sql",
      "description": "IDENTITY-like column populated via MERGE insert. Spark OSS Delta does not automatically generate identity values on insert, so we materialize id=1..50 directly for the final state.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 712,
      "write_warm_ms": 664,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3015_merge_identity_update_no_change",
      "num": 3015,
      "name": "merge_identity_update_no_change",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3015_merge_identity_update_no_change.py",
      "read_script": "generator/df-reads-spark/3015_merge_identity_update_no_change.sql",
      "description": "Identity column unchanged by UPDATE; score incremented by 500.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 628,
      "write_warm_ms": 727,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3016_merge_default_not_matched",
      "num": 3016,
      "name": "merge_default_not_matched",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3016_merge_default_not_matched.py",
      "read_script": "generator/df-reads-spark/3016_merge_default_not_matched.sql",
      "description": "Pre-existing rows (ids 1..30) have status='active'. Rows inserted via MERGE (ids 31..50) receive the column default 'pending'.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 841,
      "write_warm_ms": 579,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3017_merge_constraint_check",
      "num": 3017,
      "name": "merge_constraint_check",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3017_merge_constraint_check.py",
      "read_script": "generator/df-reads-spark/3017_merge_constraint_check.sql",
      "description": "MERGE on a CHECK-constrained table; all updated and inserted values satisfy score >= 0.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1322,
      "write_warm_ms": 1257,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3018_merge_partition_cross_partition",
      "num": 3018,
      "name": "merge_partition_cross_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3018_merge_partition_cross_partition.py",
      "read_script": "generator/df-reads-spark/3018_merge_partition_cross_partition.sql",
      "description": "MERGE moves ids 1..20 to partition LATAM with val += 1000. ids 21..60 stay in their original partition.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 724,
      "write_warm_ms": 658,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3019_merge_flat_struct_update",
      "num": 3019,
      "name": "merge_flat_struct_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3019_merge_flat_struct_update.py",
      "read_script": "generator/df-reads-spark/3019_merge_flat_struct_update.sql",
      "description": "MERGE updates info_score for ids 1..20. info_name and other columns remain unchanged.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 732,
      "write_warm_ms": 635,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/301_delete_partition",
      "num": 301,
      "name": "delete_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/301_delete_partition.py",
      "read_script": "generator/df-reads-spark/301_delete_partition.sql",
      "description": "Partitioned table. INSERT 5 rows across 3 partitions.",
      "status": "pass",
      "duration_ms": 26,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 26,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3020_merge_ten_versions",
      "num": 3020,
      "name": "merge_ten_versions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3020_merge_ten_versions.py",
      "read_script": "generator/df-reads-spark/3020_merge_ten_versions.sql",
      "description": "Ten successive MERGE rounds; round n adds n to val. Final val = sum(1..10) = 55, round = 10 for all 50 rows.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 518,
      "write_warm_ms": 607,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3021_merge_large_1000_rows",
      "num": 3021,
      "name": "merge_large_1000_rows",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3021_merge_large_1000_rows.py",
      "read_script": "generator/df-reads-spark/3021_merge_large_1000_rows.sql",
      "description": "1000 initial rows + MERGE updating 500 + inserting 500 = 1500 total.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 672,
      "write_warm_ms": 629,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3022_merge_delete_all_reinsert",
      "num": 3022,
      "name": "merge_delete_all_reinsert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3022_merge_delete_all_reinsert.py",
      "read_script": "generator/df-reads-spark/3022_merge_delete_all_reinsert.sql",
      "description": "MERGE deletes all initial rows (ids 1..40) and inserts new rows (ids 41..80) in a single operation.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 722,
      "write_warm_ms": 589,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3023_merge_gencol_auto_compute",
      "num": 3023,
      "name": "merge_gencol_auto_compute",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3023_merge_gencol_auto_compute.py",
      "read_script": "generator/df-reads-spark/3023_merge_gencol_auto_compute.sql",
      "description": "Generated column total = price * qty. MERGE updates price for ids 1..15 and inserts ids 31..40. total is materialized explicitly (matching what Spark's generated column would produce).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 600,
      "write_warm_ms": 648,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3024_merge_evolve_add_col_then_merge",
      "num": 3024,
      "name": "merge_evolve_add_col_then_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3024_merge_evolve_add_col_then_merge.py",
      "read_script": "generator/df-reads-spark/3024_merge_evolve_add_col_then_merge.sql",
      "description": "Schema (final): id BIGINT, name STRING, val INT, score INT name = 'row_' + i val = i*10 + (100 if i<=20 else 0) score= i*3 if (i<=20 or i>=41) else NULL",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2019,
      "write_warm_ms": 1657,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3025_merge_widen_then_merge_bigint",
      "num": 3025,
      "name": "merge_widen_then_merge_bigint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3025_merge_widen_then_merge_bigint.py",
      "read_script": "generator/df-reads-spark/3025_merge_widen_then_merge_bigint.sql",
      "description": "SKIPPED -- DATABRICKS ONLY not available in Spark OSS.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Type widening (delta.enableTypeWidening) is a Databricks-only feature not available in Spark OSS.",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": "TYPE_WIDENING",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "dml:merge",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3026_merge_cdc_dv_partition_quad",
      "num": 3026,
      "name": "merge_cdc_dv_partition_quad",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3026_merge_cdc_dv_partition_quad.py",
      "read_script": "generator/df-reads-spark/3026_merge_cdc_dv_partition_quad.sql",
      "description": "MERGE with UPDATE + DELETE + INSERT on a partitioned, CDC-enabled, DV-enabled table.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 785,
      "write_warm_ms": 637,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3027_merge_optimize_then_merge",
      "num": 3027,
      "name": "merge_optimize_then_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3027_merge_optimize_then_merge.py",
      "read_script": "generator/df-reads-spark/3027_merge_optimize_then_merge.sql",
      "description": "Two MERGE operations with OPTIMIZE between them. Final state (90 rows): ids 1..20: val = i*10 + 999, tag = 'final' (updated by MERGE2) ids 21..30: val = i*10 + 500, tag = 'pass1' (updated only by MERGE1) ids 31..60: val = i*10, tag = 'init' (never touched)",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1818,
      "write_warm_ms": 1378,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3028_merge_vacuum_then_merge",
      "num": 3028,
      "name": "merge_vacuum_then_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3028_merge_vacuum_then_merge.py",
      "read_script": "generator/df-reads-spark/3028_merge_vacuum_then_merge.sql",
      "description": "DELETE > VACUUM > MERGE cycle. Final state (50 rows): ids 1..30 (updated): val = i*5 + 100, label = 'updated' ids 31..50 (inserted): val = i*5, label = 'restored",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 10467,
      "write_warm_ms": 8283,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3029_merge_colmap_cdc_evolve_quad",
      "num": 3029,
      "name": "merge_colmap_cdc_evolve_quad",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3029_merge_colmap_cdc_evolve_quad.py",
      "read_script": "generator/df-reads-spark/3029_merge_colmap_cdc_evolve_quad.sql",
      "description": "Column mapping (name) + CDC + schema evolution + MERGE. Schema (final): id BIGINT, name STRING, val INT, score INT name = 'row_' + i val = i*10 + (200 if i<=20 else 0) score= i*7 if (i<=20 or i>=41) else NULL",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "CDC + column mapping with DROP/RENAME COLUMN is blocked by Apache Spark OSS via DELTA_BLOCK_COLUMN_MAPPING_AND_CDC_OPERATION.",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": "CDC_COLMAP_DROP_RENAME",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "type:string",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "schema:add-column",
        "schema:rename-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/302_delete_large",
      "num": 302,
      "name": "delete_large",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/302_delete_large.py",
      "read_script": "generator/df-reads-spark/302_delete_large.sql",
      "description": "INSERT 10000 rows. Rows 0-999: keep=True, 1000-9999: keep=False.",
      "status": "pass",
      "duration_ms": 74,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 74,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3030_merge_ict_rowtrack",
      "num": 3030,
      "name": "merge_ict_rowtrack",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3030_merge_ict_rowtrack.py",
      "read_script": "generator/df-reads-spark/3030_merge_ict_rowtrack.sql",
      "description": "MERGE on a table with In-Commit Timestamps + Row Tracking enabled.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 532,
      "write_warm_ms": 498,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3031_merge_string_partition_key",
      "num": 3031,
      "name": "merge_string_partition_key",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3031_merge_string_partition_key.py",
      "read_script": "generator/df-reads-spark/3031_merge_string_partition_key.sql",
      "description": "Partitioned by STRING event_date (28 distinct dates 2024-01-01..2024-01-28).",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 432,
      "write_warm_ms": 377,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3032_merge_decimal_38_18_precision",
      "num": 3032,
      "name": "merge_decimal_38_18_precision",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3032_merge_decimal_38_18_precision.py",
      "read_script": "generator/df-reads-spark/3032_merge_decimal_38_18_precision.sql",
      "description": "Full-precision DECIMAL(38,18) MERGE. ids 1..15: amount = (i + 0.123456789012345678) * 2 ids 16..30: amount = i + 0.123456789012345678 ids 31..40: amount = i + 0.987654321098765432",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 570,
      "write_warm_ms": 579,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3033_merge_boolean_predicate",
      "num": 3033,
      "name": "merge_boolean_predicate",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3033_merge_boolean_predicate.py",
      "read_script": "generator/df-reads-spark/3033_merge_boolean_predicate.sql",
      "description": "MERGE WHEN MATCHED branches on BOOLEAN column. is_active = (i % 2 == 0) score = (i*10 + 999) if is_active else 0",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 542,
      "write_warm_ms": 551,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3034_merge_null_handling_all_columns",
      "num": 3034,
      "name": "merge_null_handling_all_columns",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3034_merge_null_handling_all_columns.py",
      "read_script": "generator/df-reads-spark/3034_merge_null_handling_all_columns.sql",
      "description": "MERGE that sets val=NULL, tag=NULL via UPDATE and INSERT. name = 'row_' + i if i <= 30 else 'new_' + i val = NULL tag = NULL",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 590,
      "write_warm_ms": 502,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3035_merge_string_special_chars",
      "num": 3035,
      "name": "merge_string_special_chars",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3035_merge_string_special_chars.py",
      "read_script": "generator/df-reads-spark/3035_merge_string_special_chars.sql",
      "description": "MERGE updates string columns with special characters. category = 'cat_' + (i % 5) content: ids 1..20: 'updated: id=' + i + ' / path\\\\file \"quoted\" & more' ids 21..40: 'line_' + i + '_data' ids 41..50: 'new: id=' + i + ' <tag> [bracket] {brace}",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 521,
      "write_warm_ms": 591,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3036_delete_optimize_vacuum_cycle_3x",
      "num": 3036,
      "name": "delete_optimize_vacuum_cycle_3x",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3036_delete_optimize_vacuum_cycle_3x.py",
      "read_script": "generator/df-reads-spark/3036_delete_optimize_vacuum_cycle_3x.sql",
      "description": "Three delete+OPTIMIZE+VACUUM cycles. Final state: ids 91..300.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 10423,
      "write_warm_ms": 7968,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3037_delete_optimize_vacuum_cdc",
      "num": 3037,
      "name": "delete_optimize_vacuum_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3037_delete_optimize_vacuum_cdc.py",
      "read_script": "generator/df-reads-spark/3037_delete_optimize_vacuum_cdc.sql",
      "description": "DELETE + OPTIMIZE + VACUUM on a CDC-enabled DV table. Final state: ids 1..70.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 9110,
      "write_warm_ms": 8517,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3038_delete_optimize_vacuum_colmap",
      "num": 3038,
      "name": "delete_optimize_vacuum_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3038_delete_optimize_vacuum_colmap.py",
      "read_script": "generator/df-reads-spark/3038_delete_optimize_vacuum_colmap.sql",
      "description": "Column-mapping (name mode) table with DELETE + OPTIMIZE + VACUUM RETAIN 0.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8443,
      "write_warm_ms": 11862,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3039_maint_interleaved_dml_optimize",
      "num": 3039,
      "name": "maint_interleaved_dml_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3039_maint_interleaved_dml_optimize.py",
      "read_script": "generator/df-reads-spark/3039_maint_interleaved_dml_optimize.sql",
      "description": "Interleaved DML with OPTIMIZE between each. Reproduces the final logical state.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1174,
      "write_warm_ms": 1083,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/303_dml_concurrent",
      "num": 303,
      "name": "dml_concurrent",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/303_dml_concurrent.py",
      "read_script": "generator/df-reads-spark/303_dml_concurrent.sql",
      "description": "INSERT 5 inventory items for concurrent DML conflict test.",
      "status": "pass",
      "duration_ms": 22,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 22,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "robust:concurrent-writes",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3040_maint_vacuum_aggressive_retention_0",
      "num": 3040,
      "name": "maint_vacuum_aggressive_retention_0",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3040_maint_vacuum_aggressive_retention_0.py",
      "read_script": "generator/df-reads-spark/3040_maint_vacuum_aggressive_retention_0.sql",
      "description": "Aggressive VACUUM RETAIN 0 after DELETE + OPTIMIZE. Final (50 rows, ids 1-50): val = i * 3 label = 'row_' + str(i)",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8368,
      "write_warm_ms": 8763,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3041_maint_vacuum_after_schema_evolve",
      "num": 3041,
      "name": "maint_vacuum_after_schema_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3041_maint_vacuum_after_schema_evolve.py",
      "read_script": "generator/df-reads-spark/3041_maint_vacuum_after_schema_evolve.sql",
      "description": "VACUUM after ALTER ADD COLUMN. First 50 rows were inserted with 2 cols (score null), ALTER added score, next 50 rows inserted with score set.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8240,
      "write_warm_ms": 7771,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3042_maint_optimize_zorder_vacuum_chain",
      "num": 3042,
      "name": "maint_optimize_zorder_vacuum_chain",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3042_maint_optimize_zorder_vacuum_chain.py",
      "read_script": "generator/df-reads-spark/3042_maint_optimize_zorder_vacuum_chain.sql",
      "description": "Chained OPTIMIZE + OPTIMIZE + VACUUM. 200 rows survive intact.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 9387,
      "write_warm_ms": 8020,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3043_maint_twenty_versions_vacuum",
      "num": 3043,
      "name": "maint_twenty_versions_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3043_maint_twenty_versions_vacuum.py",
      "read_script": "generator/df-reads-spark/3043_maint_twenty_versions_vacuum.sql",
      "description": "20 INSERT batches of 5 rows each, then VACUUM RETAIN 0. val = i * 2 batch = ((i-1) // 5) + 1 -- ids 1-5 -> batch 1, ids 6-10 -> batch 2, ..., ids 96-100 -> batch 20",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8281,
      "write_warm_ms": 7422,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3044_maint_optimize_partition_rewrite",
      "num": 3044,
      "name": "maint_optimize_partition_rewrite",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3044_maint_optimize_partition_rewrite.py",
      "read_script": "generator/df-reads-spark/3044_maint_optimize_partition_rewrite.sql",
      "description": "Partitioned by region. 100 rows round-robin across 4 regions, then small inserts per region, then OPTIMIZE compacts each partition.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1479,
      "write_warm_ms": 1331,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3045_maint_vacuum_identity_table",
      "num": 3045,
      "name": "maint_vacuum_identity_table",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3045_maint_vacuum_identity_table.py",
      "read_script": "generator/df-reads-spark/3045_maint_vacuum_identity_table.sql",
      "description": "SKIPPED -- DATABRICKS ONLY on path-based Delta tables in Apache Spark OSS.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Identity columns (GENERATED BY DEFAULT AS IDENTITY) are not supported on path-based Delta tables in Apache Spark OSS.",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": "IDENTITY_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:identity-columns",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3046_maint_vacuum_constraint_metadata",
      "num": 3046,
      "name": "maint_vacuum_constraint_metadata",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3046_maint_vacuum_constraint_metadata.py",
      "read_script": "generator/df-reads-spark/3046_maint_vacuum_constraint_metadata.sql",
      "description": "CHECK constraints survive VACUUM. Final state has 50 rows (ids 1-50).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 10718,
      "write_warm_ms": 8947,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3047_maint_optimize_gencol_table",
      "num": 3047,
      "name": "maint_optimize_gencol_table",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3047_maint_optimize_gencol_table.py",
      "read_script": "generator/df-reads-spark/3047_maint_optimize_gencol_table.sql",
      "description": "SKIPPED -- DATABRICKS ONLY Delta tables in Apache Spark OSS. This test requires a GENERATED column (sum_ab = a + b) declared in the table schema, which Spark OSS cannot create for path-based tables.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "GENERATED ALWAYS AS (expr) columns are not supported on path-based Delta tables in Apache Spark OSS.",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": "GENERATED_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:generated-columns",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3048_maint_optimize_default_table",
      "num": 3048,
      "name": "maint_optimize_default_table",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3048_maint_optimize_default_table.py",
      "read_script": "generator/df-reads-spark/3048_maint_optimize_default_table.sql",
      "description": "OPTIMIZE on a table with a DEFAULT column value. We reproduce the final materialized values directly (DEFAULT metadata is not required for readback).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1163,
      "write_warm_ms": 1080,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3049_maint_delete_all_reinsert_optimize",
      "num": 3049,
      "name": "maint_delete_all_reinsert_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3049_maint_delete_all_reinsert_optimize.py",
      "read_script": "generator/df-reads-spark/3049_maint_delete_all_reinsert_optimize.sql",
      "description": "DELETE all, re-INSERT, OPTIMIZE. Final state = new rows only.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1106,
      "write_warm_ms": 1112,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/304_merge_full",
      "num": 304,
      "name": "merge_full",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/304_merge_full.py",
      "read_script": "generator/df-reads-spark/304_merge_full.sql",
      "description": "CDC + INSERT 3 customers for MERGE full test.",
      "status": "pass",
      "duration_ms": 23,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 23,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3050_maint_vacuum_widen_table",
      "num": 3050,
      "name": "maint_vacuum_widen_table",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3050_maint_vacuum_widen_table.py",
      "read_script": "generator/df-reads-spark/3050_maint_vacuum_widen_table.sql",
      "description": "SKIPPED -- DATABRICKS ONLY not available in Apache Spark OSS.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Type widening (delta.enableTypeWidening) is a Databricks-only feature not available in Apache Spark OSS.",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": "TYPE_WIDENING",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:vacuum",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3051_maint_restore_after_vacuum",
      "num": 3051,
      "name": "maint_restore_after_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3051_maint_restore_after_vacuum.py",
      "read_script": "generator/df-reads-spark/3051_maint_restore_after_vacuum.sql",
      "description": "Final state after DELETE WHERE id > 30 + VACUUM RETAIN 0. RESTORE is not attempted because VACUUM removed pre-DELETE files; the effective final state on Spark OSS is the post-DELETE row set.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8358,
      "write_warm_ms": 9996,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3052_maint_optimize_struct_table",
      "num": 3052,
      "name": "maint_optimize_struct_table",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3052_maint_optimize_struct_table.py",
      "read_script": "generator/df-reads-spark/3052_maint_optimize_struct_table.sql",
      "description": "OPTIMIZE across 5 insert batches. 100 rows final. name = 'r' + str(i) info_a = i info_b = 'b' + str(i)",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1193,
      "write_warm_ms": 1160,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3053_maint_vacuum_partition_prune",
      "num": 3053,
      "name": "maint_vacuum_partition_prune",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3053_maint_vacuum_partition_prune.py",
      "read_script": "generator/df-reads-spark/3053_maint_vacuum_partition_prune.sql",
      "description": "Partitioned by region. INSERT 100 across 5 regions, DELETE LATAM+MEA, VACUUM.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8553,
      "write_warm_ms": 8503,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3054_maint_optimize_map_columns",
      "num": 3054,
      "name": "maint_optimize_map_columns",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3054_maint_optimize_map_columns.py",
      "read_script": "generator/df-reads-spark/3054_maint_optimize_map_columns.sql",
      "description": "OPTIMIZE on a key-value-style flat table. label = 'key_' + str(i % 5) score = i * 3",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1383,
      "write_warm_ms": 1198,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3055_maint_vacuum_dv_cleanup",
      "num": 3055,
      "name": "maint_vacuum_dv_cleanup",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3055_maint_vacuum_dv_cleanup.py",
      "read_script": "generator/df-reads-spark/3055_maint_vacuum_dv_cleanup.sql",
      "description": "50 rows (odd ids only) after DV DELETE + OPTIMIZE + VACUUM.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 12347,
      "write_warm_ms": 10646,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3056_cdc_merge_three_clause_cdf",
      "num": 3056,
      "name": "cdc_merge_three_clause_cdf",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3056_cdc_merge_three_clause_cdf.py",
      "read_script": "generator/df-reads-spark/3056_cdc_merge_three_clause_cdf.sql",
      "description": "Three-clause MERGE (UPDATE / DELETE / INSERT) on a CDC+DV table. This writer reproduces the final row state -- CDF data is not directly readable through delta-forge so we only verify post-merge data.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 527,
      "write_warm_ms": 574,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3057_cdc_truncate_cdf_record",
      "num": 3057,
      "name": "cdc_truncate_cdf_record",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3057_cdc_truncate_cdf_record.py",
      "read_script": "generator/df-reads-spark/3057_cdc_truncate_cdf_record.sql",
      "description": "INSERT 50 then TRUNCATE. Final: 0 rows.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 0,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1287,
      "write_warm_ms": 1099,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "dml:truncate",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3058_cdc_schema_evolve_cdf_columns",
      "num": 3058,
      "name": "cdc_schema_evolve_cdf_columns",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3058_cdc_schema_evolve_cdf_columns.py",
      "read_script": "generator/df-reads-spark/3058_cdc_schema_evolve_cdf_columns.sql",
      "description": "CDC + schema evolve (ADD COLUMN score) + UPDATE. Reproduce final state.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 540,
      "write_warm_ms": 519,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3059_cdc_delete_all_cdf_complete",
      "num": 3059,
      "name": "cdc_delete_all_cdf_complete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3059_cdc_delete_all_cdf_complete.py",
      "read_script": "generator/df-reads-spark/3059_cdc_delete_all_cdf_complete.sql",
      "description": "INSERT 100 then DELETE all. Final: 0 rows.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 0,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1668,
      "write_warm_ms": 1521,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/305_zorder_comprehensive_basic",
      "num": 305,
      "name": "zorder_comprehensive_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/305_zorder_comprehensive_basic.py",
      "read_script": "generator/df-reads-spark/305_zorder_comprehensive_basic.sql",
      "description": "Z-ORDER basic test. 1300 rows (500 initial + 8 batches of 100). Z-ORDER by region, product_category.",
      "status": "pass",
      "duration_ms": 80,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 80,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3060_cdc_update_same_row_10x",
      "num": 3060,
      "name": "cdc_update_same_row_10x",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3060_cdc_update_same_row_10x.py",
      "read_script": "generator/df-reads-spark/3060_cdc_update_same_row_10x.sql",
      "description": "Single row updated 10 times. Final counter=10, label='v10'.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 579,
      "write_warm_ms": 519,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3061_cdc_partition_cdf_per_partition",
      "num": 3061,
      "name": "cdc_partition_cdf_per_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3061_cdc_partition_cdf_per_partition.py",
      "read_script": "generator/df-reads-spark/3061_cdc_partition_cdf_per_partition.sql",
      "description": "Partitioned CDC table. Final state after DELETE US. region by i%3: 0 -> US, 1 -> EU, 2 -> APAC score = i * 10 US rows deleted. Final: 40 rows (EU + APAC).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 600,
      "write_warm_ms": 555,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3062_cdc_identity_cdf_id_tracking",
      "num": 3062,
      "name": "cdc_identity_cdf_id_tracking",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3062_cdc_identity_cdf_id_tracking.py",
      "read_script": "generator/df-reads-spark/3062_cdc_identity_cdf_id_tracking.sql",
      "description": "SKIPPED -- DATABRICKS ONLY on path-based Delta tables in Apache Spark OSS.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Identity columns (GENERATED BY DEFAULT AS IDENTITY) are not supported on path-based Delta tables in Apache Spark OSS.",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": "IDENTITY_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:change-data-feed",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3063_cdc_optimize_cdf_survives",
      "num": 3063,
      "name": "cdc_optimize_cdf_survives",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3063_cdc_optimize_cdf_survives.py",
      "read_script": "generator/df-reads-spark/3063_cdc_optimize_cdf_survives.sql",
      "description": "CDF + UPDATE + DELETE + OPTIMIZE. Final: 39 rows. ids 1-20: val = id*10 + 100, tag = 'init' ids 21-39: val = id*10, tag = 'init",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1266,
      "write_warm_ms": 1208,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3064_cdc_default_col_cdf",
      "num": 3064,
      "name": "cdc_default_col_cdf",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3064_cdc_default_col_cdf.py",
      "read_script": "generator/df-reads-spark/3064_cdc_default_col_cdf.sql",
      "description": "DEFAULT column + UPDATE. Reproduce final materialized state.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 502,
      "write_warm_ms": 484,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3065_cdc_struct_column_changes",
      "num": 3065,
      "name": "cdc_struct_column_changes",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3065_cdc_struct_column_changes.py",
      "read_script": "generator/df-reads-spark/3065_cdc_struct_column_changes.sql",
      "description": "Flat schema simulating struct-like before/after. UPDATE first 15 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 502,
      "write_warm_ms": 496,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3066_cdc_colmap_cdf_logical_names",
      "num": 3066,
      "name": "cdc_colmap_cdf_logical_names",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3066_cdc_colmap_cdf_logical_names.py",
      "read_script": "generator/df-reads-spark/3066_cdc_colmap_cdf_logical_names.sql",
      "description": "CDC + column mapping (name mode). UPDATE first 20 rows adding 500 to score.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "CDC + column mapping with DROP/RENAME COLUMN is blocked by Apache Spark OSS via DELTA_BLOCK_COLUMN_MAPPING_AND_CDC_OPERATION.",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": "CDC_COLMAP_DROP_RENAME",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "type:string",
        "delta:change-data-feed",
        "delta:column-mapping",
        "schema:rename-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3067_cdc_constraint_valid_merge",
      "num": 3067,
      "name": "cdc_constraint_valid_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3067_cdc_constraint_valid_merge.py",
      "read_script": "generator/df-reads-spark/3067_cdc_constraint_valid_merge.sql",
      "description": "CHECK constraint + MERGE. Final: 40 rows. ids 1-15: name = 'row_'+i, score = i*5 + 100 (UPDATE from MERGE source) ids 16-30: name = 'row_'+i, score = i*5 (unchanged) ids 31-40: name = 'm_'+i, score = (i-30)*10 (INSERT from MERGE source)",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1161,
      "write_warm_ms": 1511,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3068_cdc_restore_cdf_history",
      "num": 3068,
      "name": "cdc_restore_cdf_history",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3068_cdc_restore_cdf_history.py",
      "read_script": "generator/df-reads-spark/3068_cdc_restore_cdf_history.sql",
      "description": "CDC + RESTORE TO VERSION 1. After RESTORE, final is V1 state: 30 rows tag='v1'.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4174,
      "write_warm_ms": 4493,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3069_cdc_widen_cdf_type_change",
      "num": 3069,
      "name": "cdc_widen_cdf_type_change",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3069_cdc_widen_cdf_type_change.py",
      "read_script": "generator/df-reads-spark/3069_cdc_widen_cdf_type_change.sql",
      "description": "SKIPPED -- DATABRICKS ONLY not available in Apache Spark OSS.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Type widening (delta.enableTypeWidening) is a Databricks-only feature not available in Apache Spark OSS.",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": "TYPE_WIDENING",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:change-data-feed",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/306_zorder_numeric_columns",
      "num": 306,
      "name": "zorder_numeric_columns",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/306_zorder_numeric_columns.py",
      "read_script": "generator/df-reads-spark/306_zorder_numeric_columns.sql",
      "description": "Z-ORDER on numeric columns. 3000 rows (2000 initial + 5 batches of 200).",
      "status": "pass",
      "duration_ms": 76,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 76,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3070_cdc_many_versions_50",
      "num": 3070,
      "name": "cdc_many_versions_50",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3070_cdc_many_versions_50.py",
      "read_script": "generator/df-reads-spark/3070_cdc_many_versions_50.sql",
      "description": "10 INSERT batches of 10 rows each. val = i * 10 batch = ((i - 1) // 10) + 1",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 646,
      "write_warm_ms": 554,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3071_cdc_dv_delete_cdf_correct",
      "num": 3071,
      "name": "cdc_dv_delete_cdf_correct",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3071_cdc_dv_delete_cdf_correct.py",
      "read_script": "generator/df-reads-spark/3071_cdc_dv_delete_cdf_correct.sql",
      "description": "DV + CDF DELETE. Final: 40 rows (ids 21-60). val = i * 10 tag = 'init",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 775,
      "write_warm_ms": 747,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3072_cdc_map_column_update",
      "num": 3072,
      "name": "cdc_map_column_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3072_cdc_map_column_update.py",
      "read_script": "generator/df-reads-spark/3072_cdc_map_column_update.sql",
      "description": "Key-value style schema with UPDATE on first 10. ids 1-10: label='key_'+i, score=i*10 + 100, extra='updated_'+i ids 11-20: label='key_'+i, score=i*10, extra='val_'+i",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 951,
      "write_warm_ms": 753,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3073_cdc_gencol_cdf_computed",
      "num": 3073,
      "name": "cdc_gencol_cdf_computed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3073_cdc_gencol_cdf_computed.py",
      "read_script": "generator/df-reads-spark/3073_cdc_gencol_cdf_computed.sql",
      "description": "SKIPPED -- DATABRICKS ONLY Delta tables in Apache Spark OSS.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "GENERATED ALWAYS AS (expr) columns are not supported on path-based Delta tables in Apache Spark OSS.",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": "GENERATED_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:change-data-feed",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3074_evolve_drop_col_then_merge",
      "num": 3074,
      "name": "evolve_drop_col_then_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3074_evolve_drop_col_then_merge.py",
      "read_script": "generator/df-reads-spark/3074_evolve_drop_col_then_merge.sql",
      "description": "DROP COLUMN old_col then MERGE. Column mapping name mode required for DROP.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 751,
      "write_warm_ms": 764,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "schema:drop-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3075_evolve_rename_col_then_merge",
      "num": 3075,
      "name": "evolve_rename_col_then_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3075_evolve_rename_col_then_merge.py",
      "read_script": "generator/df-reads-spark/3075_evolve_rename_col_then_merge.sql",
      "description": "RENAME COLUMN old_name -> new_name then MERGE. Column mapping name mode required.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 718,
      "write_warm_ms": 719,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "schema:rename-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3076_evolve_add_three_cols_sequential",
      "num": 3076,
      "name": "evolve_add_three_cols_sequential",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3076_evolve_add_three_cols_sequential.py",
      "read_script": "generator/df-reads-spark/3076_evolve_add_three_cols_sequential.sql",
      "description": "ADD three columns one at a time; verify NULL backfill patterns per batch. Reproduces the final state after four batches: Batch 1 (ids 1-20): base_val=i*10, col_a=NULL, col_b=NULL, col_c=NULL Batch 2 (ids 21-40): base_val=i*20, col_a=i, col_b=NULL, col_c=NULL (where i=1..20)",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 712,
      "write_warm_ms": 715,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3077_evolve_drop_add_same_name",
      "num": 3077,
      "name": "evolve_drop_add_same_name",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3077_evolve_drop_add_same_name.py",
      "read_script": "generator/df-reads-spark/3077_evolve_drop_add_same_name.sql",
      "description": "DROP column x then ADD COLUMN x with different type (INT -> STRING). Final state: Batch 1 (ids 1..30): y = i*5, x = NULL (original INT x was dropped) Batch 2 (ids 31..50): y = i*7, x = 'new_<i>' (where i=1..20)",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 675,
      "write_warm_ms": 677,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "schema:drop-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3078_evolve_add_col_with_cdc_colmap",
      "num": 3078,
      "name": "evolve_add_col_with_cdc_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3078_evolve_add_col_with_cdc_colmap.py",
      "read_script": "generator/df-reads-spark/3078_evolve_add_col_with_cdc_colmap.sql",
      "description": "ADD COLUMN with CDC + colmap enabled; verify CDF sees new column. Final state after: Batch 1 (ids 1..30): name='row_<i>', val=i*10, score=NULL ADD score INT Batch 2 (ids 31..50): name='new_<i>', val=i*20, score=i*5 (i=1..20) UPDATE score=999 WHERE id<=10",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "CDC + column mapping with DROP/RENAME COLUMN is blocked by Apache Spark OSS via DELTA_BLOCK_COLUMN_MAPPING_AND_CDC_OPERATION.",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": "CDC_COLMAP_DROP_RENAME",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "type:string",
        "delta:change-data-feed",
        "delta:column-mapping",
        "schema:add-column",
        "schema:rename-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3079_evolve_add_not_null_col_default",
      "num": 3079,
      "name": "evolve_add_not_null_col_default",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3079_evolve_add_not_null_col_default.py",
      "read_script": "generator/df-reads-spark/3079_evolve_add_not_null_col_default.sql",
      "description": "ADD COLUMN with DEFAULT value after existing rows; verify NULL vs default behaviour. Final state: Batch 1 (ids 1..40): name='r_<i>', val=i*10, status=NULL (existing rows before ADD COLUMN) ADD COLUMN status STRING DEFAULT 'unknown' Batch 2 (ids 41..60): name='n_<k>', val=k*20...",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 668,
      "write_warm_ms": 680,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/307_zorder_string_columns",
      "num": 307,
      "name": "zorder_string_columns",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/307_zorder_string_columns.py",
      "read_script": "generator/df-reads-spark/307_zorder_string_columns.sql",
      "description": "Z-ORDER on STRING columns. 3400 rows (2500 initial + 6 batches of 150).",
      "status": "pass",
      "duration_ms": 65,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 65,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3080_evolve_add_struct_column",
      "num": 3080,
      "name": "evolve_add_struct_column",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3080_evolve_add_struct_column.py",
      "read_script": "generator/df-reads-spark/3080_evolve_add_struct_column.sql",
      "description": "ADD two detail columns simulating struct field expansion; verify NULL backfill. Final state: Batch 1 (ids 1..30): name='row_<i>', detail_a=NULL, detail_b=NULL Batch 2 (ids 31..50): name='new_<k>', detail_a=k*10, detail_b='info_<k>' (k=1..20)",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 681,
      "write_warm_ms": 655,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3081_evolve_add_array_column",
      "num": 3081,
      "name": "evolve_add_array_column",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3081_evolve_add_array_column.py",
      "read_script": "generator/df-reads-spark/3081_evolve_add_array_column.sql",
      "description": "ADD a STRING column (simulating array/list) after existing rows; verify NULL backfill. Final state: Batch 1 (ids 1..30): name='row_<i>', tags=NULL Batch 2 (ids 31..50): name='new_<k>', tags='tag_<k>' (k=1..20)",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 763,
      "write_warm_ms": 800,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3082_evolve_add_map_column",
      "num": 3082,
      "name": "evolve_add_map_column",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3082_evolve_add_map_column.py",
      "read_script": "generator/df-reads-spark/3082_evolve_add_map_column.sql",
      "description": "ADD a STRING column (simulating map/kv) after existing rows; verify NULL backfill. Final state: Batch 1 (ids 1..30): name='row_<i>', attrs=NULL Batch 2 (ids 31..50): name='new_<k>', attrs='k=<k>' (k=1..20)",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 805,
      "write_warm_ms": 692,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3083_evolve_multiple_renames",
      "num": 3083,
      "name": "evolve_multiple_renames",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3083_evolve_multiple_renames.py",
      "read_script": "generator/df-reads-spark/3083_evolve_multiple_renames.sql",
      "description": "RENAME the same column twice (col_a -> col_b -> col_c); verify final name. Final schema uses col_c. All three batches populate the same underlying column. Batch 1 (ids 1..20): col_c=i*10, val=i*5 Batch 2 (ids 21..40): col_c=(i-20)*20, val=(i-20)*7",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 699,
      "write_warm_ms": 768,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3084_evolve_widen_then_add_col",
      "num": 3084,
      "name": "evolve_widen_then_add_col",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3084_evolve_widen_then_add_col.py",
      "read_script": "generator/df-reads-spark/3084_evolve_widen_then_add_col.sql",
      "description": "SKIPPED -- DATABRICKS ONLY available in Spark OSS. This test uses ALTER COLUMN val SET DATA TYPE BIGINT which requires the typeWidening table feature.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Type widening (delta.enableTypeWidening) is a Databricks-only feature not available in Spark OSS.",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": "TYPE_WIDENING",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "schema:add-column",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3085_evolve_colmap_rename_then_query",
      "num": 3085,
      "name": "evolve_colmap_rename_then_query",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3085_evolve_colmap_rename_then_query.py",
      "read_script": "generator/df-reads-spark/3085_evolve_colmap_rename_then_query.sql",
      "description": "RENAME column with colmap=name; verify logical name propagation in reads. Final schema uses renamed_col (was original_col). Batch 1 (ids 1..30): renamed_col='data_<i>', val=i*10 Batch 2 (ids 31..50): renamed_col='new_<k>', val=k*20 (k=1..20)",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 878,
      "write_warm_ms": 721,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "schema:rename-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3086_evolve_constraint_after_add_col",
      "num": 3086,
      "name": "evolve_constraint_after_add_col",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3086_evolve_constraint_after_add_col.py",
      "read_script": "generator/df-reads-spark/3086_evolve_constraint_after_add_col.sql",
      "description": "ADD COLUMN then ADD CONSTRAINT CHECK on that column; verify data after ADD+CONSTRAINT. Final state: Batch 1 (ids 1..30): name='r_<i>', score=NULL (added later) Batch 2 (ids 31..50): name='n_<k>', score=k*5 (k=1..20, always >= 0)",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2186,
      "write_warm_ms": 2303,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3087_evolve_identity_add_col",
      "num": 3087,
      "name": "evolve_identity_add_col",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3087_evolve_identity_add_col.py",
      "read_script": "generator/df-reads-spark/3087_evolve_identity_add_col.sql",
      "description": "SKIPPED -- DATABRICKS ONLY Delta feature not available in Spark OSS.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "IDENTITY columns (GENERATED BY DEFAULT AS IDENTITY) are a Databricks-only Delta feature not available in Spark OSS.",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": "IDENTITY_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:identity-columns",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3088_evolve_five_operations_sequence",
      "num": 3088,
      "name": "evolve_five_operations_sequence",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3088_evolve_five_operations_sequence.py",
      "read_script": "generator/df-reads-spark/3088_evolve_five_operations_sequence.sql",
      "description": "Final schema (after all five ops): id, b_renamed, c, d, e. Column mapping (name mode) required for RENAME and DROP COLUMN.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1159,
      "write_warm_ms": 938,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "schema:drop-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3089_partition_null_key_merge",
      "num": 3089,
      "name": "partition_null_key_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3089_partition_null_key_merge.py",
      "read_script": "generator/df-reads-spark/3089_partition_null_key_merge.sql",
      "description": "Partitioned table with NULL partition key values. MERGE updates val for ids 1..25. Final state for each id i in 1..50: region = NULL if i%5==0 else (i%4: 0->US, 1->EU, 2->APAC, 3->LATAM) val = i*10 + (1000 if i<=25 else 0)",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 996,
      "write_warm_ms": 909,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/308_zorder_datetime_columns",
      "num": 308,
      "name": "zorder_datetime_columns",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/308_zorder_datetime_columns.py",
      "read_script": "generator/df-reads-spark/308_zorder_datetime_columns.sql",
      "description": "Z-ORDER on datetime columns. ~3400 rows (3000 initial + batches).",
      "status": "pass",
      "duration_ms": 38,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 38,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3090_partition_high_cardinality_50",
      "num": 3090,
      "name": "partition_high_cardinality_50",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3090_partition_high_cardinality_50.py",
      "read_script": "generator/df-reads-spark/3090_partition_high_cardinality_50.sql",
      "description": "High-cardinality partitioned table with 50 distinct partition key values. 500 rows, 10 per partition. id = 1..500 part_key = ((i - 1) % 50) + 1 val = i * 3",
      "status": "pass",
      "duration_ms": 97,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 97,
      "read_warm_ms": 20,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1430,
      "write_warm_ms": 1551,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3091_partition_special_chars_key",
      "num": 3091,
      "name": "partition_special_chars_key",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3091_partition_special_chars_key.py",
      "read_script": "generator/df-reads-spark/3091_partition_special_chars_key.sql",
      "description": "Partitioned table with special characters in the partition key values (hyphens, spaces, underscores). id = 1..30 region = CASE i%3 WHEN 0 THEN 'US-East' WHEN 1 THEN 'EU West' ELSE 'APAC_North' val = i * 7",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 784,
      "write_warm_ms": 865,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "iceberg:partition-spec",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3092_partition_boolean_key",
      "num": 3092,
      "name": "partition_boolean_key",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3092_partition_boolean_key.py",
      "read_script": "generator/df-reads-spark/3092_partition_boolean_key.sql",
      "description": "BOOLEAN partition key. id = 1..60 is_active = (i % 2 == 0) val = i * 5",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 809,
      "write_warm_ms": 911,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3093_partition_date_key_daily",
      "num": 3093,
      "name": "partition_date_key_daily",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3093_partition_date_key_daily.py",
      "read_script": "generator/df-reads-spark/3093_partition_date_key_daily.sql",
      "description": "Date-string partition key with daily granularity. id = 1..30 event_date = '2024-01-' + LPAD(i, 2, '0') (dates 2024-01-01 .. 2024-01-30) val = i * 11",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 866,
      "write_warm_ms": 949,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3094_partition_timestamp_key",
      "num": 3094,
      "name": "partition_timestamp_key",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3094_partition_timestamp_key.py",
      "read_script": "generator/df-reads-spark/3094_partition_timestamp_key.sql",
      "description": "Timestamp-string partition key (hourly granularity). id = 1..20 ts_key = '2024-01-01T' + LPAD(i, 2, '0') + ':00:00' val = i * 13",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 887,
      "write_warm_ms": 830,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3095_partition_optimize_per_partition",
      "num": 3095,
      "name": "partition_optimize_per_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3095_partition_optimize_per_partition.py",
      "read_script": "generator/df-reads-spark/3095_partition_optimize_per_partition.sql",
      "description": "OPTIMIZE on a partitioned table with 5 small-batch inserts per partition. Each batch indexes i=1..20; id = batch_offset + i (batch_offset in {0,20,40,60,80}). region = CASE i%4 WHEN 0 US WHEN 1 EU WHEN 2 APAC ELSE LATAM (depends on batch position i)",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4027,
      "write_warm_ms": 3473,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3096_partition_vacuum_selective",
      "num": 3096,
      "name": "partition_vacuum_selective",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3096_partition_vacuum_selective.py",
      "read_script": "generator/df-reads-spark/3096_partition_vacuum_selective.sql",
      "description": "VACUUM after selective DELETE removes a partition's physical files. Version history (with V0 empty-schema commit to match delta-forge numbering):",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 16074,
      "write_warm_ms": 16495,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3097_partition_cdc_per_partition_cdf",
      "num": 3097,
      "name": "partition_cdc_per_partition_cdf",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3097_partition_cdc_per_partition_cdf.py",
      "read_script": "generator/df-reads-spark/3097_partition_cdc_per_partition_cdf.sql",
      "description": "CDC (Change Data Feed) on a partitioned table. UPDATE only affects US partition. Final state for i = 1..60: region = CASE i%3 WHEN 0 US WHEN 1 EU ELSE APAC score = i * 7 + (100 if region == 'US' else 0)",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 962,
      "write_warm_ms": 844,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3098_partition_identity_per_partition",
      "num": 3098,
      "name": "partition_identity_per_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3098_partition_identity_per_partition.py",
      "read_script": "generator/df-reads-spark/3098_partition_identity_per_partition.sql",
      "description": "SKIPPED -- DATABRICKS ONLY Delta feature not available in Spark OSS.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "IDENTITY columns (GENERATED BY DEFAULT AS IDENTITY) are a Databricks-only Delta feature not available in Spark OSS.",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": "IDENTITY_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:identity-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3099_partition_colmap_directory_names",
      "num": 3099,
      "name": "partition_colmap_directory_names",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3099_partition_colmap_directory_names.py",
      "read_script": "generator/df-reads-spark/3099_partition_colmap_directory_names.sql",
      "description": "Column mapping (name mode) combined with partitioning. 40 rows, 4 regions. id = 1..40 region = CASE i%4 WHEN 0 US WHEN 1 EU WHEN 2 APAC ELSE LATAM val = i * 6",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 857,
      "write_warm_ms": 1097,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/309_zorder_partitioned_table",
      "num": 309,
      "name": "zorder_partitioned_table",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/309_zorder_partitioned_table.py",
      "read_script": "generator/df-reads-spark/309_zorder_partitioned_table.sql",
      "description": "Z-ORDER on partitioned table. 4000 initial + append batches. Partitioned by (partition_date, region).",
      "status": "pass",
      "duration_ms": 64,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 64,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "delta:z-order",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/30_column_mapping_name_mode_logical",
      "num": 30,
      "name": "column_mapping_name_mode_logical",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/30_column_mapping_name_mode_logical.py",
      "read_script": "generator/df-reads-spark/30_column_mapping_name_mode_logical.sql",
      "description": "Scientific research lab data with column mapping name mode. 1500 initial + UPDATE x3 + 100 INSERT + DELETE + UPDATE + MERGE.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 5832,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3100_partition_constraint_per_partition",
      "num": 3100,
      "name": "partition_constraint_per_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3100_partition_constraint_per_partition.py",
      "read_script": "generator/df-reads-spark/3100_partition_constraint_per_partition.sql",
      "description": "CHECK constraint on a partitioned table. score = i % 30 is always non-negative. id = 1..60 region = CASE i%3 WHEN 0 US WHEN 1 EU ELSE APAC score = i % 30",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2318,
      "write_warm_ms": 2310,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3101_partition_evolve_add_col",
      "num": 3101,
      "name": "partition_evolve_add_col",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3101_partition_evolve_add_col.py",
      "read_script": "generator/df-reads-spark/3101_partition_evolve_add_col.sql",
      "description": "Schema evolution (ADD COLUMN) on a partitioned table. First 40 rows have no score column (NULL in final schema). Last 40 rows populate score. Batch 1 (ids 1..40): region = US if i%2==0 else EU; val = i*3; score = NULL Batch 2 (ids 41..80, k=1..40): region = APAC if k%2==0 else...",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1113,
      "write_warm_ms": 1032,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3102_partition_zorder_within_partition",
      "num": 3102,
      "name": "partition_zorder_within_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3102_partition_zorder_within_partition.py",
      "read_script": "generator/df-reads-spark/3102_partition_zorder_within_partition.sql",
      "description": "OPTIMIZE on a partitioned table with 200 rows across 4 regions. id = 1..200 region = CASE i%4 WHEN 0 US WHEN 1 EU WHEN 2 APAC ELSE LATAM category = i % 10 amount = i * 5",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2571,
      "write_warm_ms": 2094,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3103_partition_restore_version_boundary",
      "num": 3103,
      "name": "partition_restore_version_boundary",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3103_partition_restore_version_boundary.py",
      "read_script": "generator/df-reads-spark/3103_partition_restore_version_boundary.sql",
      "description": "RESTORE TO VERSION on a partitioned table. After restoring to version 1 (after the first US insert), the EU partition is rolled back.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4854,
      "write_warm_ms": 4497,
      "tags": [
        "type:boundary",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3104_stats_after_merge_three_clause",
      "num": 3104,
      "name": "stats_after_merge_three_clause",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3104_stats_after_merge_three_clause.py",
      "read_script": "generator/df-reads-spark/3104_stats_after_merge_three_clause.sql",
      "description": "Delta file statistics after a three-clause MERGE. Final state: ids 1..30: val = i*10 + 5000, tag='init' (MATCHED UPDATE) ids 31..40: removed (MATCHED DELETE) ids 41..100: val = i*10, tag='init' (unchanged) key = i for all rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 754,
      "write_warm_ms": 735,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3105_stats_after_schema_evolve_add",
      "num": 3105,
      "name": "stats_after_schema_evolve_add",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3105_stats_after_schema_evolve_add.py",
      "read_script": "generator/df-reads-spark/3105_stats_after_schema_evolve_add.sql",
      "description": "Delta statistics after ADD COLUMN. Batch 1 (ids 1..50): val=i*10, score=NULL Batch 2 (ids 51..100, k=1..50): val=k*20, score=k*5",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 683,
      "write_warm_ms": 792,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3106_stats_string_truncation_long",
      "num": 3106,
      "name": "stats_string_truncation_long",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3106_stats_string_truncation_long.py",
      "read_script": "generator/df-reads-spark/3106_stats_string_truncation_long.sql",
      "description": "Delta stats truncation for long strings. id = 1..50 long_str = ('a' * 50) + str(i) (51-52 chars) val = i * 4",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 622,
      "write_warm_ms": 748,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "storage:statistics",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3107_stats_decimal_precision_38",
      "num": 3107,
      "name": "stats_decimal_precision_38",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3107_stats_decimal_precision_38.py",
      "read_script": "generator/df-reads-spark/3107_stats_decimal_precision_38.sql",
      "description": "Delta statistics for DECIMAL(38,18) -- maximum precision. id = 1..30 amount = i * 1000000.123456 (computed in Decimal, stored at scale 18)",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 598,
      "write_warm_ms": 667,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3108_stats_null_heavy_column",
      "num": 3108,
      "name": "stats_null_heavy_column",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3108_stats_null_heavy_column.py",
      "read_script": "generator/df-reads-spark/3108_stats_null_heavy_column.sql",
      "description": "Delta statistics for a column with many NULLs. id = 1..100 sparse_val = i*100 if i <= 10 else NULL (10 non-null, 90 NULL) label = 'row_<i>",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 735,
      "write_warm_ms": 845,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3109_stats_after_optimize",
      "num": 3109,
      "name": "stats_after_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3109_stats_after_optimize.py",
      "read_script": "generator/df-reads-spark/3109_stats_after_optimize.sql",
      "description": "Delta file statistics after OPTIMIZE. 10 separate INSERT batches create 10 small files, then OPTIMIZE compacts them. id = 1..100 val = i * 7 tag = 'batch<k>_<j>' where k = ceil(i/10), j = 1..10 (position in batch)",
      "status": "pass",
      "duration_ms": 20,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 20,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6882,
      "write_warm_ms": 6437,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/310_zorder_after_spark_optimize",
      "num": 310,
      "name": "zorder_after_spark_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/310_zorder_after_spark_optimize.py",
      "read_script": "generator/df-reads-spark/310_zorder_after_spark_optimize.sql",
      "description": "DeltaForge Z-ORDER on already Spark-optimized table. 3000 rows.",
      "status": "pass",
      "duration_ms": 47,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 47,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3110_pushdown_int_range_with_dv",
      "num": 3110,
      "name": "pushdown_int_range_with_dv",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3110_pushdown_int_range_with_dv.py",
      "read_script": "generator/df-reads-spark/3110_pushdown_int_range_with_dv.sql",
      "description": "Integer range pushdown with Deletion Vectors. DELETE WHERE id BETWEEN 50 AND 100 (51 rows deleted via DV)",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2224,
      "write_warm_ms": 2142,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3111_pushdown_string_prefix",
      "num": 3111,
      "name": "pushdown_string_prefix",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3111_pushdown_string_prefix.py",
      "read_script": "generator/df-reads-spark/3111_pushdown_string_prefix.sql",
      "description": "String prefix distribution in Delta table. id = 1..100 code = CASE i%3 WHEN 0 'AAA_<i>' WHEN 1 'BBB_<i>' ELSE 'CCC_<i>' val = i * 8",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 877,
      "write_warm_ms": 816,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3112_pushdown_timestamp_range",
      "num": 3112,
      "name": "pushdown_timestamp_range",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3112_pushdown_timestamp_range.py",
      "read_script": "generator/df-reads-spark/3112_pushdown_timestamp_range.sql",
      "description": "Timestamp-like string range pushdown. 100 rows spanning ~4 months. id = 1..100 ts_val = '2024-' + LPAD((i-1)//28 + 1, 2) + '-' + LPAD((i-1)%28 + 1, 2) val = i * 3",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 748,
      "write_warm_ms": 791,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3113_pushdown_decimal_range",
      "num": 3113,
      "name": "pushdown_decimal_range",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3113_pushdown_decimal_range.py",
      "read_script": "generator/df-reads-spark/3113_pushdown_decimal_range.sql",
      "description": "DECIMAL range pushdown. DECIMAL(18,4) with min/max statistics. id = 1..100 amount = i * 10.5555 (stored at scale 4) label = 'item_<i>",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 635,
      "write_warm_ms": 754,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3114_pushdown_null_is_null",
      "num": 3114,
      "name": "pushdown_null_is_null",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3114_pushdown_null_is_null.py",
      "read_script": "generator/df-reads-spark/3114_pushdown_null_is_null.sql",
      "description": "IS NULL / IS NOT NULL pushdown with Delta statistics. nullable_col is NULL for odd rows and populated for even rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 669,
      "write_warm_ms": 767,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3115_pushdown_partition_plus_stats_combo",
      "num": 3115,
      "name": "pushdown_partition_plus_stats_combo",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3115_pushdown_partition_plus_stats_combo.py",
      "read_script": "generator/df-reads-spark/3115_pushdown_partition_plus_stats_combo.sql",
      "description": "Combined partition pruning + file-level stats pushdown. region = ['US','EU','APAC','LATAM'][i%4] (i%4==0->US, 1->EU, 2->APAC, 3->LATAM) val = i * 5 score = i % 100",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 894,
      "write_warm_ms": 868,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3116_identity_merge_hwm_correctness",
      "num": 3116,
      "name": "identity_merge_hwm_correctness",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3116_identity_merge_hwm_correctness.py",
      "read_script": "generator/df-reads-spark/3116_identity_merge_hwm_correctness.sql",
      "description": "Final state of MERGE-with-identity test. First 50 rows inserted via identity (ids 1-50, name='row_i', score=i*10), then MERGE inserts 30 new rows (ids 51-80, name='merge_j' where j=i-50, score=j*20).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 782,
      "write_warm_ms": 817,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3117_identity_delete_all_reinsert_hwm",
      "num": 3117,
      "name": "identity_delete_all_reinsert_hwm",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3117_identity_delete_all_reinsert_hwm.py",
      "read_script": "generator/df-reads-spark/3117_identity_delete_all_reinsert_hwm.sql",
      "description": "ends with 50 rows at ids 51..100 (HWM continued past the deleted range).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 767,
      "write_warm_ms": 737,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3118_identity_by_default_explicit_values",
      "num": 3118,
      "name": "identity_by_default_explicit_values",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3118_identity_by_default_explicit_values.py",
      "read_script": "generator/df-reads-spark/3118_identity_by_default_explicit_values.sql",
      "description": "then 10 more auto-generated ids starting from HWM+1 = 1001..1010.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 724,
      "write_warm_ms": 733,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3119_identity_cdc_hwm_tracking",
      "num": 3119,
      "name": "identity_cdc_hwm_tracking",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3119_identity_cdc_hwm_tracking.py",
      "read_script": "generator/df-reads-spark/3119_identity_cdc_hwm_tracking.sql",
      "description": "ids 11..30: name='row_i', status='active' ids 31..50: name='new_j', status='pending' (j = id - 30, 1..20)",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 621,
      "write_warm_ms": 848,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/311_zorder_with_deletion_vectors",
      "num": 311,
      "name": "zorder_with_deletion_vectors",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/311_zorder_with_deletion_vectors.py",
      "read_script": "generator/df-reads-spark/311_zorder_with_deletion_vectors.sql",
      "description": "Z-ORDER on table with deletion vectors. 3695 rows (5000 filtered). Rows with status=cancelled excluded, expired with amount<50 excluded.",
      "status": "pass",
      "duration_ms": 31,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 31,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3120_identity_colmap_physical_name",
      "num": 3120,
      "name": "identity_colmap_physical_name",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3120_identity_colmap_physical_name.py",
      "read_script": "generator/df-reads-spark/3120_identity_colmap_physical_name.sql",
      "description": "Identity column combined with column mapping (mode=name).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 816,
      "write_warm_ms": 845,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3121_identity_partition_global_unique",
      "num": 3121,
      "name": "identity_partition_global_unique",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3121_identity_partition_global_unique.py",
      "read_script": "generator/df-reads-spark/3121_identity_partition_global_unique.sql",
      "description": "Globally unique identity ids across partition inserts.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 773,
      "write_warm_ms": 809,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3122_identity_optimize_hwm_stable",
      "num": 3122,
      "name": "identity_optimize_hwm_stable",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3122_identity_optimize_hwm_stable.py",
      "read_script": "generator/df-reads-spark/3122_identity_optimize_hwm_stable.sql",
      "description": "OPTIMIZE between two identity inserts. Final: 100 rows. ids 1..50: name='row_i', val=i*5 ids 51..100: name='post_j', val=j*50 (j = id - 50)",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1803,
      "write_warm_ms": 1626,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3123_default_merge_not_matched",
      "num": 3123,
      "name": "default_merge_not_matched",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3123_default_merge_not_matched.py",
      "read_script": "generator/df-reads-spark/3123_default_merge_not_matched.sql",
      "description": "MERGE NOT MATCHED inserts rows that receive the DEFAULT status = 'pending'. ids 1..30: name='r_i', status='active', score=i*10 ids 31..50: name='new_j', status='pending', score=j*20 (j = id - 30)",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 662,
      "write_warm_ms": 698,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3124_default_evolve_change_default",
      "num": 3124,
      "name": "default_evolve_change_default",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3124_default_evolve_change_default.py",
      "read_script": "generator/df-reads-spark/3124_default_evolve_change_default.sql",
      "description": "ALTER TABLE ... ALTER COLUMN ... SET DEFAULT changes mid-stream. ids 1..30: name='r_i', priority=0 ids 31..50: name='n_j', priority=99 (j = id - 30)",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 773,
      "write_warm_ms": 681,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3125_default_cdc_pre_post_image",
      "num": 3125,
      "name": "default_cdc_pre_post_image",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3125_default_cdc_pre_post_image.py",
      "read_script": "generator/df-reads-spark/3125_default_cdc_pre_post_image.sql",
      "description": "INSERT with default status='new', then UPDATE first 15 rows to 'processed'. ids 1..15: name='r_i', status='processed' ids 16..30: name='r_i', status='new",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 783,
      "write_warm_ms": 713,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3126_default_null_vs_default",
      "num": 3126,
      "name": "default_null_vs_default",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3126_default_null_vs_default.py",
      "read_script": "generator/df-reads-spark/3126_default_null_vs_default.sql",
      "description": "Explicit NULL vs omitted column (DEFAULT). Final: 10 rows. id=1: name='null_test', x=NULL id=2..10: name='def_j', x=42 (j = id - 1)",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 744,
      "write_warm_ms": 671,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3127_default_expression_current",
      "num": 3127,
      "name": "default_expression_current",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3127_default_expression_current.py",
      "read_script": "generator/df-reads-spark/3127_default_expression_current.sql",
      "description": "Numeric DEFAULT 0 vs explicit total. Final: 50 rows. ids 1..30: price=i*10, qty=(i%5)+1, total=price*qty ids 31..50: price=j*20, qty=(j%3)+1, total=0 (j = id - 30)",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 780,
      "write_warm_ms": 801,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3128_gencol_update_base_recompute",
      "num": 3128,
      "name": "gencol_update_base_recompute",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3128_gencol_update_base_recompute.py",
      "read_script": "generator/df-reads-spark/3128_gencol_update_base_recompute.sql",
      "description": "UPDATE base column triggers generated column recomputation. ids 1..15: a=i+100, b=i*2, sum_ab = (i+100) + 2i = 3i + 100 ids 16..30: a=i, b=i*2, sum_ab = 3i",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 767,
      "write_warm_ms": 648,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3129_gencol_cdc_computed_in_cdf",
      "num": 3129,
      "name": "gencol_cdc_computed_in_cdf",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3129_gencol_cdc_computed_in_cdf.py",
      "read_script": "generator/df-reads-spark/3129_gencol_cdc_computed_in_cdf.sql",
      "description": "CDC with a generated total = price * qty. UPDATE price += 100 for ids 1..15. ids 1..15: price=i*10+100, qty=(i%5)+1, total=(i*10+100)*qty ids 16..30: price=i*10, qty=(i%5)+1, total=i*10*qty",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 768,
      "write_warm_ms": 695,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/312_zorder_high_cardinality",
      "num": 312,
      "name": "zorder_high_cardinality",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/312_zorder_high_cardinality.py",
      "read_script": "generator/df-reads-spark/312_zorder_high_cardinality.sql",
      "description": "Z-ORDER on high cardinality columns. 12000 rows (10000 initial + 4 batches of 500).",
      "status": "pass",
      "duration_ms": 117,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 117,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3130_gencol_partition_by_gencol",
      "num": 3130,
      "name": "gencol_partition_by_gencol",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3130_gencol_partition_by_gencol.py",
      "read_script": "generator/df-reads-spark/3130_gencol_partition_by_gencol.sql",
      "description": "Generated column on a partitioned table. region = US/EU/APAC based on i%3.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 905,
      "write_warm_ms": 671,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:generated-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3131_gencol_identity_plus_gencol",
      "num": 3131,
      "name": "gencol_identity_plus_gencol",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3131_gencol_identity_plus_gencol.py",
      "read_script": "generator/df-reads-spark/3131_gencol_identity_plus_gencol.sql",
      "description": "Identity column + generated expression column.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 751,
      "write_warm_ms": 733,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3132_gencol_three_gen_cols",
      "num": 3132,
      "name": "gencol_three_gen_cols",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3132_gencol_three_gen_cols.py",
      "read_script": "generator/df-reads-spark/3132_gencol_three_gen_cols.sql",
      "description": "Three independent generated columns. gen1 = a + b = 3i gen2 = b * c = 6i^2 gen3 = a + c = 4i",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 728,
      "write_warm_ms": 833,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3133_gencol_string_concat_gen",
      "num": 3133,
      "name": "gencol_string_concat_gen",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3133_gencol_string_concat_gen.py",
      "read_script": "generator/df-reads-spark/3133_gencol_string_concat_gen.sql",
      "description": "Generated column using CONCAT(first_name, ' ', last_name). full_name='First<i> Last<i>'.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 762,
      "write_warm_ms": 793,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3134_zorder_after_merge",
      "num": 3134,
      "name": "zorder_after_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3134_zorder_after_merge.py",
      "read_script": "generator/df-reads-spark/3134_zorder_after_merge.sql",
      "description": "OPTIMIZE after MERGE. Final: 150 rows. ids 1..50: category=i%10, val=i*5 + 1000, tag='merged' ids 51..100: category=i%10, val=i*5, tag='init' ids 101..150: category=i%10, val=i*5, tag='new",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1671,
      "write_warm_ms": 1865,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3135_zorder_cdc_table",
      "num": 3135,
      "name": "zorder_cdc_table",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3135_zorder_cdc_table.py",
      "read_script": "generator/df-reads-spark/3135_zorder_cdc_table.sql",
      "description": "OPTIMIZE on CDC-enabled table after UPDATE. 100 rows, category=i%5, val=i*10. Then UPDATE val+=100 for rows where category=0 (ids 5,10,...,100 -> 20 rows). Then OPTIMIZE.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1743,
      "write_warm_ms": 1676,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3136_zorder_colmap_table",
      "num": 3136,
      "name": "zorder_colmap_table",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3136_zorder_colmap_table.py",
      "read_script": "generator/df-reads-spark/3136_zorder_colmap_table.sql",
      "description": "OPTIMIZE on a column-mapping-enabled table.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1866,
      "write_warm_ms": 1747,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3137_zorder_multi_column_three",
      "num": 3137,
      "name": "zorder_multi_column_three",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3137_zorder_multi_column_three.py",
      "read_script": "generator/df-reads-spark/3137_zorder_multi_column_three.sql",
      "description": "OPTIMIZE on a table with three Z-order candidate columns.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1685,
      "write_warm_ms": 1972,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3138_zorder_timestamp_column",
      "num": 3138,
      "name": "zorder_timestamp_column",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3138_zorder_timestamp_column.py",
      "read_script": "generator/df-reads-spark/3138_zorder_timestamp_column.sql",
      "description": "OPTIMIZE on table with timestamp-string data. val = i * 5.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1842,
      "write_warm_ms": 1962,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3139_zorder_decimal_column",
      "num": 3139,
      "name": "zorder_decimal_column",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3139_zorder_decimal_column.py",
      "read_script": "generator/df-reads-spark/3139_zorder_decimal_column.sql",
      "description": "OPTIMIZE on table with DECIMAL(18,4) column.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1854,
      "write_warm_ms": 1589,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/313_zorder_mixed_types",
      "num": 313,
      "name": "zorder_mixed_types",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/313_zorder_mixed_types.py",
      "read_script": "generator/df-reads-spark/313_zorder_mixed_types.sql",
      "description": "Z-ORDER on mixed column types (INT + STRING + DATE). 7200 rows (6000 initial + 6 batches of 200).",
      "status": "pass",
      "duration_ms": 71,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 71,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3140_zorder_after_schema_evolve",
      "num": 3140,
      "name": "zorder_after_schema_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3140_zorder_after_schema_evolve.py",
      "read_script": "generator/df-reads-spark/3140_zorder_after_schema_evolve.sql",
      "description": "OPTIMIZE after ADD COLUMN score. First 50 rows have score=NULL, last 50 have score populated. ids 1..50: val=i*10, score=NULL ids 51..100: val=j*20, score=j*5 (j = id - 50)",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1702,
      "write_warm_ms": 1655,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3141_zorder_restore_after_zorder",
      "num": 3141,
      "name": "zorder_restore_after_zorder",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3141_zorder_restore_after_zorder.py",
      "read_script": "generator/df-reads-spark/3141_zorder_restore_after_zorder.sql",
      "description": "80 rows after RESTORE (val=i*5, tag='init')",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5533,
      "write_warm_ms": 5189,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:time-travel",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3142_zorder_partitioned_multi_key",
      "num": 3142,
      "name": "zorder_partitioned_multi_key",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3142_zorder_partitioned_multi_key.py",
      "read_script": "generator/df-reads-spark/3142_zorder_partitioned_multi_key.sql",
      "description": "OPTIMIZE on partitioned table with multi-column Z-order keys. region = ['US','EU','APAC','LATAM'][i%4] (0->US, 1->EU, 2->APAC, 3->LATAM) a = i % 10 b = i % 20 val = i * 3",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2624,
      "write_warm_ms": 3006,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3143_zorder_identity_table",
      "num": 3143,
      "name": "zorder_identity_table",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3143_zorder_identity_table.py",
      "read_script": "generator/df-reads-spark/3143_zorder_identity_table.sql",
      "description": "OPTIMIZE on a table with identity column.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2989,
      "write_warm_ms": 4496,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3144_time_travel_merge_version",
      "num": 3144,
      "name": "time_travel_merge_version",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3144_time_travel_merge_version.py",
      "read_script": "generator/df-reads-spark/3144_time_travel_merge_version.sql",
      "description": "Final state after MERGE that updates ids 1..20 (val += 1000, tag='v2'). ids 1..20: val = i*10 + 1000, tag='v2' ids 21..50: val = i*10, tag='v1",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1841,
      "write_warm_ms": 1326,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3145_time_travel_colmap_version",
      "num": 3145,
      "name": "time_travel_colmap_version",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3145_time_travel_colmap_version.py",
      "read_script": "generator/df-reads-spark/3145_time_travel_colmap_version.sql",
      "description": "UPDATE ids 1..20 val += 500 on a column-mapping-enabled table. ids 1..20: user_name='u_i', val=i*10+500 ids 21..50: user_name='u_i', val=i*10",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 973,
      "write_warm_ms": 1033,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3146_time_travel_cdc_version_cdf",
      "num": 3146,
      "name": "time_travel_cdc_version_cdf",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3146_time_travel_cdc_version_cdf.py",
      "read_script": "generator/df-reads-spark/3146_time_travel_cdc_version_cdf.sql",
      "description": "ids 1..10: val=i*10, tag='updated' ids 11..24: val=i*10, tag='init",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1093,
      "write_warm_ms": 1218,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3147_restore_cdc_table",
      "num": 3147,
      "name": "restore_cdc_table",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3147_restore_cdc_table.py",
      "read_script": "generator/df-reads-spark/3147_restore_cdc_table.sql",
      "description": "40 rows after RESTORE (val=i*5, label='v1')",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7866,
      "write_warm_ms": 6893,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3148_restore_identity_hwm_revert",
      "num": 3148,
      "name": "restore_identity_hwm_revert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3148_restore_identity_hwm_revert.py",
      "read_script": "generator/df-reads-spark/3148_restore_identity_hwm_revert.sql",
      "description": "30 rows after RESTORE to V1 (ids 1..30, name='row_i')",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8230,
      "write_warm_ms": 9325,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3149_restore_colmap_table",
      "num": 3149,
      "name": "restore_colmap_table",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3149_restore_colmap_table.py",
      "read_script": "generator/df-reads-spark/3149_restore_colmap_table.sql",
      "description": "50 rows after RESTORE (val=i*7 for all ids)",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5887,
      "write_warm_ms": 5393,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/314_zorder_preserve_stats",
      "num": 314,
      "name": "zorder_preserve_stats",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/314_zorder_preserve_stats.py",
      "read_script": "generator/df-reads-spark/314_zorder_preserve_stats.sql",
      "description": "Z-ORDER preserves/updates stats. 9500 rows (8000 initial + 5 batches of 300).",
      "status": "pass",
      "duration_ms": 143,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 143,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3150_restore_after_optimize",
      "num": 3150,
      "name": "restore_after_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3150_restore_after_optimize.py",
      "read_script": "generator/df-reads-spark/3150_restore_after_optimize.sql",
      "description": "RESTORE to a pre-OPTIMIZE version. 100 rows are inserted in",
      "status": "pass",
      "duration_ms": 22,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 22,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7812,
      "write_warm_ms": 7849,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3151_restore_constraint_preserved",
      "num": 3151,
      "name": "restore_constraint_preserved",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3151_restore_constraint_preserved.py",
      "read_script": "generator/df-reads-spark/3151_restore_constraint_preserved.sql",
      "description": "RESTORE to a version that still had a CHECK constraint",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5158,
      "write_warm_ms": 5105,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3152_time_travel_widen_pre_post",
      "num": 3152,
      "name": "time_travel_widen_pre_post",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3152_time_travel_widen_pre_post.py",
      "read_script": "generator/df-reads-spark/3152_time_travel_widen_pre_post.sql",
      "description": "Type widening INT -> BIGINT with data on both sides of the",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2099,
      "write_warm_ms": 2271,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3154_edge_zero_byte_binary",
      "num": 3154,
      "name": "edge_zero_byte_binary",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3154_edge_zero_byte_binary.py",
      "read_script": "generator/df-reads-spark/3154_edge_zero_byte_binary.sql",
      "description": "Zero-length BINARY values alongside non-empty binaries.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 704,
      "write_warm_ms": 812,
      "tags": [
        "type:binary",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3155_edge_max_decimal_38_0",
      "num": 3155,
      "name": "edge_max_decimal_38_0",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3155_edge_max_decimal_38_0.py",
      "read_script": "generator/df-reads-spark/3155_edge_max_decimal_38_0.sql",
      "description": "DECIMAL(38, 0) storing large integer-scale values, including",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 770,
      "write_warm_ms": 603,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3156_edge_deeply_nested_struct_3_levels",
      "num": 3156,
      "name": "edge_deeply_nested_struct_3_levels",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3156_edge_deeply_nested_struct_3_levels.py",
      "read_script": "generator/df-reads-spark/3156_edge_deeply_nested_struct_3_levels.sql",
      "description": "A real 3-level nested STRUCT (level1 -> level2 -> level3).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 903,
      "write_warm_ms": 690,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:nested-types",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3157_edge_map_with_null_values",
      "num": 3157,
      "name": "edge_map_with_null_values",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3157_edge_map_with_null_values.py",
      "read_script": "generator/df-reads-spark/3157_edge_map_with_null_values.sql",
      "description": "A MAP<STRING, INT> column where every 3rd row has a map",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 799,
      "write_warm_ms": 709,
      "tags": [
        "type:integer",
        "type:map",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3158_edge_array_of_struct",
      "num": 3158,
      "name": "edge_array_of_struct",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3158_edge_array_of_struct.py",
      "read_script": "generator/df-reads-spark/3158_edge_array_of_struct.sql",
      "description": "A real ARRAY<STRUCT<item_name STRING, item_score INT,",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 710,
      "write_warm_ms": 738,
      "tags": [
        "type:array",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3159_edge_1000_rows_all_types",
      "num": 3159,
      "name": "edge_1000_rows_all_types",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3159_edge_1000_rows_all_types.py",
      "read_script": "generator/df-reads-spark/3159_edge_1000_rows_all_types.sql",
      "description": "1000-row table covering 10 major Delta/Spark types. All",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 703,
      "write_warm_ms": 868,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/315_zorder_coexist_spark_dbx",
      "num": 315,
      "name": "zorder_coexist_spark_dbx",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/315_zorder_coexist_spark_dbx.py",
      "read_script": "generator/df-reads-spark/315_zorder_coexist_spark_dbx.sql",
      "description": "Spark Z-ORDER then DeltaForge OPTIMIZE coexistence. 4000 rows (3000 initial + 4 batches of 250).",
      "status": "pass",
      "duration_ms": 58,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 58,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3160_edge_fifty_versions_dml",
      "num": 3160,
      "name": "edge_fifty_versions_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3160_edge_fifty_versions_dml.py",
      "read_script": "generator/df-reads-spark/3160_edge_fifty_versions_dml.sql",
      "description": "Many DML versions on the same table. 50 rows are inserted",
      "status": "pass",
      "duration_ms": 22,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 22,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 14876,
      "write_warm_ms": 13226,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/316_zorder_single_column",
      "num": 316,
      "name": "zorder_single_column",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/316_zorder_single_column.py",
      "read_script": "generator/df-reads-spark/316_zorder_single_column.sql",
      "description": "Z-ORDER on single column (edge case). 7000 rows: 6000 initial + 5 batches x 200.",
      "status": "pass",
      "duration_ms": 161,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 161,
      "read_warm_ms": 106,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:z-order",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3174_colmap_dv_delete_read",
      "num": 3174,
      "name": "colmap_dv_delete_read",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3174_colmap_dv_delete_read.py",
      "read_script": "generator/df-reads-spark/3174_colmap_dv_delete_read.sql",
      "description": "column mapping (name) + deletion vectors + DELETE.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2261,
      "write_warm_ms": 2097,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3175_colmap_optimize_compact",
      "num": 3175,
      "name": "colmap_optimize_compact",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3175_colmap_optimize_compact.py",
      "read_script": "generator/df-reads-spark/3175_colmap_optimize_compact.sql",
      "description": "column mapping (name) + OPTIMIZE compaction.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4696,
      "write_warm_ms": 4516,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3176_colmap_vacuum_safe",
      "num": 3176,
      "name": "colmap_vacuum_safe",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3176_colmap_vacuum_safe.py",
      "read_script": "generator/df-reads-spark/3176_colmap_vacuum_safe.sql",
      "description": "column mapping (name) + VACUUM after DELETE.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 14399,
      "write_warm_ms": 17203,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3177_colmap_restore_mapping",
      "num": 3177,
      "name": "colmap_restore_mapping",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3177_colmap_restore_mapping.py",
      "read_script": "generator/df-reads-spark/3177_colmap_restore_mapping.sql",
      "description": "column mapping (name) + RESTORE TO VERSION.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5773,
      "write_warm_ms": 5614,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3178_colmap_checkpoint_metadata",
      "num": 3178,
      "name": "colmap_checkpoint_metadata",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3178_colmap_checkpoint_metadata.py",
      "read_script": "generator/df-reads-spark/3178_colmap_checkpoint_metadata.sql",
      "description": "column mapping (name) + checkpoint creation.",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8622,
      "write_warm_ms": 7962,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3179_colmap_time_travel_names",
      "num": 3179,
      "name": "colmap_time_travel_names",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3179_colmap_time_travel_names.py",
      "read_script": "generator/df-reads-spark/3179_colmap_time_travel_names.sql",
      "description": "column mapping (name) + time travel reads.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1772,
      "write_warm_ms": 1675,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/317_zorder_many_columns",
      "num": 317,
      "name": "zorder_many_columns",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/317_zorder_many_columns.py",
      "read_script": "generator/df-reads-spark/317_zorder_many_columns.sql",
      "description": "Z-ORDER on many columns (4+ columns). 9000 rows: 8000 initial + 4 batches x 250.",
      "status": "pass",
      "duration_ms": 164,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 164,
      "read_warm_ms": 45,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:z-order",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3180_colmap_widen_preserve",
      "num": 3180,
      "name": "colmap_widen_preserve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3180_colmap_widen_preserve.py",
      "read_script": "generator/df-reads-spark/3180_colmap_widen_preserve.sql",
      "description": "column mapping (name) + type widening (INT -> BIGINT).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 746,
      "write_warm_ms": 716,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3181_colmap_constraint_check",
      "num": 3181,
      "name": "colmap_constraint_check",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3181_colmap_constraint_check.py",
      "read_script": "generator/df-reads-spark/3181_colmap_constraint_check.sql",
      "description": "column mapping (name) + CHECK constraint.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2026,
      "write_warm_ms": 1925,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3182_colmap_default_values",
      "num": 3182,
      "name": "colmap_default_values",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3182_colmap_default_values.py",
      "read_script": "generator/df-reads-spark/3182_colmap_default_values.sql",
      "description": "column mapping (name) + DEFAULT column values.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1306,
      "write_warm_ms": 1437,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:default-values",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3183_colmap_ict_interop",
      "num": 3183,
      "name": "colmap_ict_interop",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3183_colmap_ict_interop.py",
      "read_script": "generator/df-reads-spark/3183_colmap_ict_interop.sql",
      "description": "column mapping (name) + In-Commit Timestamps (ICT).",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1399,
      "write_warm_ms": 1442,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3184_colmap_partition_names",
      "num": 3184,
      "name": "colmap_partition_names",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3184_colmap_partition_names.py",
      "read_script": "generator/df-reads-spark/3184_colmap_partition_names.sql",
      "description": "column mapping (name) + partitioned table.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 791,
      "write_warm_ms": 764,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3185_colmap_evolve_rename",
      "num": 3185,
      "name": "colmap_evolve_rename",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3185_colmap_evolve_rename.py",
      "read_script": "generator/df-reads-spark/3185_colmap_evolve_rename.sql",
      "description": "column mapping (name) + schema evolution (ADD COLUMN).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1792,
      "write_warm_ms": 2086,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3186_dv_checkpoint_survive",
      "num": 3186,
      "name": "dv_checkpoint_survive",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3186_dv_checkpoint_survive.py",
      "read_script": "generator/df-reads-spark/3186_dv_checkpoint_survive.sql",
      "description": "Deletion Vectors + checkpoint survival.",
      "status": "pass",
      "duration_ms": 20,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 20,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 9887,
      "write_warm_ms": 8028,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3187_dv_constraint_check_after_delete",
      "num": 3187,
      "name": "dv_constraint_check_after_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3187_dv_constraint_check_after_delete.py",
      "read_script": "generator/df-reads-spark/3187_dv_constraint_check_after_delete.sql",
      "description": "Deletion Vectors + CHECK constraint.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2705,
      "write_warm_ms": 2789,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3188_dv_default_after_delete",
      "num": 3188,
      "name": "dv_default_after_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3188_dv_default_after_delete.py",
      "read_script": "generator/df-reads-spark/3188_dv_default_after_delete.sql",
      "description": "Deletion Vectors + DEFAULT column.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2861,
      "write_warm_ms": 2531,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:default-values",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3189_dv_evolve_add_col",
      "num": 3189,
      "name": "dv_evolve_add_col",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3189_dv_evolve_add_col.py",
      "read_script": "generator/df-reads-spark/3189_dv_evolve_add_col.sql",
      "description": "Deletion Vectors + schema evolution (ADD COLUMN).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2650,
      "write_warm_ms": 2482,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/318_zorder_hilbert_curve",
      "num": 318,
      "name": "zorder_hilbert_curve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/318_zorder_hilbert_curve.py",
      "read_script": "generator/df-reads-spark/318_zorder_hilbert_curve.sql",
      "description": "Hilbert curve vs Z-curve comparison. 10900 rows: 10000 clustered + 3 batches x 300 scattered.",
      "status": "pass",
      "duration_ms": 81,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 81,
      "read_warm_ms": 30,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:z-order",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3190_dv_ict_interaction",
      "num": 3190,
      "name": "dv_ict_interaction",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3190_dv_ict_interaction.py",
      "read_script": "generator/df-reads-spark/3190_dv_ict_interaction.sql",
      "description": "Deletion Vectors + In-Commit Timestamps together.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2244,
      "write_warm_ms": 2177,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3191_dv_optimize_compact",
      "num": 3191,
      "name": "dv_optimize_compact",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3191_dv_optimize_compact.py",
      "read_script": "generator/df-reads-spark/3191_dv_optimize_compact.sql",
      "description": "Deletion Vectors + OPTIMIZE compaction.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5316,
      "write_warm_ms": 6224,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3192_dv_partition_cross",
      "num": 3192,
      "name": "dv_partition_cross",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3192_dv_partition_cross.py",
      "read_script": "generator/df-reads-spark/3192_dv_partition_cross.sql",
      "description": "DV + partitioning. DELETE only from specific partitions,",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2385,
      "write_warm_ms": 2159,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3193_dv_restore_deleted_rows",
      "num": 3193,
      "name": "dv_restore_deleted_rows",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3193_dv_restore_deleted_rows.py",
      "read_script": "generator/df-reads-spark/3193_dv_restore_deleted_rows.sql",
      "description": "DV + RESTORE. DELETE with DVs then RESTORE to undo.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7236,
      "write_warm_ms": 6203,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3194_dv_time_travel_prior",
      "num": 3194,
      "name": "dv_time_travel_prior",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3194_dv_time_travel_prior.py",
      "read_script": "generator/df-reads-spark/3194_dv_time_travel_prior.sql",
      "description": "DV + time travel. INSERT then DELETE; prior version still has all rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2440,
      "write_warm_ms": 2387,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3195_dv_vacuum_cleanup",
      "num": 3195,
      "name": "dv_vacuum_cleanup",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3195_dv_vacuum_cleanup.py",
      "read_script": "generator/df-reads-spark/3195_dv_vacuum_cleanup.sql",
      "description": "DV + VACUUM. DELETE, OPTIMIZE, then VACUUM to reclaim files.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 15952,
      "write_warm_ms": 16173,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3196_dv_widen_after_delete",
      "num": 3196,
      "name": "dv_widen_after_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3196_dv_widen_after_delete.py",
      "read_script": "generator/df-reads-spark/3196_dv_widen_after_delete.sql",
      "description": "DV + type widening. DELETE with DVs, widen INT->BIGINT,",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3956,
      "write_warm_ms": 4103,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3197_ict_checkpoint_ordering",
      "num": 3197,
      "name": "ict_checkpoint_ordering",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3197_ict_checkpoint_ordering.py",
      "read_script": "generator/df-reads-spark/3197_ict_checkpoint_ordering.sql",
      "description": "ICT + checkpoint. 12 single-row inserts to cross checkpoint",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 11503,
      "write_warm_ms": 9627,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3198_ict_constraint_check",
      "num": 3198,
      "name": "ict_constraint_check",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3198_ict_constraint_check.py",
      "read_script": "generator/df-reads-spark/3198_ict_constraint_check.sql",
      "description": "ICT + CHECK constraint. Both features coexist.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2338,
      "write_warm_ms": 2207,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3199_ict_default_values",
      "num": 3199,
      "name": "ict_default_values",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3199_ict_default_values.py",
      "read_script": "generator/df-reads-spark/3199_ict_default_values.sql",
      "description": "ICT + default-like column. Insert all rows with status='pending",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 978,
      "write_warm_ms": 940,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/319_merge_comprehensive_basic",
      "num": 319,
      "name": "merge_comprehensive_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/319_merge_comprehensive_basic.py",
      "read_script": "generator/df-reads-spark/319_merge_comprehensive_basic.sql",
      "description": "Basic MERGE UPSERT (WHEN MATCHED UPDATE + WHEN NOT MATCHED INSERT). 100 rows: customer_id=1..100, status='pending'.",
      "status": "pass",
      "duration_ms": 42,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 42,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/31_dv_descriptor_schema_validation",
      "num": 31,
      "name": "dv_descriptor_schema_validation",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/31_dv_descriptor_schema_validation.py",
      "read_script": "generator/df-reads-spark/31_dv_descriptor_schema_validation.sql",
      "description": "Social Media Content Moderation with Deletion Vectors. Demonstrates deletion vector descriptor schema validation. 8000 initial + 200 new posts, then multiple DELETE/UPDATE operations.",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 5193,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3200_ict_evolve_schema",
      "num": 3200,
      "name": "ict_evolve_schema",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3200_ict_evolve_schema.py",
      "read_script": "generator/df-reads-spark/3200_ict_evolve_schema.sql",
      "description": "ICT + schema evolution. INSERT, ADD COLUMN, INSERT more.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2248,
      "write_warm_ms": 2525,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3201_ict_optimize_timestamps",
      "num": 3201,
      "name": "ict_optimize_timestamps",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3201_ict_optimize_timestamps.py",
      "read_script": "generator/df-reads-spark/3201_ict_optimize_timestamps.sql",
      "description": "ICT + OPTIMIZE. Five batch INSERTs then OPTIMIZE compaction.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5079,
      "write_warm_ms": 5042,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3202_ict_partition_ordering",
      "num": 3202,
      "name": "ict_partition_ordering",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3202_ict_partition_ordering.py",
      "read_script": "generator/df-reads-spark/3202_ict_partition_ordering.sql",
      "description": "ICT + partitioning. 80 rows across 4 partitions.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1141,
      "write_warm_ms": 1117,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3203_ict_restore_timestamps",
      "num": 3203,
      "name": "ict_restore_timestamps",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3203_ict_restore_timestamps.py",
      "read_script": "generator/df-reads-spark/3203_ict_restore_timestamps.sql",
      "description": "ICT + RESTORE. INSERT 50, INSERT 50 more, RESTORE TO VERSION 1,",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6998,
      "write_warm_ms": 6801,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3204_ict_time_travel_ts",
      "num": 3204,
      "name": "ict_time_travel_ts",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3204_ict_time_travel_ts.py",
      "read_script": "generator/df-reads-spark/3204_ict_time_travel_ts.sql",
      "description": "ICT + time travel. INSERT 50, INSERT 50 more.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1693,
      "write_warm_ms": 1870,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3205_ict_vacuum_safe",
      "num": 3205,
      "name": "ict_vacuum_safe",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3205_ict_vacuum_safe.py",
      "read_script": "generator/df-reads-spark/3205_ict_vacuum_safe.sql",
      "description": "ICT + VACUUM. INSERT 50, DELETE <=20, VACUUM RETAIN 0.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 18867,
      "write_warm_ms": 17414,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3206_ict_widen_preserve",
      "num": 3206,
      "name": "ict_widen_preserve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3206_ict_widen_preserve.py",
      "read_script": "generator/df-reads-spark/3206_ict_widen_preserve.sql",
      "description": "Demonstrates ICT + type widening (INT->BIGINT). Verifies that inCommitTimestamp metadata is preserved after ALTER COLUMN widen.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1394,
      "write_warm_ms": 1119,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3207_widen_checkpoint_metadata",
      "num": 3207,
      "name": "widen_checkpoint_metadata",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3207_widen_checkpoint_metadata.py",
      "read_script": "generator/df-reads-spark/3207_widen_checkpoint_metadata.sql",
      "description": "Demonstrates type widening (INT->BIGINT) combined with checkpoint. Insert 50 rows, widen val, then perform 10 single-row inserts to trigger a checkpoint (checkpointInterval=10).",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 10474,
      "write_warm_ms": 11889,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3208_widen_constraint_coerce",
      "num": 3208,
      "name": "widen_constraint_coerce",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3208_widen_constraint_coerce.py",
      "read_script": "generator/df-reads-spark/3208_widen_constraint_coerce.sql",
      "description": "Demonstrates type widening + CHECK constraint. Add a CHECK constraint, insert 50 positive rows, then widen val INT->BIGINT. The constraint must be preserved across the widen.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6236,
      "write_warm_ms": 8820,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3209_widen_default_type",
      "num": 3209,
      "name": "widen_default_type",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3209_widen_default_type.py",
      "read_script": "generator/df-reads-spark/3209_widen_default_type.sql",
      "description": "Demonstrates type widening + DEFAULT value. Insert 50 rows with explicit val, widen INT->BIGINT, insert 50 more where val uses the column default.",
      "status": "pass",
      "duration_ms": 45,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 45,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 53398,
      "write_warm_ms": 41457,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:default-values",
        "delta:deletion-vectors",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/320_merge_matched_delete",
      "num": 320,
      "name": "merge_matched_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/320_merge_matched_delete.py",
      "read_script": "generator/df-reads-spark/320_merge_matched_delete.sql",
      "description": "MERGE WHEN MATCHED DELETE pattern. 200 rows. cancelled BOOLEAN, cancel_reason STRING",
      "status": "pass",
      "duration_ms": 43,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 43,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3210_widen_evolve_add_then_widen",
      "num": 3210,
      "name": "widen_evolve_add_then_widen",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3210_widen_evolve_add_then_widen.py",
      "read_script": "generator/df-reads-spark/3210_widen_evolve_add_then_widen.sql",
      "description": "Demonstrates type widening combined with schema evolution. Insert 50 rows, ADD COLUMN extra, widen val INT->BIGINT, then insert 50 more rows with the new column populated.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1879,
      "write_warm_ms": 1842,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3211_widen_optimize_post",
      "num": 3211,
      "name": "widen_optimize_post",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3211_widen_optimize_post.py",
      "read_script": "generator/df-reads-spark/3211_widen_optimize_post.sql",
      "description": "Demonstrates type widening + OPTIMIZE. Widen val INT->BIGINT, then append 5 batches of 10 rows each and OPTIMIZE to compact small files.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4927,
      "write_warm_ms": 4607,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3212_widen_partition_typed",
      "num": 3212,
      "name": "widen_partition_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3212_widen_partition_typed.py",
      "read_script": "generator/df-reads-spark/3212_widen_partition_typed.sql",
      "description": "Demonstrates type widening on a partitioned table. Insert 80 rows across 4 regions, then widen val INT->BIGINT. The widen must apply uniformly across all partitions.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 990,
      "write_warm_ms": 996,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "iceberg:uniform",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3213_widen_restore_pre_widen",
      "num": 3213,
      "name": "widen_restore_pre_widen",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3213_widen_restore_pre_widen.py",
      "read_script": "generator/df-reads-spark/3213_widen_restore_pre_widen.sql",
      "description": "Demonstrates type widening combined with RESTORE. Insert 50 rows, widen val INT->BIGINT, insert 50 more, then RESTORE TO VERSION 1 (pre-widen).",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4596,
      "write_warm_ms": 4334,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3214_widen_time_travel_type",
      "num": 3214,
      "name": "widen_time_travel_type",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3214_widen_time_travel_type.py",
      "read_script": "generator/df-reads-spark/3214_widen_time_travel_type.sql",
      "description": "Demonstrates type widening + time travel. Insert 50 rows, widen val INT->BIGINT, insert 50 more. VERSION AS OF 1 should yield 50 rows; current should yield 100 rows.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2061,
      "write_warm_ms": 1858,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3215_widen_vacuum_metadata",
      "num": 3215,
      "name": "widen_vacuum_metadata",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3215_widen_vacuum_metadata.py",
      "read_script": "generator/df-reads-spark/3215_widen_vacuum_metadata.sql",
      "description": "Demonstrates type widening + VACUUM. Insert 50, widen val INT->BIGINT, DELETE ids 1..20, then VACUUM RETAIN 0 HOURS. The type-widening metadata must remain intact after VACUUM.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 14895,
      "write_warm_ms": 16662,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3216_checkpoint_evolve_schema",
      "num": 3216,
      "name": "checkpoint_evolve_schema",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3216_checkpoint_evolve_schema.py",
      "read_script": "generator/df-reads-spark/3216_checkpoint_evolve_schema.sql",
      "description": "Demonstrates checkpoint combined with schema evolution. Insert 50 rows, ADD COLUMN tag, then 9x single-row inserts so the commit at V10 becomes a checkpoint. The first 50 rows have tag=NULL.",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8671,
      "write_warm_ms": 7196,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3217_checkpoint_partition_multi",
      "num": 3217,
      "name": "checkpoint_partition_multi",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3217_checkpoint_partition_multi.py",
      "read_script": "generator/df-reads-spark/3217_checkpoint_partition_multi.sql",
      "description": "Demonstrates checkpoint + partitioning. 12x INSERT 5 rows each across 4 partitions (US, EU, APAC, LATAM) to trigger a checkpoint at V10.",
      "status": "pass",
      "duration_ms": 30,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 30,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7735,
      "write_warm_ms": 7778,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3218_checkpoint_merge_trigger",
      "num": 3218,
      "name": "checkpoint_merge_trigger",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3218_checkpoint_merge_trigger.py",
      "read_script": "generator/df-reads-spark/3218_checkpoint_merge_trigger.sql",
      "description": "Demonstrates checkpoint + MERGE. Insert 50 rows, then 11 MERGE operations each inserting one new row (WHEN NOT MATCHED THEN INSERT). Triggers a checkpoint at V10.",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 13072,
      "write_warm_ms": 12104,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3219_checkpoint_vacuum_log",
      "num": 3219,
      "name": "checkpoint_vacuum_log",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3219_checkpoint_vacuum_log.py",
      "read_script": "generator/df-reads-spark/3219_checkpoint_vacuum_log.sql",
      "description": "Demonstrates checkpoint + VACUUM. 15x INSERT 5 rows each (triggers a checkpoint at V10), then VACUUM RETAIN 0 HOURS. Data must remain intact and the checkpoint must still be readable.",
      "status": "pass",
      "duration_ms": 32,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 32,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 18173,
      "write_warm_ms": 19046,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/321_merge_not_matched_source_delete",
      "num": 321,
      "name": "merge_not_matched_source_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/321_merge_not_matched_source_delete.py",
      "read_script": "generator/df-reads-spark/321_merge_not_matched_source_delete.sql",
      "description": "MERGE WHEN NOT MATCHED BY SOURCE DELETE pattern (full sync). 500 rows.",
      "status": "pass",
      "duration_ms": 33,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 33,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3220_checkpoint_restore_pre",
      "num": 3220,
      "name": "checkpoint_restore_pre",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3220_checkpoint_restore_pre.py",
      "read_script": "generator/df-reads-spark/3220_checkpoint_restore_pre.sql",
      "description": "Checkpoint + RESTORE. 15 single-row appends trigger a",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 13524,
      "write_warm_ms": 12803,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3221_restore_colmap_mapping",
      "num": 3221,
      "name": "restore_colmap_mapping",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3221_restore_colmap_mapping.py",
      "read_script": "generator/df-reads-spark/3221_restore_colmap_mapping.sql",
      "description": "RESTORE + column mapping (mode=name). Insert 50 rows, update",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4828,
      "write_warm_ms": 5782,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3222_restore_dv_undelete",
      "num": 3222,
      "name": "restore_dv_undelete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3222_restore_dv_undelete.py",
      "read_script": "generator/df-reads-spark/3222_restore_dv_undelete.sql",
      "description": "RESTORE + deletion vectors. Insert 50, DELETE first 20 (via DV),",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5529,
      "write_warm_ms": 5520,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3223_restore_evolve_rollback",
      "num": 3223,
      "name": "restore_evolve_rollback",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3223_restore_evolve_rollback.py",
      "read_script": "generator/df-reads-spark/3223_restore_evolve_rollback.sql",
      "description": "RESTORE + schema evolution rollback. Insert 50, ADD COLUMN tag,",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5084,
      "write_warm_ms": 4800,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3224_restore_partition_subset",
      "num": 3224,
      "name": "restore_partition_subset",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3224_restore_partition_subset.py",
      "read_script": "generator/df-reads-spark/3224_restore_partition_subset.sql",
      "description": "RESTORE + partition. Insert 80 rows across 4 regions",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4975,
      "write_warm_ms": 6095,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3225_restore_widen_rollback",
      "num": 3225,
      "name": "restore_widen_rollback",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3225_restore_widen_rollback.py",
      "read_script": "generator/df-reads-spark/3225_restore_widen_rollback.sql",
      "description": "RESTORE + type widening rollback. Insert 50, widen val",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5967,
      "write_warm_ms": 5961,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3226_vacuum_colmap_safe",
      "num": 3226,
      "name": "vacuum_colmap_safe",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3226_vacuum_colmap_safe.py",
      "read_script": "generator/df-reads-spark/3226_vacuum_colmap_safe.sql",
      "description": "VACUUM + column mapping (mode=name). Insert 50, DELETE first",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 16815,
      "write_warm_ms": 16735,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3227_vacuum_dv_resolved",
      "num": 3227,
      "name": "vacuum_dv_resolved",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3227_vacuum_dv_resolved.py",
      "read_script": "generator/df-reads-spark/3227_vacuum_dv_resolved.sql",
      "description": "VACUUM + deletion vectors resolved by OPTIMIZE. Insert 100,",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 17272,
      "write_warm_ms": 16013,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3228_vacuum_evolve_schema",
      "num": 3228,
      "name": "vacuum_evolve_schema",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3228_vacuum_evolve_schema.py",
      "read_script": "generator/df-reads-spark/3228_vacuum_evolve_schema.sql",
      "description": "VACUUM + schema evolution. Insert 50, ADD COLUMN tag, insert",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 15500,
      "write_warm_ms": 16499,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3229_vacuum_partition_selective",
      "num": 3229,
      "name": "vacuum_partition_selective",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3229_vacuum_partition_selective.py",
      "read_script": "generator/df-reads-spark/3229_vacuum_partition_selective.sql",
      "description": "VACUUM + partition. Insert 80 rows across 4 regions",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 26019,
      "write_warm_ms": 19727,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/322_merge_not_matched_source_update",
      "num": 322,
      "name": "merge_not_matched_source_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/322_merge_not_matched_source_update.py",
      "read_script": "generator/df-reads-spark/322_merge_not_matched_source_update.sql",
      "description": "MERGE WHEN NOT MATCHED BY SOURCE UPDATE pattern (soft delete). 300 rows.",
      "status": "pass",
      "duration_ms": 34,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 34,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3230_vacuum_widen_metadata",
      "num": 3230,
      "name": "vacuum_widen_metadata",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3230_vacuum_widen_metadata.py",
      "read_script": "generator/df-reads-spark/3230_vacuum_widen_metadata.sql",
      "description": "VACUUM + type widening. Insert 50, widen val INT -> BIGINT,",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 24137,
      "write_warm_ms": 27020,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3232_stats_colmap_pushdown",
      "num": 3232,
      "name": "stats_colmap_pushdown",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3232_stats_colmap_pushdown.py",
      "read_script": "generator/df-reads-spark/3232_stats_colmap_pushdown.sql",
      "description": "Stats + column mapping (mode=name). Insert 1000 rows so Delta",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2279,
      "write_warm_ms": 1866,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3233_stats_dv_after_delete",
      "num": 3233,
      "name": "stats_dv_after_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3233_stats_dv_after_delete.py",
      "read_script": "generator/df-reads-spark/3233_stats_dv_after_delete.sql",
      "description": "Stats + DV after DELETE. Insert 100 rows, DELETE first 20",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4928,
      "write_warm_ms": 3719,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3234_stats_evolve_new_col",
      "num": 3234,
      "name": "stats_evolve_new_col",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3234_stats_evolve_new_col.py",
      "read_script": "generator/df-reads-spark/3234_stats_evolve_new_col.sql",
      "description": "Stats after schema evolution (ADD COLUMN). Insert 50, ADD",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5820,
      "write_warm_ms": 9445,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3236_stats_partition_per_file",
      "num": 3236,
      "name": "stats_partition_per_file",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3236_stats_partition_per_file.py",
      "read_script": "generator/df-reads-spark/3236_stats_partition_per_file.sql",
      "description": "Stats per-partition file min/max on a partitioned table.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4136,
      "write_warm_ms": 2761,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3237_stats_widen_bounds",
      "num": 3237,
      "name": "stats_widen_bounds",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3237_stats_widen_bounds.py",
      "read_script": "generator/df-reads-spark/3237_stats_widen_bounds.sql",
      "description": "Stats min/max bounds after type widening INT -> BIGINT.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2578,
      "write_warm_ms": 3001,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3238_stats_constraint_minmax",
      "num": 3238,
      "name": "stats_constraint_minmax",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3238_stats_constraint_minmax.py",
      "read_script": "generator/df-reads-spark/3238_stats_constraint_minmax.sql",
      "description": "Stats min/max with CHECK constraint on val range.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6657,
      "write_warm_ms": 6318,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3239_zorder_cdc_preserve",
      "num": 3239,
      "name": "zorder_cdc_preserve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3239_zorder_cdc_preserve.py",
      "read_script": "generator/df-reads-spark/3239_zorder_cdc_preserve.sql",
      "description": "ZORDER + CDC. INSERT 100, UPDATE first 20, OPTIMIZE ZORDER.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 10139,
      "write_warm_ms": 9076,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/323_merge_all_clauses",
      "num": 323,
      "name": "merge_all_clauses",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/323_merge_all_clauses.py",
      "read_script": "generator/df-reads-spark/323_merge_all_clauses.sql",
      "description": "MERGE with ALL clauses (MATCHED UPDATE + NOT MATCHED INSERT + NOT MATCHED BY SOURCE DELETE). 1000 rows.",
      "status": "pass",
      "duration_ms": 46,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 46,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3240_zorder_colmap_logical",
      "num": 3240,
      "name": "zorder_colmap_logical",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3240_zorder_colmap_logical.py",
      "read_script": "generator/df-reads-spark/3240_zorder_colmap_logical.sql",
      "description": "ZORDER + column mapping (name mode).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5222,
      "write_warm_ms": 6148,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3242_zorder_constraint_valid",
      "num": 3242,
      "name": "zorder_constraint_valid",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3242_zorder_constraint_valid.py",
      "read_script": "generator/df-reads-spark/3242_zorder_constraint_valid.sql",
      "description": "ZORDER + CHECK constraint. ADD CONSTRAINT val_pos CHECK(val > 0),",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 9765,
      "write_warm_ms": 8216,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3243_zorder_widen_type",
      "num": 3243,
      "name": "zorder_widen_type",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3243_zorder_widen_type.py",
      "read_script": "generator/df-reads-spark/3243_zorder_widen_type.sql",
      "description": "ZORDER + type widening INT -> BIGINT.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6395,
      "write_warm_ms": 7057,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3244_zorder_ict_interaction",
      "num": 3244,
      "name": "zorder_ict_interaction",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3244_zorder_ict_interaction.py",
      "read_script": "generator/df-reads-spark/3244_zorder_ict_interaction.sql",
      "description": "ZORDER + In-Commit Timestamps (ICT).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5426,
      "write_warm_ms": 5379,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3246_zorder_default_col",
      "num": 3246,
      "name": "zorder_default_col",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3246_zorder_default_col.py",
      "read_script": "generator/df-reads-spark/3246_zorder_default_col.sql",
      "description": "ZORDER + DEFAULT column value. status defaults to 'active'.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5218,
      "write_warm_ms": 5880,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3247_truncate_cdc_log",
      "num": 3247,
      "name": "truncate_cdc_log",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3247_truncate_cdc_log.py",
      "read_script": "generator/df-reads-spark/3247_truncate_cdc_log.sql",
      "description": "TRUNCATE + CDC. INSERT 50, TRUNCATE, INSERT 30.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6791,
      "write_warm_ms": 5273,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "dml:truncate",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3248_truncate_partition_all",
      "num": 3248,
      "name": "truncate_partition_all",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3248_truncate_partition_all.py",
      "read_script": "generator/df-reads-spark/3248_truncate_partition_all.sql",
      "description": "TRUNCATE on partitioned table. INSERT 80, TRUNCATE, INSERT 40.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6857,
      "write_warm_ms": 7633,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:truncate",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3249_truncate_colmap_reset",
      "num": 3249,
      "name": "truncate_colmap_reset",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3249_truncate_colmap_reset.py",
      "read_script": "generator/df-reads-spark/3249_truncate_colmap_reset.sql",
      "description": "TRUNCATE + column mapping (name mode). INSERT 50, TRUNCATE, INSERT 30.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8513,
      "write_warm_ms": 6904,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:truncate",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/324_merge_partitioned",
      "num": 324,
      "name": "merge_partitioned",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/324_merge_partitioned.py",
      "read_script": "generator/df-reads-spark/324_merge_partitioned.sql",
      "description": "MERGE operations on partitioned tables with deletion vectors. 2000 rows.",
      "status": "pass",
      "duration_ms": 174,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 174,
      "read_warm_ms": 94,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3251_truncate_dv_clear",
      "num": 3251,
      "name": "truncate_dv_clear",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3251_truncate_dv_clear.py",
      "read_script": "generator/df-reads-spark/3251_truncate_dv_clear.sql",
      "description": "TRUNCATE clears DVs. INSERT 50, DELETE 20 (would create DVs), TRUNCATE, INSERT 30.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 12652,
      "write_warm_ms": 5076,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "dml:truncate",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3252_truncate_optimize_empty",
      "num": 3252,
      "name": "truncate_optimize_empty",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3252_truncate_optimize_empty.py",
      "read_script": "generator/df-reads-spark/3252_truncate_optimize_empty.sql",
      "description": "TRUNCATE + OPTIMIZE. INSERT 50, TRUNCATE, 5x INSERT 10, OPTIMIZE.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6307,
      "write_warm_ms": 8573,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:truncate",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3253_rowtrack_cdc_tracking",
      "num": 3253,
      "name": "rowtrack_cdc_tracking",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3253_rowtrack_cdc_tracking.py",
      "read_script": "generator/df-reads-spark/3253_rowtrack_cdc_tracking.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires ROW_TRACKING which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Row tracking (delta.enableRowTracking) is a Databricks-only feature not available in Spark OSS.",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": "ROW_TRACKING",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:change-data-feed",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3254_rowtrack_dv_stable",
      "num": 3254,
      "name": "rowtrack_dv_stable",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3254_rowtrack_dv_stable.py",
      "read_script": "generator/df-reads-spark/3254_rowtrack_dv_stable.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires ROW_TRACKING which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Row tracking (delta.enableRowTracking) is a Databricks-only feature not available in Spark OSS.",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": "ROW_TRACKING",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3255_rowtrack_optimize_persist",
      "num": 3255,
      "name": "rowtrack_optimize_persist",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3255_rowtrack_optimize_persist.py",
      "read_script": "generator/df-reads-spark/3255_rowtrack_optimize_persist.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires ROW_TRACKING which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Row tracking (delta.enableRowTracking) is a Databricks-only feature not available in Spark OSS.",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": "ROW_TRACKING",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:optimize",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3256_rowtrack_merge_tracking",
      "num": 3256,
      "name": "rowtrack_merge_tracking",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3256_rowtrack_merge_tracking.py",
      "read_script": "generator/df-reads-spark/3256_rowtrack_merge_tracking.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires ROW_TRACKING which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Row tracking (delta.enableRowTracking) is a Databricks-only feature not available in Spark OSS.",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": "ROW_TRACKING",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "dml:merge",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3257_rowtrack_evolve_schema",
      "num": 3257,
      "name": "rowtrack_evolve_schema",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3257_rowtrack_evolve_schema.py",
      "read_script": "generator/df-reads-spark/3257_rowtrack_evolve_schema.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires ROW_TRACKING which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Row tracking (delta.enableRowTracking) is a Databricks-only feature not available in Spark OSS.",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": "ROW_TRACKING",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:row-tracking",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3258_rowtrack_partition_dist",
      "num": 3258,
      "name": "rowtrack_partition_dist",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3258_rowtrack_partition_dist.py",
      "read_script": "generator/df-reads-spark/3258_rowtrack_partition_dist.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires ROW_TRACKING which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Row tracking (delta.enableRowTracking) is a Databricks-only feature not available in Spark OSS.",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": "ROW_TRACKING",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:partitioning",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3259_colmap_dv_optimize_triple",
      "num": 3259,
      "name": "colmap_dv_optimize_triple",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3259_colmap_dv_optimize_triple.py",
      "read_script": "generator/df-reads-spark/3259_colmap_dv_optimize_triple.sql",
      "description": "Triple: column mapping (name mode) + DV + OPTIMIZE. INSERT 100, DELETE 20, OPTIMIZE.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5723,
      "write_warm_ms": 5850,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/325_merge_with_dv",
      "num": 325,
      "name": "merge_with_dv",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/325_merge_with_dv.py",
      "read_script": "generator/df-reads-spark/325_merge_with_dv.sql",
      "description": "MERGE operations with deletion vectors enabled. 500 rows.",
      "status": "pass",
      "duration_ms": 46,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 46,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3260_ict_dv_cdc_triple",
      "num": 3260,
      "name": "ict_dv_cdc_triple",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3260_ict_dv_cdc_triple.py",
      "read_script": "generator/df-reads-spark/3260_ict_dv_cdc_triple.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires IN_COMMIT_TIMESTAMPS which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "In-commit timestamps (delta.enableInCommitTimestamps) is a Databricks-only feature not available in Spark OSS.",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": "IN_COMMIT_TIMESTAMPS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3261_merge_ten_versions_accum",
      "num": 3261,
      "name": "merge_ten_versions_accum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3261_merge_ten_versions_accum.py",
      "read_script": "generator/df-reads-spark/3261_merge_ten_versions_accum.sql",
      "description": "10 consecutive MERGEs accumulating data with updates and inserts.",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 24325,
      "write_warm_ms": 19446,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3262_update_delete_update_cycle",
      "num": 3262,
      "name": "update_delete_update_cycle",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3262_update_delete_update_cycle.py",
      "read_script": "generator/df-reads-spark/3262_update_delete_update_cycle.sql",
      "description": "UPDATE then DELETE then UPDATE cycle.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4812,
      "write_warm_ms": 4452,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3263_delete_all_reinsert_full",
      "num": 3263,
      "name": "delete_all_reinsert_full",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3263_delete_all_reinsert_full.py",
      "read_script": "generator/df-reads-spark/3263_delete_all_reinsert_full.sql",
      "description": "DELETE all rows then re-INSERT fresh data.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3789,
      "write_warm_ms": 4052,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3264_merge_self_join_dedup",
      "num": 3264,
      "name": "merge_self_join_dedup",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3264_merge_self_join_dedup.py",
      "read_script": "generator/df-reads-spark/3264_merge_self_join_dedup.sql",
      "description": "MERGE for deduplication using self-join to keep the row with the max version per id.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4122,
      "write_warm_ms": 6049,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3265_insert_hundred_single_rows",
      "num": 3265,
      "name": "insert_hundred_single_rows",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3265_insert_hundred_single_rows.py",
      "read_script": "generator/df-reads-spark/3265_insert_hundred_single_rows.sql",
      "description": "20 small batch INSERTs creating 100 rows total (multi-version table).",
      "status": "pass",
      "duration_ms": 36,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 36,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 34227,
      "write_warm_ms": 35784,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3266_update_with_case_expr",
      "num": 3266,
      "name": "update_with_case_expr",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3266_update_with_case_expr.py",
      "read_script": "generator/df-reads-spark/3266_update_with_case_expr.sql",
      "description": "UPDATE with CASE expression mapping categories to results.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7820,
      "write_warm_ms": 6146,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3267_delete_predicate_compound",
      "num": 3267,
      "name": "delete_predicate_compound",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3267_delete_predicate_compound.py",
      "read_script": "generator/df-reads-spark/3267_delete_predicate_compound.sql",
      "description": "DELETE with compound predicate (AND/OR).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 13366,
      "write_warm_ms": 12704,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3268_merge_update_delete_insert_all",
      "num": 3268,
      "name": "merge_update_delete_insert_all",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3268_merge_update_delete_insert_all.py",
      "read_script": "generator/df-reads-spark/3268_merge_update_delete_insert_all.sql",
      "description": "MERGE with all three clauses (UPDATE, DELETE, INSERT).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 12554,
      "write_warm_ms": 7797,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3269_insert_overwrite_partition",
      "num": 3269,
      "name": "insert_overwrite_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3269_insert_overwrite_partition.py",
      "read_script": "generator/df-reads-spark/3269_insert_overwrite_partition.sql",
      "description": "INSERT OVERWRITE replacing a single partition (dynamic partition overwrite).",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4581,
      "write_warm_ms": 5954,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/326_merge_identity",
      "num": 326,
      "name": "merge_identity",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/326_merge_identity.py",
      "read_script": "generator/df-reads-spark/326_merge_identity.sql",
      "description": "Table with IDENTITY columns (auto-generated values, computed inline). 100 rows.",
      "status": "pass",
      "duration_ms": 32,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 32,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3270_update_all_columns",
      "num": 3270,
      "name": "update_all_columns",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3270_update_all_columns.py",
      "read_script": "generator/df-reads-spark/3270_update_all_columns.sql",
      "description": "UPDATE every non-key column in one statement (Spark writes, delta-forge reads).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8269,
      "write_warm_ms": 5729,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3271_delete_then_insert_same_ids",
      "num": 3271,
      "name": "delete_then_insert_same_ids",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3271_delete_then_insert_same_ids.py",
      "read_script": "generator/df-reads-spark/3271_delete_then_insert_same_ids.sql",
      "description": "DELETE ids 1..10, then INSERT new rows with same ids 1..10 (Spark writes, delta-forge reads).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8339,
      "write_warm_ms": 13759,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3272_merge_cdc_five_rounds",
      "num": 3272,
      "name": "merge_cdc_five_rounds",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3272_merge_cdc_five_rounds.py",
      "read_script": "generator/df-reads-spark/3272_merge_cdc_five_rounds.sql",
      "description": "5 rounds of MERGE on a CDC-enabled table (Spark writes, delta-forge reads).",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 24158,
      "write_warm_ms": 15751,
      "tags": [
        "type:integer",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3273_update_zero_rows_match",
      "num": 3273,
      "name": "update_zero_rows_match",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3273_update_zero_rows_match.py",
      "read_script": "generator/df-reads-spark/3273_update_zero_rows_match.sql",
      "description": "UPDATE matching no rows leaves table unchanged (Spark writes, delta-forge reads).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3021,
      "write_warm_ms": 2619,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3274_delete_all_then_vacuum",
      "num": 3274,
      "name": "delete_all_then_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3274_delete_all_then_vacuum.py",
      "read_script": "generator/df-reads-spark/3274_delete_all_then_vacuum.sql",
      "description": "DELETE all rows + VACUUM producing empty readable table (Spark writes, delta-forge reads).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 0,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 36618,
      "write_warm_ms": 38625,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3275_merge_with_computed_source",
      "num": 3275,
      "name": "merge_with_computed_source",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3275_merge_with_computed_source.py",
      "read_script": "generator/df-reads-spark/3275_merge_with_computed_source.sql",
      "description": "MERGE with computed source extending and updating table (Spark writes, delta-forge reads).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8935,
      "write_warm_ms": 6918,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3276_insert_duplicate_key_append",
      "num": 3276,
      "name": "insert_duplicate_key_append",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3276_insert_duplicate_key_append.py",
      "read_script": "generator/df-reads-spark/3276_insert_duplicate_key_append.sql",
      "description": "Multiple INSERTs with overlapping ids (append mode) -- Delta has no PK constraints.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5680,
      "write_warm_ms": 6053,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3277_update_partition_key",
      "num": 3277,
      "name": "update_partition_key",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3277_update_partition_key.py",
      "read_script": "generator/df-reads-spark/3277_update_partition_key.sql",
      "description": "UPDATE partition key column (Spark writes, delta-forge reads).",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7192,
      "write_warm_ms": 10526,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3278_delete_reinsert_optimize",
      "num": 3278,
      "name": "delete_reinsert_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3278_delete_reinsert_optimize.py",
      "read_script": "generator/df-reads-spark/3278_delete_reinsert_optimize.sql",
      "description": "DELETE + re-INSERT + OPTIMIZE for compaction (Spark writes, delta-forge reads).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 14661,
      "write_warm_ms": 7514,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3279_merge_idempotent_rerun",
      "num": 3279,
      "name": "merge_idempotent_rerun",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3279_merge_idempotent_rerun.py",
      "read_script": "generator/df-reads-spark/3279_merge_idempotent_rerun.sql",
      "description": "Same MERGE executed twice produces idempotent result (Spark writes, delta-forge reads).",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5018,
      "write_warm_ms": 4518,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/327_merge_generated_columns",
      "num": 327,
      "name": "merge_generated_columns",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/327_merge_generated_columns.py",
      "read_script": "generator/df-reads-spark/327_merge_generated_columns.sql",
      "description": "Tables with GENERATED columns (computed from other columns). 50 rows. full_name computed inline as first_name + ' ' + last_name.",
      "status": "pass",
      "duration_ms": 34,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 34,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3280_update_decimal_precision",
      "num": 3280,
      "name": "update_decimal_precision",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3280_update_decimal_precision.py",
      "read_script": "generator/df-reads-spark/3280_update_decimal_precision.sql",
      "description": "UPDATE with DECIMAL arithmetic preserving precision (Spark writes, delta-forge reads).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2667,
      "write_warm_ms": 2645,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3281_empty_table_all_features",
      "num": 3281,
      "name": "empty_table_all_features",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3281_empty_table_all_features.py",
      "read_script": "generator/df-reads-spark/3281_empty_table_all_features.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires IDENTITY_COLUMNS which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "GENERATED BY DEFAULT AS IDENTITY columns are a Databricks-only feature not available in Spark OSS.",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": "IDENTITY_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3282_single_row_all_ops",
      "num": 3282,
      "name": "single_row_all_ops",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3282_single_row_all_ops.py",
      "read_script": "generator/df-reads-spark/3282_single_row_all_ops.sql",
      "description": "Single row through full DML cycle: INSERT, UPDATE, DELETE, re-INSERT.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4886,
      "write_warm_ms": 6175,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3283_null_all_nullable_cols",
      "num": 3283,
      "name": "null_all_nullable_cols",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3283_null_all_nullable_cols.py",
      "read_script": "generator/df-reads-spark/3283_null_all_nullable_cols.sql",
      "description": "All nullable non-id columns set to NULL (Spark writes, delta-forge reads).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1187,
      "write_warm_ms": 1828,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:null-handling",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3284_unicode_partition_key",
      "num": 3284,
      "name": "unicode_partition_key",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3284_unicode_partition_key.py",
      "read_script": "generator/df-reads-spark/3284_unicode_partition_key.sql",
      "description": "Partition keys with city names (ASCII-safe partition dirs).",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1737,
      "write_warm_ms": 1353,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3285_max_int_boundary",
      "num": 3285,
      "name": "max_int_boundary",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3285_max_int_boundary.py",
      "read_script": "generator/df-reads-spark/3285_max_int_boundary.sql",
      "description": "BIGINT boundary values: MAX, MIN, 0, +/-1, INT_MAX, INT_MIN, MAX-1, MIN+1, fallback.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1962,
      "write_warm_ms": 1881,
      "tags": [
        "type:boundary",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3286_empty_string_values",
      "num": 3286,
      "name": "empty_string_values",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3286_empty_string_values.py",
      "read_script": "generator/df-reads-spark/3286_empty_string_values.sql",
      "description": "Empty strings vs NULL strings -- empty strings preserved (not coerced to NULL).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1347,
      "write_warm_ms": 939,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3287_decimal_max_precision",
      "num": 3287,
      "name": "decimal_max_precision",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3287_decimal_max_precision.py",
      "read_script": "generator/df-reads-spark/3287_decimal_max_precision.sql",
      "description": "DECIMAL(38,18) -- max precision decimal values (Spark writes, delta-forge reads).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1503,
      "write_warm_ms": 1130,
      "tags": [
        "type:boundary",
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3288_boolean_three_state",
      "num": 3288,
      "name": "boolean_three_state",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3288_boolean_three_state.py",
      "read_script": "generator/df-reads-spark/3288_boolean_three_state.sql",
      "description": "BOOLEAN with TRUE, FALSE, and NULL values.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 872,
      "write_warm_ms": 1329,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3289_wide_table_50_cols",
      "num": 3289,
      "name": "wide_table_50_cols",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3289_wide_table_50_cols.py",
      "read_script": "generator/df-reads-spark/3289_wide_table_50_cols.sql",
      "description": "50-column table with mixed types.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2135,
      "write_warm_ms": 1380,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/328_merge_cdc",
      "num": 328,
      "name": "merge_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/328_merge_cdc.py",
      "read_script": "generator/df-reads-spark/328_merge_cdc.sql",
      "description": "MERGE with Change Data Capture (CDC) enabled. 50 rows.",
      "status": "pass",
      "duration_ms": 44,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 44,
      "read_warm_ms": 15,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3290_many_partitions_26",
      "num": 3290,
      "name": "many_partitions_26",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3290_many_partitions_26.py",
      "read_script": "generator/df-reads-spark/3290_many_partitions_26.sql",
      "description": "INSERT 200 rows into 10 partitions (A-J), even distribution (20 per partition). letter = ['A','B','C','D','E','F','G','H','I','J'][i % 10] val = i * 3",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1063,
      "write_warm_ms": 745,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3291_null_in_map_values",
      "num": 3291,
      "name": "null_in_map_values",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3291_null_in_map_values.py",
      "read_script": "generator/df-reads-spark/3291_null_in_map_values.sql",
      "description": "INSERT 20 rows with MAP<STRING, STRING>. Map values are NULL on even ids for key1. props['key1'] = 'val1' if i % 2 == 0 else None props['key2'] = 'v_' + str(i)",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1449,
      "write_warm_ms": 1730,
      "tags": [
        "type:integer",
        "type:map",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3292_nested_struct_three_deep",
      "num": 3292,
      "name": "nested_struct_three_deep",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3292_nested_struct_three_deep.py",
      "read_script": "generator/df-reads-spark/3292_nested_struct_three_deep.sql",
      "description": "INSERT 30 rows with three-level nested STRUCT. data.a = i as INT data.inner.b = 's_' + str(i) data.inner.deep.c = i * 1.5 as DOUBLE",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1616,
      "write_warm_ms": 973,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:nested-types",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3293_array_of_structs",
      "num": 3293,
      "name": "array_of_structs",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3293_array_of_structs.py",
      "read_script": "generator/df-reads-spark/3293_array_of_structs.sql",
      "description": "INSERT 20 rows. Each row has a 2-element ARRAY of STRUCT<name: STRING, qty: INT>. items[0] = ('item_' + str(i), i * 2) items[1] = ('extra_' + str(i), i * 3)",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1385,
      "write_warm_ms": 1876,
      "tags": [
        "type:array",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3294_map_int_keys",
      "num": 3294,
      "name": "map_int_keys",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3294_map_int_keys.py",
      "read_script": "generator/df-reads-spark/3294_map_int_keys.sql",
      "description": "INSERT 30 rows with MAP<INT, STRING>. Tests INT keys (not STRING). lookup[i] = 'val_' + str(i) lookup[i + 100] = 'big_' + str(i)",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1499,
      "write_warm_ms": 1746,
      "tags": [
        "type:integer",
        "type:map",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3295_timestamp_microsecond_precision",
      "num": 3295,
      "name": "timestamp_microsecond_precision",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3295_timestamp_microsecond_precision.py",
      "read_script": "generator/df-reads-spark/3295_timestamp_microsecond_precision.sql",
      "description": "INSERT 50 rows with microsecond-precision timestamps. Base epoch seconds = 1704067200 (2024-01-01 00:00:00 UTC) ts (microseconds since epoch) = 1704067200_000_000 + i * 1_000_000 + i i.e. 2024-01-01 00:00:<i> plus i microseconds val = i",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1566,
      "write_warm_ms": 3585,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3296_date_boundary_values",
      "num": 3296,
      "name": "date_boundary_values",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3296_date_boundary_values.py",
      "read_script": "generator/df-reads-spark/3296_date_boundary_values.sql",
      "description": "INSERT 10 rows with DATE boundary values (epoch, Y2K, leap year, etc.). Fixed mapping (i = 1..10): 1 -> 1970-01-01 (epoch) 2 -> 2000-01-01 (Y2K) 3 -> 2024-01-01 4 -> 2024-12-31 5 -> 1999-12-31 6 -> 2030-06-15 7 -> 1980-07-04 8 -> 2025-02-28 9 -> 2024-02-29 (leap day)",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3004,
      "write_warm_ms": 2869,
      "tags": [
        "type:boundary",
        "type:date",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3297_binary_roundtrip",
      "num": 3297,
      "name": "binary_roundtrip",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3297_binary_roundtrip.py",
      "read_script": "generator/df-reads-spark/3297_binary_roundtrip.sql",
      "description": "INSERT 20 rows with BINARY payload. payload = b'binary_data_' + bytes(str(i), 'utf-8') + b'_payload",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2056,
      "write_warm_ms": 2491,
      "tags": [
        "type:binary",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3298_string_special_chars_csv",
      "num": 3298,
      "name": "string_special_chars_csv",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3298_string_special_chars_csv.py",
      "read_script": "generator/df-reads-spark/3298_string_special_chars_csv.sql",
      "description": "INSERT 20 rows with strings containing commas, quotes, tabs and normal text. 0 -> 'has,comma_' + str(i) 1 -> 'has\"quote_' + str(i) 2 -> 'has\\ttab_' + str(i) 3 -> 'normal_' + str(i)",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1701,
      "write_warm_ms": 1200,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3299_double_special_values",
      "num": 3299,
      "name": "double_special_values",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3299_double_special_values.py",
      "read_script": "generator/df-reads-spark/3299_double_special_values.sql",
      "description": "INSERT 10 rows with DOUBLE special values: 1 -> NaN 2 -> +Infinity 3 -> -Infinity 4 -> 0.0 5 -> -0.0 6 -> Double.MaxValue (1.7976931348623157e308) 7 -> -Double.MaxValue 8 -> Smallest positive subnormal (5e-324) 9 -> -5e-324 10 -> 42.0",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1194,
      "write_warm_ms": 1070,
      "tags": [
        "type:boundary",
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/329_merge_conditional",
      "num": 329,
      "name": "merge_conditional",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/329_merge_conditional.py",
      "read_script": "generator/df-reads-spark/329_merge_conditional.sql",
      "description": "MERGE with conditional clauses based on priority and status. 100 rows.",
      "status": "pass",
      "duration_ms": 37,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 37,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/32_dv_derived_fields_computed",
      "num": 32,
      "name": "dv_derived_fields_computed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/32_dv_derived_fields_computed.py",
      "read_script": "generator/df-reads-spark/32_dv_derived_fields_computed.sql",
      "description": "IoT Sensor Network Data with Deletion Vectors and Derived Fields. Demonstrates deletion vectors with derived fields (numRecords, deletedRows, existingRows). 6000 initial + 300 new readings, then multiple DELETE/UPDATE operations.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 6687,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3300_skewed_partition_data",
      "num": 3300,
      "name": "skewed_partition_data",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3300_skewed_partition_data.py",
      "read_script": "generator/df-reads-spark/3300_skewed_partition_data.sql",
      "description": "INSERT 1000 rows partitioned by region with heavy skew. region = 'US' if i <= 990 = 'EU' if 991 <= i <= 995 = 'APAC' otherwise (996..1000) val = i",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2627,
      "write_warm_ms": 2044,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3301_optimize_then_vacuum_then_read",
      "num": 3301,
      "name": "optimize_then_vacuum_then_read",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3301_optimize_then_vacuum_then_read.py",
      "read_script": "generator/df-reads-spark/3301_optimize_then_vacuum_then_read.sql",
      "description": "Batch b (1..10), local i (1..10): global_id = i + 10*(b-1) val = i * 2 tag = 'b' + str(b)",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 35475,
      "write_warm_ms": 35713,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3302_zorder_then_optimize_then_vacuum",
      "num": 3302,
      "name": "zorder_then_optimize_then_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3302_zorder_then_optimize_then_vacuum.py",
      "read_script": "generator/df-reads-spark/3302_zorder_then_optimize_then_vacuum.sql",
      "description": "INSERT 200 -> OPTIMIZE ZORDER BY (val) -> OPTIMIZE -> VACUUM RETAIN 0. val = i * 2 name = 'zo_' + str(i)",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 21510,
      "write_warm_ms": 22464,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3303_cdc_optimize_vacuum_chain",
      "num": 3303,
      "name": "cdc_optimize_vacuum_chain",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3303_cdc_optimize_vacuum_chain.py",
      "read_script": "generator/df-reads-spark/3303_cdc_optimize_vacuum_chain.sql",
      "description": "INSERT 100 -> UPDATE first 30 (tag='updated') -> OPTIMIZE -> VACUUM RETAIN 0. CDF enabled upfront. DV enabled AFTER DML (delayed-enable workaround for the Spark OSS DV+UPDATE/DELETE issue).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 26085,
      "write_warm_ms": 29556,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3304_dv_optimize_vacuum_triple",
      "num": 3304,
      "name": "dv_optimize_vacuum_triple",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3304_dv_optimize_vacuum_triple.py",
      "read_script": "generator/df-reads-spark/3304_dv_optimize_vacuum_triple.sql",
      "description": "INSERT 100 -> DELETE where id%3==0 -> OPTIMIZE -> VACUUM RETAIN 0. DV enabled AFTER DELETE (delayed-enable workaround).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 24580,
      "write_warm_ms": 25940,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3305_restore_then_optimize",
      "num": 3305,
      "name": "restore_then_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3305_restore_then_optimize.py",
      "read_script": "generator/df-reads-spark/3305_restore_then_optimize.sql",
      "description": "DV enabled AFTER DELETE (delayed-enable workaround). global_id = i + 10*(b-1) val = i * 2 (recall local i, so id=1 -> val=2, id=10 -> val=20, id=11 -> val=2, id=20 -> val=20, etc.)",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 24711,
      "write_warm_ms": 20998,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3306_checkpoint_then_vacuum",
      "num": 3306,
      "name": "checkpoint_then_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3306_checkpoint_then_vacuum.py",
      "read_script": "generator/df-reads-spark/3306_checkpoint_then_vacuum.sql",
      "description": "15 batches of 5 INSERTs -> VACUUM RETAIN 0 HOURS. checkpointInterval = 10 (triggers a checkpoint mid-way through the 15 batches).",
      "status": "pass",
      "duration_ms": 33,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 33,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 38867,
      "write_warm_ms": 40343,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3307_evolve_optimize_vacuum",
      "num": 3307,
      "name": "evolve_optimize_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3307_evolve_optimize_vacuum.py",
      "read_script": "generator/df-reads-spark/3307_evolve_optimize_vacuum.sql",
      "description": "INSERT 50 (2-col) -> ALTER ADD COLUMN tag -> INSERT 50 (3-col) -> OPTIMIZE -> VACUUM RETAIN 0.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 26276,
      "write_warm_ms": 26272,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3308_partition_zorder_optimize",
      "num": 3308,
      "name": "partition_zorder_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3308_partition_zorder_optimize.py",
      "read_script": "generator/df-reads-spark/3308_partition_zorder_optimize.sql",
      "description": "INSERT 200 rows into 4 partitions -> OPTIMIZE ZORDER BY (val) -> OPTIMIZE. val = i * 2 region by i % 4: 0->US, 1->EU, 2->AP, 3->SA",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4521,
      "write_warm_ms": 3625,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3309_cdc_dv_optimize_vacuum_full",
      "num": 3309,
      "name": "cdc_dv_optimize_vacuum_full",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3309_cdc_dv_optimize_vacuum_full.py",
      "read_script": "generator/df-reads-spark/3309_cdc_dv_optimize_vacuum_full.sql",
      "description": "Full CDC+DV maintenance cycle. INSERT 100 -> DELETE WHERE id <= 30 -> UPDATE SET tag='upd' WHERE id <= 50 -> OPTIMIZE -> VACUUM RETAIN 0. CDF enabled upfront. DV enabled AFTER DML (delayed-enable workaround).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 31649,
      "write_warm_ms": 34700,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/330_merge_schema_evolution",
      "num": 330,
      "name": "merge_schema_evolution",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/330_merge_schema_evolution.py",
      "read_script": "generator/df-reads-spark/330_merge_schema_evolution.sql",
      "description": "Table with deletion vectors and column mapping name mode for MERGE tests. 50 rows.",
      "status": "pass",
      "duration_ms": 32,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 32,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3310_identity_optimize_vacuum_chain",
      "num": 3310,
      "name": "identity_optimize_vacuum_chain",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3310_identity_optimize_vacuum_chain.py",
      "read_script": "generator/df-reads-spark/3310_identity_optimize_vacuum_chain.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires IDENTITY_COLUMNS which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "IDENTITY columns (GENERATED BY DEFAULT AS IDENTITY) are a Databricks-only feature not available in Spark OSS.",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": "IDENTITY_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:identity-columns",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3311_colmap_evolve_optimize",
      "num": 3311,
      "name": "colmap_evolve_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3311_colmap_evolve_optimize.py",
      "read_script": "generator/df-reads-spark/3311_colmap_evolve_optimize.sql",
      "description": "Colmap+evolve+OPTIMIZE. INSERT 50, ADD COLUMN extra, INSERT 50 more with extra, OPTIMIZE. Column mapping = name mode.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7418,
      "write_warm_ms": 5691,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3312_widen_optimize_vacuum",
      "num": 3312,
      "name": "widen_optimize_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3312_widen_optimize_vacuum.py",
      "read_script": "generator/df-reads-spark/3312_widen_optimize_vacuum.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires TYPE_WIDENING which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Type widening (delta.enableTypeWidening) is a Databricks-only feature not available in Spark OSS.",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": "TYPE_WIDENING",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:optimize",
        "delta:vacuum",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3313_ict_cdc_optimize",
      "num": 3313,
      "name": "ict_cdc_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3313_ict_cdc_optimize.py",
      "read_script": "generator/df-reads-spark/3313_ict_cdc_optimize.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires IN_COMMIT_TIMESTAMPS which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "In-Commit Timestamps (delta.enableInCommitTimestamps) are a Databricks-only feature not available in Spark OSS.",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": "IN_COMMIT_TIMESTAMPS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:change-data-feed",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3314_merge_optimize_vacuum_cycle",
      "num": 3314,
      "name": "merge_optimize_vacuum_cycle",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3314_merge_optimize_vacuum_cycle.py",
      "read_script": "generator/df-reads-spark/3314_merge_optimize_vacuum_cycle.sql",
      "description": "MERGE+maintenance. INSERT 50, MERGE (update 1-20, insert 51-80), OPTIMIZE, VACUUM RETAIN 0 HOURS. DV is enabled via ALTER TABLE at the end to avoid Spark OSS DV+UPDATE bug during MERGE.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 26855,
      "write_warm_ms": 24759,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3315_partition_vacuum_selective",
      "num": 3315,
      "name": "partition_vacuum_selective",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3315_partition_vacuum_selective.py",
      "read_script": "generator/df-reads-spark/3315_partition_vacuum_selective.sql",
      "description": "VACUUM on partition with deletes. INSERT 200 (~50 per region), DELETE WHERE region='US', VACUUM RETAIN 0 HOURS. DV is enabled via ALTER TABLE at the end to avoid Spark OSS DV+DELETE bug.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 25838,
      "write_warm_ms": 27886,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3316_dv_restore_optimize",
      "num": 3316,
      "name": "dv_restore_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3316_dv_restore_optimize.py",
      "read_script": "generator/df-reads-spark/3316_dv_restore_optimize.sql",
      "description": "DV+RESTORE+OPTIMIZE. INSERT 100, DELETE WHERE id<=30, RESTORE TO VERSION 1, OPTIMIZE. DV is enabled via ALTER TABLE at the end to avoid Spark OSS DV+DELETE bug.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 13100,
      "write_warm_ms": 10709,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3317_time_travel_after_vacuum_fail",
      "num": 3317,
      "name": "time_travel_after_vacuum_fail",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3317_time_travel_after_vacuum_fail.py",
      "read_script": "generator/df-reads-spark/3317_time_travel_after_vacuum_fail.sql",
      "description": "Time travel to vacuumed version. INSERT 50, INSERT 50 more, VACUUM RETAIN 0 HOURS. Current version readable. Time travel to V1 may fail after VACUUM.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 24955,
      "write_warm_ms": 26003,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3318_checkpoint_optimize_vacuum",
      "num": 3318,
      "name": "checkpoint_optimize_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3318_checkpoint_optimize_vacuum.py",
      "read_script": "generator/df-reads-spark/3318_checkpoint_optimize_vacuum.sql",
      "description": "Checkpoint + OPTIMIZE + VACUUM. 15x INSERT 5 rows each, OPTIMIZE, VACUUM RETAIN 0 HOURS.",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 40981,
      "write_warm_ms": 38116,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3319_constraint_evolve_optimize",
      "num": 3319,
      "name": "constraint_evolve_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3319_constraint_evolve_optimize.py",
      "read_script": "generator/df-reads-spark/3319_constraint_evolve_optimize.sql",
      "description": "CHECK constraint + schema evolution + OPTIMIZE. ADD CHECK(val>0), INSERT 50, ADD COLUMN tag, INSERT 50 more, OPTIMIZE.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6949,
      "write_warm_ms": 6167,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:optimize",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/331_merge_large_scale",
      "num": 331,
      "name": "merge_large_scale",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/331_merge_large_scale.py",
      "read_script": "generator/df-reads-spark/331_merge_large_scale.sql",
      "description": "Large-scale table with deletion vectors for MERGE performance testing. 1,000,000 rows (10 batches of 100,000).",
      "status": "pass",
      "duration_ms": 207,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 207,
      "read_warm_ms": 84,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3320_merge_cdc_dv_optimize_vacuum",
      "num": 3320,
      "name": "merge_cdc_dv_optimize_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3320_merge_cdc_dv_optimize_vacuum.py",
      "read_script": "generator/df-reads-spark/3320_merge_cdc_dv_optimize_vacuum.sql",
      "description": "5-feature chain: CDC + DV + MERGE + OPTIMIZE + VACUUM. INSERT 100, MERGE (update 1-30 val=val+1000 tag='merged', delete 31-50, insert 101-150), OPTIMIZE, VACUUM. DV is enabled via ALTER TABLE at the end to avoid Spark OSS DV+UPDATE/DELETE bug.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 22457,
      "write_warm_ms": 20942,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3321_cdc_colmap_merge",
      "num": 3321,
      "name": "cdc_colmap_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3321_cdc_colmap_merge.py",
      "read_script": "generator/df-reads-spark/3321_cdc_colmap_merge.sql",
      "description": "CDC + column mapping (name mode) + MERGE. INSERT 50, MERGE update 1-20 / insert 51-80. DV enabled via ALTER TABLE at the end to avoid Spark OSS DV+UPDATE bug.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4222,
      "write_warm_ms": 4969,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3322_cdc_dv_evolve_merge",
      "num": 3322,
      "name": "cdc_dv_evolve_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3322_cdc_dv_evolve_merge.py",
      "read_script": "generator/df-reads-spark/3322_cdc_dv_evolve_merge.sql",
      "description": "CDC + DV + schema evolution + 3-clause MERGE. INSERT 50, ADD COLUMN extra, MERGE (update 1-15, delete 16-25, insert 51-70). DV enabled via ALTER TABLE at the end to avoid Spark OSS DV+UPDATE/DELETE bug.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5767,
      "write_warm_ms": 5497,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3323_identity_cdc_dv_merge",
      "num": 3323,
      "name": "identity_cdc_dv_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3323_identity_cdc_dv_merge.py",
      "read_script": "generator/df-reads-spark/3323_identity_cdc_dv_merge.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires IDENTITY_COLUMNS which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "IDENTITY columns (GENERATED BY DEFAULT AS IDENTITY) are a Databricks-only feature not available in Spark OSS.",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": "IDENTITY_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3324_colmap_partition_cdc_merge",
      "num": 3324,
      "name": "colmap_partition_cdc_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3324_colmap_partition_cdc_merge.py",
      "read_script": "generator/df-reads-spark/3324_colmap_partition_cdc_merge.sql",
      "description": "Column mapping (name) + partition + CDC + MERGE. INSERT 80, MERGE update 1-20 / insert 81-100. DV enabled via ALTER TABLE at the end to avoid Spark OSS DV+UPDATE bug.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4326,
      "write_warm_ms": 4504,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3325_identity_colmap_cdc",
      "num": 3325,
      "name": "identity_colmap_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3325_identity_colmap_cdc.py",
      "read_script": "generator/df-reads-spark/3325_identity_colmap_cdc.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires IDENTITY_COLUMNS which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "IDENTITY columns (GENERATED BY DEFAULT AS IDENTITY) are a Databricks-only feature not available in Spark OSS.",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": "IDENTITY_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3326_dv_cdc_partition_evolve",
      "num": 3326,
      "name": "dv_cdc_partition_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3326_dv_cdc_partition_evolve.py",
      "read_script": "generator/df-reads-spark/3326_dv_cdc_partition_evolve.sql",
      "description": "DV + CDC + partition + schema evolution. INSERT 80, ADD COLUMN tag, DELETE WHERE region='US'. DV enabled via ALTER TABLE at the end to avoid Spark OSS DV+DELETE bug.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6172,
      "write_warm_ms": 4438,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3327_constraint_cdc_merge",
      "num": 3327,
      "name": "constraint_cdc_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3327_constraint_cdc_merge.py",
      "read_script": "generator/df-reads-spark/3327_constraint_cdc_merge.sql",
      "description": "CHECK constraint + CDC + MERGE. ADD CHECK(val>0), INSERT 50, MERGE (update 1-20 / insert 51-70). DV enabled via ALTER TABLE at the end to avoid Spark OSS DV+UPDATE bug.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6075,
      "write_warm_ms": 5709,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3328_default_cdc_partition",
      "num": 3328,
      "name": "default_cdc_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3328_default_cdc_partition.py",
      "read_script": "generator/df-reads-spark/3328_default_cdc_partition.sql",
      "description": "DEFAULT value + CDC + partition. INSERT 80 rows. All status='active' (explicit here -- Spark OSS DEFAULT support is limited, so we write the value directly; the end-state matches the df-sql source which relies on DEFAULT).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1657,
      "write_warm_ms": 1334,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3329_widen_cdc_merge",
      "num": 3329,
      "name": "widen_cdc_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3329_widen_cdc_merge.py",
      "read_script": "generator/df-reads-spark/3329_widen_cdc_merge.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires TYPE_WIDENING which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Type widening (delta.enableTypeWidening) is a Databricks-only feature not available in Spark OSS.",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": "TYPE_WIDENING",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:change-data-feed",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/332_merge_star_schema",
      "num": 332,
      "name": "merge_star_schema",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/332_merge_star_schema.py",
      "read_script": "generator/df-reads-spark/332_merge_star_schema.sql",
      "description": "Star schema fact table for MERGE operations with deletion vectors. 500 rows.",
      "status": "pass",
      "duration_ms": 33,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 33,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3330_ict_identity_merge",
      "num": 3330,
      "name": "ict_identity_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3330_ict_identity_merge.py",
      "read_script": "generator/df-reads-spark/3330_ict_identity_merge.sql",
      "description": "SKIPPED -- DATABRICKS ONLY not available in Spark OSS. This test also uses IDENTITY columns which are Databricks-only.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "In-commit timestamps (delta.enableInCommitTimestamps) is a Databricks-only feature not available in Spark OSS.",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": "IN_COMMIT_TIMESTAMPS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3331_rowtrack_cdc_dv_merge",
      "num": 3331,
      "name": "rowtrack_cdc_dv_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3331_rowtrack_cdc_dv_merge.py",
      "read_script": "generator/df-reads-spark/3331_rowtrack_cdc_dv_merge.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires ROW_TRACKING which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Row tracking (delta.enableRowTracking) is a Databricks-only feature not available in Spark OSS.",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": "ROW_TRACKING",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3332_colmap_identity_evolve",
      "num": 3332,
      "name": "colmap_identity_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3332_colmap_identity_evolve.py",
      "read_script": "generator/df-reads-spark/3332_colmap_identity_evolve.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires IDENTITY_COLUMNS which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Identity columns (GENERATED BY DEFAULT AS IDENTITY) are a Databricks-only feature not available in Spark OSS.",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": "IDENTITY_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:column-mapping",
        "delta:identity-columns",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3333_partition_identity_cdc",
      "num": 3333,
      "name": "partition_identity_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3333_partition_identity_cdc.py",
      "read_script": "generator/df-reads-spark/3333_partition_identity_cdc.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires IDENTITY_COLUMNS which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Identity columns (GENERATED BY DEFAULT AS IDENTITY) are a Databricks-only feature not available in Spark OSS.",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": "IDENTITY_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:change-data-feed",
        "delta:identity-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3334_constraint_colmap_evolve",
      "num": 3334,
      "name": "constraint_colmap_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3334_constraint_colmap_evolve.py",
      "read_script": "generator/df-reads-spark/3334_constraint_colmap_evolve.sql",
      "description": "CHECK constraint + column mapping + schema evolution.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5105,
      "write_warm_ms": 5154,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3335_dv_identity_partition",
      "num": 3335,
      "name": "dv_identity_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3335_dv_identity_partition.py",
      "read_script": "generator/df-reads-spark/3335_dv_identity_partition.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires IDENTITY_COLUMNS which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Identity columns (GENERATED BY DEFAULT AS IDENTITY) are a Databricks-only feature not available in Spark OSS.",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": "IDENTITY_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:deletion-vectors",
        "delta:identity-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3336_widen_colmap_cdc",
      "num": 3336,
      "name": "widen_colmap_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3336_widen_colmap_cdc.py",
      "read_script": "generator/df-reads-spark/3336_widen_colmap_cdc.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires TYPE_WIDENING which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Type widening (delta.enableTypeWidening) is a Databricks-only feature not available in Spark OSS.",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": "TYPE_WIDENING",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:change-data-feed",
        "delta:column-mapping",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3337_ict_dv_partition",
      "num": 3337,
      "name": "ict_dv_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3337_ict_dv_partition.py",
      "read_script": "generator/df-reads-spark/3337_ict_dv_partition.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires IN_COMMIT_TIMESTAMPS which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "In-commit timestamps (delta.enableInCommitTimestamps) is a Databricks-only feature not available in Spark OSS.",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": "IN_COMMIT_TIMESTAMPS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3338_default_identity_constraint",
      "num": 3338,
      "name": "default_identity_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3338_default_identity_constraint.py",
      "read_script": "generator/df-reads-spark/3338_default_identity_constraint.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires IDENTITY_COLUMNS which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Identity columns (GENERATED BY DEFAULT AS IDENTITY) are a Databricks-only feature not available in Spark OSS.",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": "IDENTITY_COLUMNS",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:constraints",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3339_cdc_dv_colmap_partition",
      "num": 3339,
      "name": "cdc_dv_colmap_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3339_cdc_dv_colmap_partition.py",
      "read_script": "generator/df-reads-spark/3339_cdc_dv_colmap_partition.sql",
      "description": "CDC + DV + column mapping + partition (4-feature combo). to avoid the Spark OSS DV + DELETE/UPDATE metadata.row_index bug (SPARK_LIMITATIONS.md item 5).",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7836,
      "write_warm_ms": 4823,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/333_merge_comprehensive",
      "num": 333,
      "name": "merge_comprehensive",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/333_merge_comprehensive.py",
      "read_script": "generator/df-reads-spark/333_merge_comprehensive.sql",
      "description": "Comprehensive MERGE test table with partitioning, deletion vectors, and CDF. 5000 rows. Partitioned by: region.",
      "status": "pass",
      "duration_ms": 105,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 105,
      "read_warm_ms": 31,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3340_full_production_table",
      "num": 3340,
      "name": "full_production_table",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3340_full_production_table.py",
      "read_script": "generator/df-reads-spark/3340_full_production_table.sql",
      "description": "explicit status column (simulating DEFAULT 'active'). Spark OSS adaptations from the Databricks-native df-sql source: - IDENTITY(id) -> manually assigned ids 1..80 (OSS has no IDENTITY support). - In-commit timestamps (ICT) -> OMITTED (Databricks-only feature).",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7554,
      "write_warm_ms": 8224,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3341_evolve_drop_col_read",
      "num": 3341,
      "name": "evolve_drop_col_read",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3341_evolve_drop_col_read.py",
      "read_script": "generator/df-reads-spark/3341_evolve_drop_col_read.sql",
      "description": "DROP COLUMN with column mapping mode=name.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3154,
      "write_warm_ms": 4161,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "schema:drop-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3342_evolve_rename_col_read",
      "num": 3342,
      "name": "evolve_rename_col_read",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3342_evolve_rename_col_read.py",
      "read_script": "generator/df-reads-spark/3342_evolve_rename_col_read.sql",
      "description": "RENAME COLUMN with column mapping mode=name.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3356,
      "write_warm_ms": 3073,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "schema:rename-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3343_evolve_add_three_cols",
      "num": 3343,
      "name": "evolve_add_three_cols",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3343_evolve_add_three_cols.py",
      "read_script": "generator/df-reads-spark/3343_evolve_add_three_cols.sql",
      "description": "3 sequential ADD COLUMN operations with progressive NULLs.",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6486,
      "write_warm_ms": 6275,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3344_evolve_add_struct_col",
      "num": 3344,
      "name": "evolve_add_struct_col",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3344_evolve_add_struct_col.py",
      "read_script": "generator/df-reads-spark/3344_evolve_add_struct_col.sql",
      "description": "ADD STRUCT column after initial data.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3021,
      "write_warm_ms": 2960,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3345_evolve_add_array_col",
      "num": 3345,
      "name": "evolve_add_array_col",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3345_evolve_add_array_col.py",
      "read_script": "generator/df-reads-spark/3345_evolve_add_array_col.sql",
      "description": "ADD ARRAY column after initial data.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3189,
      "write_warm_ms": 3007,
      "tags": [
        "type:array",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3346_evolve_add_map_col",
      "num": 3346,
      "name": "evolve_add_map_col",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3346_evolve_add_map_col.py",
      "read_script": "generator/df-reads-spark/3346_evolve_add_map_col.sql",
      "description": "ADD MAP column after initial data.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2987,
      "write_warm_ms": 2874,
      "tags": [
        "type:integer",
        "type:map",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3347_widen_float_to_double",
      "num": 3347,
      "name": "widen_float_to_double",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3347_widen_float_to_double.py",
      "read_script": "generator/df-reads-spark/3347_widen_float_to_double.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires TYPE_WIDENING which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Type widening (delta.enableTypeWidening) is a Databricks-only feature not available in Spark OSS.",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": "TYPE_WIDENING",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3348_widen_int_to_long",
      "num": 3348,
      "name": "widen_int_to_long",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3348_widen_int_to_long.py",
      "read_script": "generator/df-reads-spark/3348_widen_int_to_long.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires TYPE_WIDENING which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Type widening (delta.enableTypeWidening) is a Databricks-only feature not available in Spark OSS.",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": "TYPE_WIDENING",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3349_widen_decimal_scale",
      "num": 3349,
      "name": "widen_decimal_scale",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3349_widen_decimal_scale.py",
      "read_script": "generator/df-reads-spark/3349_widen_decimal_scale.sql",
      "description": "SKIPPED -- DATABRICKS ONLY This test requires TYPE_WIDENING which is not available in Apache Spark OSS. It can only run on Databricks Runtime.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Type widening (delta.enableTypeWidening) is a Databricks-only feature not available in Spark OSS.",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": "TYPE_WIDENING",
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:decimal",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/334_dv_basic_delete",
      "num": 334,
      "name": "dv_basic_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/334_dv_basic_delete.py",
      "read_script": "generator/df-reads-spark/334_dv_basic_delete.sql",
      "description": "DELETE creates deletion vector instead of rewriting file. 1000 rows.",
      "status": "pass",
      "duration_ms": 29,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 29,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3350_widen_short_to_int",
      "num": 3350,
      "name": "widen_short_to_int",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3350_widen_short_to_int.py",
      "read_script": "generator/df-reads-spark/3350_widen_short_to_int.sql",
      "description": "SMALLINT -> INT type widening via ALTER COLUMN TYPE.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1348,
      "write_warm_ms": 966,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3351_widen_byte_to_short",
      "num": 3351,
      "name": "widen_byte_to_short",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3351_widen_byte_to_short.py",
      "read_script": "generator/df-reads-spark/3351_widen_byte_to_short.sql",
      "description": "TINYINT -> SMALLINT type widening via ALTER COLUMN TYPE.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 843,
      "write_warm_ms": 1394,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3352_struct_update_nested_field",
      "num": 3352,
      "name": "struct_update_nested_field",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3352_struct_update_nested_field.py",
      "read_script": "generator/df-reads-spark/3352_struct_update_nested_field.sql",
      "description": "UPDATE nested struct field. Initial 50 rows with data.score = i*10, then UPDATE to set data.score = data.score + 100 (so final score = i*10 + 100).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2462,
      "write_warm_ms": 2467,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "scale:nested-types",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3353_map_string_to_struct",
      "num": 3353,
      "name": "map_string_to_struct",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3353_map_string_to_struct.py",
      "read_script": "generator/df-reads-spark/3353_map_string_to_struct.sql",
      "description": "MAP<STRING, STRUCT<count: INT, label: STRING>>. 20 rows, details = map('primary' -> struct(count=i*2, label=p_i)).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1120,
      "write_warm_ms": 1130,
      "tags": [
        "type:integer",
        "type:map",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3354_array_empty_and_null",
      "num": 3354,
      "name": "array_empty_and_null",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3354_array_empty_and_null.py",
      "read_script": "generator/df-reads-spark/3354_array_empty_and_null.sql",
      "description": "Empty array vs NULL array distinction. 30 rows: i % 3 == 0 -> tags = array('t_i') (10 rows: 3,6,9,12,15,18,21,24,27,30) i % 3 == 1 -> tags = array() (10 rows: 1,4,7,10,13,16,19,22,25,28) i % 3 == 2 -> tags = NULL (10 rows: 2,5,8,11,14,17,20,23,26,29)",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 715,
      "write_warm_ms": 1148,
      "tags": [
        "type:array",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3355_decimal_all_scales",
      "num": 3355,
      "name": "decimal_all_scales",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3355_decimal_all_scales.py",
      "read_script": "generator/df-reads-spark/3355_decimal_all_scales.sql",
      "description": "Multiple DECIMAL scales in one table. 50 rows: d0 = i * 100 (DECIMAL(10,0)) d2 = i * 15.75 (DECIMAL(10,2)) d6 = i * 0.123456 (DECIMAL(18,6)) d18 = i * 0.000000000000000001 (DECIMAL(38,18))",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1243,
      "write_warm_ms": 751,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3356_date_arithmetic",
      "num": 3356,
      "name": "date_arithmetic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3356_date_arithmetic.py",
      "read_script": "generator/df-reads-spark/3356_date_arithmetic.sql",
      "description": "DATE column with modular date assignment. 50 rows, 5 distinct dates (10 rows each), val = i: i % 5 == 0 -> 2024-01-15 i % 5 == 1 -> 2024-03-20 i % 5 == 2 -> 2024-06-10 i % 5 == 3 -> 2024-09-01 i % 5 == 4 -> 2024-12-25",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 681,
      "write_warm_ms": 914,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3357_timestamp_timezone_none",
      "num": 3357,
      "name": "timestamp_timezone_none",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3357_timestamp_timezone_none.py",
      "read_script": "generator/df-reads-spark/3357_timestamp_timezone_none.sql",
      "description": "Timestamp without timezone, microsecond precision. 50 rows. ts = 2024-01-01 00:00:00 + i days. Base epoch = 2024-01-01T00:00:00 UTC = 1704067200 seconds. ts for id=i: 2024-01-01 + i days = 2024-01-(1+i) for small i.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1304,
      "write_warm_ms": 722,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3358_string_long_4k",
      "num": 3358,
      "name": "string_long_4k",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3358_string_long_4k.py",
      "read_script": "generator/df-reads-spark/3358_string_long_4k.sql",
      "description": "4KB strings. 20 rows. content = REPEAT(str(i%10), 4096).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1208,
      "write_warm_ms": 1402,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3359_binary_large_1k",
      "num": 3359,
      "name": "binary_large_1k",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3359_binary_large_1k.py",
      "read_script": "generator/df-reads-spark/3359_binary_large_1k.sql",
      "description": "1KB binary values. 20 rows. payload = bytes of str(i%10) repeated 1024 times.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 886,
      "write_warm_ms": 937,
      "tags": [
        "type:binary",
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/335_dv_update",
      "num": 335,
      "name": "dv_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/335_dv_update.py",
      "read_script": "generator/df-reads-spark/335_dv_update.sql",
      "description": "UPDATE creates DV for old row + new row in new file. 500 rows.",
      "status": "pass",
      "duration_ms": 39,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 39,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3360_not_null_all_types",
      "num": 3360,
      "name": "not_null_all_types",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3360_not_null_all_types.py",
      "read_script": "generator/df-reads-spark/3360_not_null_all_types.sql",
      "description": "NOT NULL constraints on multiple types, defined at creation time. 50 rows: num = i * 3 label = 'nn_' + str(i) score = i * 1.5 flag = (i % 2 == 0)",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1366,
      "write_warm_ms": 793,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3361_cdc_insert_only_log",
      "num": 3361,
      "name": "cdc_insert_only_log",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3361_cdc_insert_only_log.py",
      "read_script": "generator/df-reads-spark/3361_cdc_insert_only_log.sql",
      "description": "CDC with INSERT only -- 5 batches of 20 rows each as separate commits. CDF contains 100 insert records, zero update/delete.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4348,
      "write_warm_ms": 4492,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3362_cdc_update_preimage_postimage",
      "num": 3362,
      "name": "cdc_update_preimage_postimage",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3362_cdc_update_preimage_postimage.py",
      "read_script": "generator/df-reads-spark/3362_cdc_update_preimage_postimage.sql",
      "description": "CDF preimage/postimage verification after UPDATE. INSERT 50 rows, then UPDATE first 20 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3900,
      "write_warm_ms": 2744,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3363_cdc_delete_log",
      "num": 3363,
      "name": "cdc_delete_log",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3363_cdc_delete_log.py",
      "read_script": "generator/df-reads-spark/3363_cdc_delete_log.sql",
      "description": "CDF for DELETE operations. INSERT 50 rows, then DELETE first 10 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2707,
      "write_warm_ms": 3540,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3364_cdc_merge_all_change_types",
      "num": 3364,
      "name": "cdc_merge_all_change_types",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3364_cdc_merge_all_change_types.py",
      "read_script": "generator/df-reads-spark/3364_cdc_merge_all_change_types.sql",
      "description": "MERGE producing all CDF change types (insert, delete, update_preimage, update_postimage). - MATCHED AND id <= 10: UPDATE SET tag='merged' - MATCHED AND id BETWEEN 11 AND 15: DELETE - NOT MATCHED AND source.id BETWEEN 51 AND 70: INSERT (val=i*5, tag='merged')",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3131,
      "write_warm_ms": 3604,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3365_cdc_truncate_as_delete",
      "num": 3365,
      "name": "cdc_truncate_as_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3365_cdc_truncate_as_delete.py",
      "read_script": "generator/df-reads-spark/3365_cdc_truncate_as_delete.sql",
      "description": "TRUNCATE on a CDC-enabled table. INSERT 50 rows, then TRUNCATE. Final: 0 rows.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2616,
      "write_warm_ms": 2580,
      "tags": [
        "type:integer",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "dml:truncate",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3366_cdc_ten_versions",
      "num": 3366,
      "name": "cdc_ten_versions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3366_cdc_ten_versions.py",
      "read_script": "generator/df-reads-spark/3366_cdc_ten_versions.sql",
      "description": "10 versions of CDC changes across mixed operations. Final rows: id 1..3 val=(i*2)+100, version=7 id 4..5 val=(i*2)+100, version=4 id 6..10 val=(i*2)+100, version=6 id 11..20 val=(i*2)+200, version=2 id 21..50 val=i*2, version=0 id 54..55 val=i*2, version=3",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 18157,
      "write_warm_ms": 17469,
      "tags": [
        "type:integer",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3367_cdc_partition_update",
      "num": 3367,
      "name": "cdc_partition_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3367_cdc_partition_update.py",
      "read_script": "generator/df-reads-spark/3367_cdc_partition_update.sql",
      "description": "CDF for partitioned table with UPDATE on one partition. INSERT 80 rows partitioned by region (US/EU/APAC/LATAM), then UPDATE US partition (val += 1000).",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4067,
      "write_warm_ms": 4132,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3368_cdc_schema_evolve_add",
      "num": 3368,
      "name": "cdc_schema_evolve_add",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3368_cdc_schema_evolve_add.py",
      "read_script": "generator/df-reads-spark/3368_cdc_schema_evolve_add.sql",
      "description": "CDF after ADD COLUMN schema evolution.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6623,
      "write_warm_ms": 4548,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3369_cdc_restore_log",
      "num": 3369,
      "name": "cdc_restore_log",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3369_cdc_restore_log.py",
      "read_script": "generator/df-reads-spark/3369_cdc_restore_log.sql",
      "description": "CDF after RESTORE to a previous version.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 10709,
      "write_warm_ms": 8901,
      "tags": [
        "type:integer",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/336_dv_multiple_deletes",
      "num": 336,
      "name": "dv_multiple_deletes",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/336_dv_multiple_deletes.py",
      "read_script": "generator/df-reads-spark/336_dv_multiple_deletes.sql",
      "description": "Multiple DELETEs accumulate in DVs. 2000 rows.",
      "status": "pass",
      "duration_ms": 37,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 37,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3370_cdc_identity_insert",
      "num": 3370,
      "name": "cdc_identity_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3370_cdc_identity_insert.py",
      "read_script": "generator/df-reads-spark/3370_cdc_identity_insert.sql",
      "description": "CDF with IDENTITY column. Spark OSS does not support GENERATED AS IDENTITY.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Identity columns (GENERATED BY DEFAULT AS IDENTITY) not supported in Spark OSS.",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "delta:change-data-feed",
        "delta:default-values",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3371_cdc_dv_resolve_after_optimize",
      "num": 3371,
      "name": "cdc_dv_resolve_after_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3371_cdc_dv_resolve_after_optimize.py",
      "read_script": "generator/df-reads-spark/3371_cdc_dv_resolve_after_optimize.sql",
      "description": "CDF after DV + OPTIMIZE. DELETE creates DVs, OPTIMIZE resolves them.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4466,
      "write_warm_ms": 3860,
      "tags": [
        "type:integer",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3372_cdc_colmap_name_mode",
      "num": 3372,
      "name": "cdc_colmap_name_mode",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3372_cdc_colmap_name_mode.py",
      "read_script": "generator/df-reads-spark/3372_cdc_colmap_name_mode.sql",
      "description": "CDF under column mapping (name mode), no drop/rename. id=i, val=i*2, tag='init' -> 'upd' for id<=20",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2934,
      "write_warm_ms": 2813,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3373_cdc_constraint_valid",
      "num": 3373,
      "name": "cdc_constraint_valid",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3373_cdc_constraint_valid.py",
      "read_script": "generator/df-reads-spark/3373_cdc_constraint_valid.sql",
      "description": "CDF with CHECK constraint. ADD CONSTRAINT, INSERT valid rows, UPDATE.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3196,
      "write_warm_ms": 3287,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3374_cdc_default_values",
      "num": 3374,
      "name": "cdc_default_values",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3374_cdc_default_values.py",
      "read_script": "generator/df-reads-spark/3374_cdc_default_values.sql",
      "description": "CDF records showing DEFAULT column values. INSERT 50 rows omitting status column (defaults to 'new').",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2067,
      "write_warm_ms": 2004,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:default-values",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3375_cdc_widen_after",
      "num": 3375,
      "name": "cdc_widen_after",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3375_cdc_widen_after.py",
      "read_script": "generator/df-reads-spark/3375_cdc_widen_after.sql",
      "description": "CDF across type widening (INT -> BIGINT).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2963,
      "write_warm_ms": 3121,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3376_cdc_ict_ordering",
      "num": 3376,
      "name": "cdc_ict_ordering",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3376_cdc_ict_ordering.py",
      "read_script": "generator/df-reads-spark/3376_cdc_ict_ordering.sql",
      "description": "CDF with In-Commit Timestamps (ICT) enabled. Wait -- id 1..20 updated tag='upd', id 21..40 tag='init', id 41..50 deleted.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3900,
      "write_warm_ms": 3140,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3377_cdc_zorder_preserve",
      "num": 3377,
      "name": "cdc_zorder_preserve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3377_cdc_zorder_preserve.py",
      "read_script": "generator/df-reads-spark/3377_cdc_zorder_preserve.sql",
      "description": "CDF still readable after ZORDER optimization.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3155,
      "write_warm_ms": 3978,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3378_cdc_vacuum_retention",
      "num": 3378,
      "name": "cdc_vacuum_retention",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3378_cdc_vacuum_retention.py",
      "read_script": "generator/df-reads-spark/3378_cdc_vacuum_retention.sql",
      "description": "CDF behavior after VACUUM with 0 hour retention. id=i, val=i*2 initially After update for id<=20: val = i*2 + 100",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 16505,
      "write_warm_ms": 16563,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3379_cdc_checkpoint_survive",
      "num": 3379,
      "name": "cdc_checkpoint_survive",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3379_cdc_checkpoint_survive.py",
      "read_script": "generator/df-reads-spark/3379_cdc_checkpoint_survive.sql",
      "description": "CDF readable after checkpoint creation (12 inserts to trigger checkpoint). 12 x INSERT 5 rows each (60 rows total), then UPDATE id<=10 (val += 1000).",
      "status": "pass",
      "duration_ms": 24,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 24,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 10237,
      "write_warm_ms": 10481,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/337_dv_optimize",
      "num": 337,
      "name": "dv_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/337_dv_optimize.py",
      "read_script": "generator/df-reads-spark/337_dv_optimize.sql",
      "description": "OPTIMIZE materializes DVs into compacted files. 5000 rows in 5 batches, then DELETE id%5=0 (removes 1000 rows). Final: 4000 rows.",
      "status": "pass",
      "duration_ms": 78,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 78,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3380_cdc_time_travel_cdf",
      "num": 3380,
      "name": "cdc_time_travel_cdf",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3380_cdc_time_travel_cdf.py",
      "read_script": "generator/df-reads-spark/3380_cdc_time_travel_cdf.sql",
      "description": "CDF version range queries. id=i, val=i*2 initially After V1 for id<=20: val=i*2+100 Final state: id 1..20 val=i*2+100 id 21..40 val=i*2",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3957,
      "write_warm_ms": 3626,
      "tags": [
        "type:integer",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3381_merge_three_clause_full",
      "num": 3381,
      "name": "merge_three_clause_full",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3381_merge_three_clause_full.py",
      "read_script": "generator/df-reads-spark/3381_merge_three_clause_full.sql",
      "description": "MERGE with all 3 clauses (UPDATE, DELETE, INSERT).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2571,
      "write_warm_ms": 2819,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3382_merge_update_all_cols",
      "num": 3382,
      "name": "merge_update_all_cols",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3382_merge_update_all_cols.py",
      "read_script": "generator/df-reads-spark/3382_merge_update_all_cols.sql",
      "description": "MERGE UPDATE all non-key columns.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2508,
      "write_warm_ms": 2913,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3383_merge_conditional_update",
      "num": 3383,
      "name": "merge_conditional_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3383_merge_conditional_update.py",
      "read_script": "generator/df-reads-spark/3383_merge_conditional_update.sql",
      "description": "MERGE with conditional WHEN MATCHED AND predicates.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3224,
      "write_warm_ms": 2298,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3384_merge_insert_all_nulls",
      "num": 3384,
      "name": "merge_insert_all_nulls",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3384_merge_insert_all_nulls.py",
      "read_script": "generator/df-reads-spark/3384_merge_insert_all_nulls.sql",
      "description": "MERGE INSERT with NULL values for string columns.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1774,
      "write_warm_ms": 1772,
      "tags": [
        "type:integer",
        "type:null-handling",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3385_merge_partition_cross",
      "num": 3385,
      "name": "merge_partition_cross",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3385_merge_partition_cross.py",
      "read_script": "generator/df-reads-spark/3385_merge_partition_cross.sql",
      "description": "MERGE across partitions (moving rows to a different partition).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2235,
      "write_warm_ms": 2455,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3386_merge_decimal_arithmetic",
      "num": 3386,
      "name": "merge_decimal_arithmetic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3386_merge_decimal_arithmetic.py",
      "read_script": "generator/df-reads-spark/3386_merge_decimal_arithmetic.sql",
      "description": "MERGE with DECIMAL arithmetic.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2073,
      "write_warm_ms": 2034,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3387_merge_timestamp_update",
      "num": 3387,
      "name": "merge_timestamp_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3387_merge_timestamp_update.py",
      "read_script": "generator/df-reads-spark/3387_merge_timestamp_update.sql",
      "description": "MERGE updating timestamps.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1891,
      "write_warm_ms": 2277,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3388_merge_identity_insert_only",
      "num": 3388,
      "name": "merge_identity_insert_only",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3388_merge_identity_insert_only.py",
      "read_script": "generator/df-reads-spark/3388_merge_identity_insert_only.sql",
      "description": "MERGE INSERT on IDENTITY table.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "IDENTITY columns not supported in Spark OSS",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "dml:insert",
        "dml:merge",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3389_merge_delete_only",
      "num": 3389,
      "name": "merge_delete_only",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3389_merge_delete_only.py",
      "read_script": "generator/df-reads-spark/3389_merge_delete_only.sql",
      "description": "MERGE with only DELETE clause.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2481,
      "write_warm_ms": 1988,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/338_dv_partitioned",
      "num": 338,
      "name": "dv_partitioned",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/338_dv_partitioned.py",
      "read_script": "generator/df-reads-spark/338_dv_partitioned.sql",
      "description": "DVs work within partitions. 1000 rows. Partitioned by region.",
      "status": "pass",
      "duration_ms": 79,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 79,
      "read_warm_ms": 33,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3390_merge_large_source",
      "num": 3390,
      "name": "merge_large_source",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3390_merge_large_source.py",
      "read_script": "generator/df-reads-spark/3390_merge_large_source.sql",
      "description": "MERGE with source larger than target.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2075,
      "write_warm_ms": 2793,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3391_merge_empty_source",
      "num": 3391,
      "name": "merge_empty_source",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3391_merge_empty_source.py",
      "read_script": "generator/df-reads-spark/3391_merge_empty_source.sql",
      "description": "MERGE with 0-row source (no-op).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1405,
      "write_warm_ms": 1191,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3392_merge_same_key_twice",
      "num": 3392,
      "name": "merge_same_key_twice",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3392_merge_same_key_twice.py",
      "read_script": "generator/df-reads-spark/3392_merge_same_key_twice.sql",
      "description": "MERGE with duplicate keys in source.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2549,
      "write_warm_ms": 2068,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3393_merge_with_default_col",
      "num": 3393,
      "name": "merge_with_default_col",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3393_merge_with_default_col.py",
      "read_script": "generator/df-reads-spark/3393_merge_with_default_col.sql",
      "description": "MERGE INSERT where omitted column should get DEFAULT value.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2659,
      "write_warm_ms": 3447,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:default-values",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3394_merge_evolve_after",
      "num": 3394,
      "name": "merge_evolve_after",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3394_merge_evolve_after.py",
      "read_script": "generator/df-reads-spark/3394_merge_evolve_after.sql",
      "description": "MERGE after schema evolution (ADD COLUMN).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2546,
      "write_warm_ms": 3233,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3395_merge_constraint_respected",
      "num": 3395,
      "name": "merge_constraint_respected",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3395_merge_constraint_respected.py",
      "read_script": "generator/df-reads-spark/3395_merge_constraint_respected.sql",
      "description": "MERGE respects CHECK constraint.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2838,
      "write_warm_ms": 3561,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3396_merge_five_rounds_accum",
      "num": 3396,
      "name": "merge_five_rounds_accum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3396_merge_five_rounds_accum.py",
      "read_script": "generator/df-reads-spark/3396_merge_five_rounds_accum.sql",
      "description": "5 rounds of MERGE accumulating rows.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8149,
      "write_warm_ms": 6753,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3397_merge_widen_then_merge",
      "num": 3397,
      "name": "merge_widen_then_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3397_merge_widen_then_merge.py",
      "read_script": "generator/df-reads-spark/3397_merge_widen_then_merge.sql",
      "description": "MERGE after column type widening (INT -> BIGINT).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2651,
      "write_warm_ms": 2490,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3398_merge_struct_update",
      "num": 3398,
      "name": "merge_struct_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3398_merge_struct_update.py",
      "read_script": "generator/df-reads-spark/3398_merge_struct_update.sql",
      "description": "MERGE updating struct column.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2075,
      "write_warm_ms": 2166,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3399_merge_boolean_predicate",
      "num": 3399,
      "name": "merge_boolean_predicate",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3399_merge_boolean_predicate.py",
      "read_script": "generator/df-reads-spark/3399_merge_boolean_predicate.sql",
      "description": "MERGE with boolean in join predicate.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2160,
      "write_warm_ms": 2902,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/339_dv_read_compat",
      "num": 339,
      "name": "dv_read_compat",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/339_dv_read_compat.py",
      "read_script": "generator/df-reads-spark/339_dv_read_compat.sql",
      "description": "DeltaForge reads DBX-created DVs correctly. 1000 rows, then DELETE id<=200. Final: 800 rows.",
      "status": "pass",
      "duration_ms": 32,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 32,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/33_dv_storage_relative_path_prefixed",
      "num": 33,
      "name": "dv_storage_relative_path_prefixed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/33_dv_storage_relative_path_prefixed.py",
      "read_script": "generator/df-reads-spark/33_dv_storage_relative_path_prefixed.sql",
      "description": "Gaming User Activity Logs with Path-Based Deletion Vector Storage. Demonstrates deletion vectors stored with relative path (storageType: \"p\"). 10000 initial + 500 new events, then multiple DELETE/UPDATE operations.",
      "status": "pass",
      "duration_ms": 20,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 20,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 7324,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3400_merge_null_safe_join",
      "num": 3400,
      "name": "merge_null_safe_join",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3400_merge_null_safe_join.py",
      "read_script": "generator/df-reads-spark/3400_merge_null_safe_join.sql",
      "description": "MERGE with NULLs in join key.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2519,
      "write_warm_ms": 2831,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3401_partition_null_key_value",
      "num": 3401,
      "name": "partition_null_key_value",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3401_partition_null_key_value.py",
      "read_script": "generator/df-reads-spark/3401_partition_null_key_value.sql",
      "description": "NULL partition key value -- HIVE default partition handling.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1419,
      "write_warm_ms": 1133,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3402_partition_multi_col",
      "num": 3402,
      "name": "partition_multi_col",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3402_partition_multi_col.py",
      "read_script": "generator/df-reads-spark/3402_partition_multi_col.sql",
      "description": "Multi-column partitioning (region + year) -- nested partition dirs.",
      "status": "pass",
      "duration_ms": 23,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 23,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 909,
      "write_warm_ms": 724,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3403_partition_boolean_key",
      "num": 3403,
      "name": "partition_boolean_key",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3403_partition_boolean_key.py",
      "read_script": "generator/df-reads-spark/3403_partition_boolean_key.sql",
      "description": "BOOLEAN partition key with true/false/NULL values.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1063,
      "write_warm_ms": 986,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3404_partition_int_key",
      "num": 3404,
      "name": "partition_int_key",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3404_partition_int_key.py",
      "read_script": "generator/df-reads-spark/3404_partition_int_key.sql",
      "description": "INT partition key with 10 buckets.",
      "status": "pass",
      "duration_ms": 20,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 20,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 469,
      "write_warm_ms": 513,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3405_partition_date_key",
      "num": 3405,
      "name": "partition_date_key",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3405_partition_date_key.py",
      "read_script": "generator/df-reads-spark/3405_partition_date_key.sql",
      "description": "DATE partition key with 5 distinct dates.",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1509,
      "write_warm_ms": 1162,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3406_partition_delete_one",
      "num": 3406,
      "name": "partition_delete_one",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3406_partition_delete_one.py",
      "read_script": "generator/df-reads-spark/3406_partition_delete_one.sql",
      "description": "DELETE entire partition (US removed).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2217,
      "write_warm_ms": 2824,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3407_partition_update_within",
      "num": 3407,
      "name": "partition_update_within",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3407_partition_update_within.py",
      "read_script": "generator/df-reads-spark/3407_partition_update_within.sql",
      "description": "UPDATE within a single partition (EU val + 1000).",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2334,
      "write_warm_ms": 2909,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3408_partition_merge_cross",
      "num": 3408,
      "name": "partition_merge_cross",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3408_partition_merge_cross.py",
      "read_script": "generator/df-reads-spark/3408_partition_merge_cross.sql",
      "description": "MERGE across partitions -- update first 20 rows, insert ids 81-100.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2718,
      "write_warm_ms": 2702,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3409_partition_optimize_per",
      "num": 3409,
      "name": "partition_optimize_per",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3409_partition_optimize_per.py",
      "read_script": "generator/df-reads-spark/3409_partition_optimize_per.sql",
      "description": "OPTIMIZE on partitioned table after multiple inserts.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3539,
      "write_warm_ms": 4047,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/340_dv_write_compat",
      "num": 340,
      "name": "dv_write_compat",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/340_dv_write_compat.py",
      "read_script": "generator/df-reads-spark/340_dv_write_compat.sql",
      "description": "DBX reads DeltaForge-created DVs. 500 rows initial (no DELETE in this generator).",
      "status": "pass",
      "duration_ms": 38,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 38,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3410_partition_vacuum_selective",
      "num": 3410,
      "name": "partition_vacuum_selective",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3410_partition_vacuum_selective.py",
      "read_script": "generator/df-reads-spark/3410_partition_vacuum_selective.sql",
      "description": "VACUUM after partition delete -- removes orphaned US files.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 18644,
      "write_warm_ms": 17779,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3411_partition_restore_full",
      "num": 3411,
      "name": "partition_restore_full",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3411_partition_restore_full.py",
      "read_script": "generator/df-reads-spark/3411_partition_restore_full.sql",
      "description": "RESTORE partitioned table to prior version after DELETE.",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7846,
      "write_warm_ms": 6480,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3412_partition_time_travel",
      "num": 3412,
      "name": "partition_time_travel",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3412_partition_time_travel.py",
      "read_script": "generator/df-reads-spark/3412_partition_time_travel.sql",
      "description": "Time travel on partitioned table -- two versions.",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1878,
      "write_warm_ms": 1818,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3413_partition_stats_pushdown",
      "num": 3413,
      "name": "partition_stats_pushdown",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3413_partition_stats_pushdown.py",
      "read_script": "generator/df-reads-spark/3413_partition_stats_pushdown.sql",
      "description": "Stats on partitioned table (400 rows, 100 per region).",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 893,
      "write_warm_ms": 1024,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3414_partition_cdc_per_partition",
      "num": 3414,
      "name": "partition_cdc_per_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3414_partition_cdc_per_partition.py",
      "read_script": "generator/df-reads-spark/3414_partition_cdc_per_partition.sql",
      "description": "CDC per partition -- CDF has update records for US only.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2020,
      "write_warm_ms": 2174,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3415_partition_identity_unique",
      "num": 3415,
      "name": "partition_identity_unique",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3415_partition_identity_unique.py",
      "read_script": "generator/df-reads-spark/3415_partition_identity_unique.sql",
      "description": "IDENTITY column across partitions.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Spark OSS does not support IDENTITY columns.",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "type:string",
        "delta:identity-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3416_partition_colmap_names",
      "num": 3416,
      "name": "partition_colmap_names",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3416_partition_colmap_names.py",
      "read_script": "generator/df-reads-spark/3416_partition_colmap_names.sql",
      "description": "Column mapping (name mode) on partitioned table.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1076,
      "write_warm_ms": 777,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3417_partition_constraint_per",
      "num": 3417,
      "name": "partition_constraint_per",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3417_partition_constraint_per.py",
      "read_script": "generator/df-reads-spark/3417_partition_constraint_per.sql",
      "description": "CHECK constraint on partitioned table.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2543,
      "write_warm_ms": 2241,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3418_partition_widen_col",
      "num": 3418,
      "name": "partition_widen_col",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3418_partition_widen_col.py",
      "read_script": "generator/df-reads-spark/3418_partition_widen_col.sql",
      "description": "Widen column type on partitioned table (INT -> BIGINT).",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 814,
      "write_warm_ms": 1215,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3419_partition_dv_per_partition",
      "num": 3419,
      "name": "partition_dv_per_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3419_partition_dv_per_partition.py",
      "read_script": "generator/df-reads-spark/3419_partition_dv_per_partition.sql",
      "description": "Deletion vectors per partition -- DELETE only in US partition (even ids).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1992,
      "write_warm_ms": 1825,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/341_dv_roaring_format",
      "num": 341,
      "name": "dv_roaring_format",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/341_dv_roaring_format.py",
      "read_script": "generator/df-reads-spark/341_dv_roaring_format.sql",
      "description": "Verify DV uses correct roaring bitmap format. 20000 rows.",
      "status": "pass",
      "duration_ms": 33,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 33,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3420_partition_evolve_add",
      "num": 3420,
      "name": "partition_evolve_add",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3420_partition_evolve_add.py",
      "read_script": "generator/df-reads-spark/3420_partition_evolve_add.sql",
      "description": "ADD COLUMN on partitioned table.",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1282,
      "write_warm_ms": 1010,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3421_time_travel_ten_versions",
      "num": 3421,
      "name": "time_travel_ten_versions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3421_time_travel_ten_versions.py",
      "read_script": "generator/df-reads-spark/3421_time_travel_ten_versions.sql",
      "description": "Ten INSERT batches of 10 rows each, total 100 rows. V0=empty CREATE, V1-V10 each add 10 rows. Uses delta.checkpointInterval=10 to exercise checkpoint behaviour across many versions.",
      "status": "pass",
      "duration_ms": 25,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 25,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5617,
      "write_warm_ms": 6626,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3422_time_travel_after_update",
      "num": 3422,
      "name": "time_travel_after_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3422_time_travel_after_update.py",
      "read_script": "generator/df-reads-spark/3422_time_travel_after_update.sql",
      "description": "V0=CREATE(empty), V1=INSERT 50 rows val=i*3, V2=UPDATE val=val*2.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2484,
      "write_warm_ms": 2219,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3423_time_travel_after_delete",
      "num": 3423,
      "name": "time_travel_after_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3423_time_travel_after_delete.py",
      "read_script": "generator/df-reads-spark/3423_time_travel_after_delete.sql",
      "description": "V0=CREATE(empty), V1=INSERT 50 rows val=i*2, V2=DELETE WHERE id<=20.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2998,
      "write_warm_ms": 2043,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3424_time_travel_after_merge",
      "num": 3424,
      "name": "time_travel_after_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3424_time_travel_after_merge.py",
      "read_script": "generator/df-reads-spark/3424_time_travel_after_merge.sql",
      "description": "V0=CREATE(empty), V1=INSERT 50 rows tag='init', V2=MERGE: update ids 1-20 tag='merged', insert ids 51-70 tag='new'.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3047,
      "write_warm_ms": 2801,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3425_time_travel_after_schema_evolve",
      "num": 3425,
      "name": "time_travel_after_schema_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3425_time_travel_after_schema_evolve.py",
      "read_script": "generator/df-reads-spark/3425_time_travel_after_schema_evolve.sql",
      "description": "V0=CREATE(empty), V1=INSERT 50 rows (id, val), V2=ADD COLUMN tag STRING, V3=INSERT 50 rows (id, val, tag).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2237,
      "write_warm_ms": 2437,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3426_time_travel_cdc_version",
      "num": 3426,
      "name": "time_travel_cdc_version",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3426_time_travel_cdc_version.py",
      "read_script": "generator/df-reads-spark/3426_time_travel_cdc_version.sql",
      "description": "CDC-enabled table. V0=CREATE(empty), V1=INSERT 50 rows val=i*2, V2=UPDATE val=val+100 WHERE id<=20, V3=DELETE WHERE id>40.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3103,
      "write_warm_ms": 3422,
      "tags": [
        "type:integer",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3427_time_travel_partition",
      "num": 3427,
      "name": "time_travel_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3427_time_travel_partition.py",
      "read_script": "generator/df-reads-spark/3427_time_travel_partition.sql",
      "description": "Partitioned table. V0=CREATE(empty), V1=INSERT 80 rows across 4 regions (US/EU/APAC/LATAM by i%4), V2=DELETE WHERE region='US' (removes 20 rows).",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2050,
      "write_warm_ms": 1866,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3428_restore_by_version",
      "num": 3428,
      "name": "restore_by_version",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3428_restore_by_version.py",
      "read_script": "generator/df-reads-spark/3428_restore_by_version.sql",
      "description": "V0=CREATE(empty), V1=INSERT 50 rows val=i*2, V2=UPDATE val=val*10, V3=DELETE WHERE id<=20. Then RESTORE TO VERSION AS OF 1.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7419,
      "write_warm_ms": 8144,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3429_restore_then_dml",
      "num": 3429,
      "name": "restore_then_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3429_restore_then_dml.py",
      "read_script": "generator/df-reads-spark/3429_restore_then_dml.sql",
      "description": "V0=CREATE(empty), V1=INSERT 50 rows tag='init', V2=DELETE all, V3=RESTORE TO V1, V4=INSERT 30 more rows tag='after_restore'.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 6545,
      "write_warm_ms": 6189,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/342_dv_zorder",
      "num": 342,
      "name": "dv_zorder",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/342_dv_zorder.py",
      "read_script": "generator/df-reads-spark/342_dv_zorder.sql",
      "description": "Z-ORDER materializes DVs during rewrite. 2000 rows in 4 batches of 500, then DELETE id%10=0. Final: 1800 rows.",
      "status": "pass",
      "duration_ms": 55,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 55,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3430_restore_then_merge",
      "num": 3430,
      "name": "restore_then_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3430_restore_then_merge.py",
      "read_script": "generator/df-reads-spark/3430_restore_then_merge.sql",
      "description": "V0=CREATE(empty), V1=INSERT 50 rows tag='init', V2=DELETE WHERE id<=20, V3=RESTORE TO V1, V4=MERGE 30 new rows (ids 51-80) tag='merged'.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7206,
      "write_warm_ms": 5902,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3431_restore_cdc_table",
      "num": 3431,
      "name": "restore_cdc_table",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3431_restore_cdc_table.py",
      "read_script": "generator/df-reads-spark/3431_restore_cdc_table.sql",
      "description": "CDC-enabled table. V0=CREATE(empty), V1=INSERT 50 rows val=i*2, V2=UPDATE val=val+100 WHERE id<=20, V3=RESTORE TO V1.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4515,
      "write_warm_ms": 4478,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3432_restore_after_optimize",
      "num": 3432,
      "name": "restore_after_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3432_restore_after_optimize.py",
      "read_script": "generator/df-reads-spark/3432_restore_after_optimize.sql",
      "description": "10 INSERT batches of 10 rows each (V0=empty, V1-V10), V11=OPTIMIZE, V12=RESTORE TO V5. After RESTORE: 50 rows (batches 1-5).",
      "status": "pass",
      "duration_ms": 21,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 21,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8915,
      "write_warm_ms": 8908,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3433_restore_twice",
      "num": 3433,
      "name": "restore_twice",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3433_restore_twice.py",
      "read_script": "generator/df-reads-spark/3433_restore_twice.sql",
      "description": "V0=CREATE(empty), V1=INSERT 50 rows val=i*2, V2=INSERT 50 rows (ids 51-100) val=i*3, V3=INSERT 50 rows (ids 101-150) val=i*4. V4=RESTORE TO V2 (100 rows), V5=RESTORE TO V1 (50 rows).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8749,
      "write_warm_ms": 8484,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3434_time_travel_version_zero",
      "num": 3434,
      "name": "time_travel_version_zero",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3434_time_travel_version_zero.py",
      "read_script": "generator/df-reads-spark/3434_time_travel_version_zero.sql",
      "description": "V0=CREATE(empty), V1=INSERT 50 rows val=i*3.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1477,
      "write_warm_ms": 1154,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3435_restore_identity_hwm",
      "num": 3435,
      "name": "restore_identity_hwm",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3435_restore_identity_hwm.py",
      "read_script": "generator/df-reads-spark/3435_restore_identity_hwm.sql",
      "description": "IDENTITY column high-water mark after RESTORE. Spark OSS does not support IDENTITY columns. Skipped.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "IDENTITY columns not supported in Spark OSS.",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "delta:identity-columns",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3436_restore_colmap_table",
      "num": 3436,
      "name": "restore_colmap_table",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3436_restore_colmap_table.py",
      "read_script": "generator/df-reads-spark/3436_restore_colmap_table.sql",
      "description": "Column-mapped table. V0=CREATE(empty), V1=INSERT 50 rows original='o_N', V2=UPDATE SET original='m_N' WHERE id<=20, V3=RESTORE TO V1.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5485,
      "write_warm_ms": 5105,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3437_restore_dv_table",
      "num": 3437,
      "name": "restore_dv_table",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3437_restore_dv_table.py",
      "read_script": "generator/df-reads-spark/3437_restore_dv_table.sql",
      "description": "DV-enabled table. V0=CREATE(empty), V1=INSERT 50 rows val=i*3, V2=DELETE WHERE id<=20, V3=RESTORE TO V1.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4770,
      "write_warm_ms": 5411,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3438_time_travel_colmap",
      "num": 3438,
      "name": "time_travel_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3438_time_travel_colmap.py",
      "read_script": "generator/df-reads-spark/3438_time_travel_colmap.sql",
      "description": "Column-mapped table. V0=CREATE(empty), V1=INSERT 50 rows name='tt_N', V2=UPDATE name='up_N' for all rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2184,
      "write_warm_ms": 1937,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3439_time_travel_identity",
      "num": 3439,
      "name": "time_travel_identity",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3439_time_travel_identity.py",
      "read_script": "generator/df-reads-spark/3439_time_travel_identity.sql",
      "description": "IDENTITY table with time travel. Spark OSS does not support IDENTITY columns. Skipped.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "IDENTITY columns not supported in Spark OSS.",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "delta:identity-columns",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/343_dv_merge",
      "num": 343,
      "name": "dv_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/343_dv_merge.py",
      "read_script": "generator/df-reads-spark/343_dv_merge.sql",
      "description": "MERGE UPDATE clause creates DVs. 500 rows (initial state, MERGE done by test harness).",
      "status": "pass",
      "duration_ms": 33,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 33,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3440_time_travel_widen",
      "num": 3440,
      "name": "time_travel_widen",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3440_time_travel_widen.py",
      "read_script": "generator/df-reads-spark/3440_time_travel_widen.sql",
      "description": "V1=INSERT 50 rows val=i*4 (INT), V2=ALTER COLUMN val TYPE BIGINT, V3=INSERT 50 rows (ids 51-100) val=(i+50)*4 (BIGINT).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2131,
      "write_warm_ms": 2005,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3441_constraint_multi_col_check",
      "num": 3441,
      "name": "constraint_multi_col_check",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3441_constraint_multi_col_check.py",
      "read_script": "generator/df-reads-spark/3441_constraint_multi_col_check.sql",
      "description": "Multi-column CHECK constraint (end_val > start_val).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1402,
      "write_warm_ms": 1669,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3442_constraint_range_check",
      "num": 3442,
      "name": "constraint_range_check",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3442_constraint_range_check.py",
      "read_script": "generator/df-reads-spark/3442_constraint_range_check.sql",
      "description": "Range CHECK constraint (val BETWEEN 1 AND 1000).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1534,
      "write_warm_ms": 1684,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3443_constraint_string_length",
      "num": 3443,
      "name": "constraint_string_length",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3443_constraint_string_length.py",
      "read_script": "generator/df-reads-spark/3443_constraint_string_length.sql",
      "description": "CHECK on string length (LENGTH(code) = 3).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1841,
      "write_warm_ms": 1846,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3444_constraint_not_null_plus_check",
      "num": 3444,
      "name": "constraint_not_null_plus_check",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3444_constraint_not_null_plus_check.py",
      "read_script": "generator/df-reads-spark/3444_constraint_not_null_plus_check.sql",
      "description": "NOT NULL + CHECK(val > 0) on same column.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1641,
      "write_warm_ms": 1664,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3445_constraint_after_merge",
      "num": 3445,
      "name": "constraint_after_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3445_constraint_after_merge.py",
      "read_script": "generator/df-reads-spark/3445_constraint_after_merge.sql",
      "description": "Constraint through MERGE. CHECK(val>0), MERGE updates ids 1-20 and inserts 51-70.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3977,
      "write_warm_ms": 3729,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3446_constraint_after_update",
      "num": 3446,
      "name": "constraint_after_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3446_constraint_after_update.py",
      "read_script": "generator/df-reads-spark/3446_constraint_after_update.sql",
      "description": "Constraint through UPDATE. CHECK(val>0), UPDATE adds 100.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2484,
      "write_warm_ms": 3041,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3447_constraint_two_checks",
      "num": 3447,
      "name": "constraint_two_checks",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3447_constraint_two_checks.py",
      "read_script": "generator/df-reads-spark/3447_constraint_two_checks.sql",
      "description": "Two CHECK constraints on different columns.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1956,
      "write_warm_ms": 1812,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3448_default_int_value",
      "num": 3448,
      "name": "default_int_value",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3448_default_int_value.py",
      "read_script": "generator/df-reads-spark/3448_default_int_value.sql",
      "description": "INT column DEFAULT value (priority=5).",
      "status": "pass",
      "duration_ms": 39,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 39,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 34926,
      "write_warm_ms": 34977,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3449_default_boolean_value",
      "num": 3449,
      "name": "default_boolean_value",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3449_default_boolean_value.py",
      "read_script": "generator/df-reads-spark/3449_default_boolean_value.sql",
      "description": "BOOLEAN column DEFAULT true.",
      "status": "pass",
      "duration_ms": 38,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 38,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 33261,
      "write_warm_ms": 35735,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "delta:default-values",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/344_dv_large_scale",
      "num": 344,
      "name": "dv_large_scale",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/344_dv_large_scale.py",
      "read_script": "generator/df-reads-spark/344_dv_large_scale.sql",
      "description": "DVs with high delete ratio. 100,000 rows in 10 batches (10,000 each). DELETE done by test harness (id<=90000).",
      "status": "pass",
      "duration_ms": 184,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 184,
      "read_warm_ms": 76,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3450_default_timestamp_value",
      "num": 3450,
      "name": "default_timestamp_value",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3450_default_timestamp_value.py",
      "read_script": "generator/df-reads-spark/3450_default_timestamp_value.sql",
      "description": "Timestamp column with explicit deterministic values.",
      "status": "pass",
      "duration_ms": 38,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 38,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 31769,
      "write_warm_ms": 29806,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3451_default_null_explicit",
      "num": 3451,
      "name": "default_null_explicit",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3451_default_null_explicit.py",
      "read_script": "generator/df-reads-spark/3451_default_null_explicit.sql",
      "description": "DEFAULT NULL column. tag column defaults to NULL.",
      "status": "pass",
      "duration_ms": 64,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 64,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 35076,
      "write_warm_ms": 32329,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3452_default_after_evolve",
      "num": 3452,
      "name": "default_after_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3452_default_after_evolve.py",
      "read_script": "generator/df-reads-spark/3452_default_after_evolve.sql",
      "description": "ADD COLUMN with DEFAULT. First 50 rows get NULL for status,",
      "status": "pass",
      "duration_ms": 46,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 46,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 31038,
      "write_warm_ms": 31220,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:default-values",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3453_default_with_merge",
      "num": 3453,
      "name": "default_with_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3453_default_with_merge.py",
      "read_script": "generator/df-reads-spark/3453_default_with_merge.sql",
      "description": "MERGE INSERT uses DEFAULT column value.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2368,
      "write_warm_ms": 2412,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:default-values",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3454_default_multiple_cols",
      "num": 3454,
      "name": "default_multiple_cols",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3454_default_multiple_cols.py",
      "read_script": "generator/df-reads-spark/3454_default_multiple_cols.sql",
      "description": "3 columns with DEFAULT values.",
      "status": "pass",
      "duration_ms": 46,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 46,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 36440,
      "write_warm_ms": 35044,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3455_not_null_merge",
      "num": 3455,
      "name": "not_null_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3455_not_null_merge.py",
      "read_script": "generator/df-reads-spark/3455_not_null_merge.sql",
      "description": "NOT NULL through MERGE.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1400,
      "write_warm_ms": 1458,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3456_not_null_evolve",
      "num": 3456,
      "name": "not_null_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3456_not_null_evolve.py",
      "read_script": "generator/df-reads-spark/3456_not_null_evolve.sql",
      "description": "ALTER TABLE SET NOT NULL after creation.",
      "status": "pass",
      "duration_ms": 0,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 0,
      "read_warm_ms": 0,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "delta:constraints",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3457_constraint_cdc_violation_log",
      "num": 3457,
      "name": "constraint_cdc_violation_log",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3457_constraint_cdc_violation_log.py",
      "read_script": "generator/df-reads-spark/3457_constraint_cdc_violation_log.sql",
      "description": "CHECK + CDC. Constraint with CDC-enabled table, then UPDATE.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2381,
      "write_warm_ms": 2944,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3458_constraint_partition_cross",
      "num": 3458,
      "name": "constraint_partition_cross",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3458_constraint_partition_cross.py",
      "read_script": "generator/df-reads-spark/3458_constraint_partition_cross.sql",
      "description": "CHECK constraint on partitioned table.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1540,
      "write_warm_ms": 1353,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3459_default_cdc_record",
      "num": 3459,
      "name": "default_cdc_record",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3459_default_cdc_record.py",
      "read_script": "generator/df-reads-spark/3459_default_cdc_record.sql",
      "description": "DEFAULT + CDC. status='new' via default, CDF insert records.",
      "status": "pass",
      "duration_ms": 45,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 45,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 40483,
      "write_warm_ms": 36088,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:default-values",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/345_dv_inline_vs_file",
      "num": 345,
      "name": "dv_inline_vs_file",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/345_dv_inline_vs_file.py",
      "read_script": "generator/df-reads-spark/345_dv_inline_vs_file.sql",
      "description": "Small DV stored inline, large DV in file. DELETE done by test harness.",
      "status": "pass",
      "duration_ms": 37,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 37,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3460_constraint_evolve_add_check",
      "num": 3460,
      "name": "constraint_evolve_add_check",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3460_constraint_evolve_add_check.py",
      "read_script": "generator/df-reads-spark/3460_constraint_evolve_add_check.sql",
      "description": "ADD CHECK to existing populated table, then insert more rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1842,
      "write_warm_ms": 1766,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3461_clustering_basic_liquid",
      "num": 3461,
      "name": "clustering_basic_liquid",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3461_clustering_basic_liquid.py",
      "read_script": "generator/df-reads-spark/3461_clustering_basic_liquid.sql",
      "description": "Liquid clustering via CLUSTER BY (region, bucket).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1729,
      "write_warm_ms": 2113,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:liquid-clustering",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3462_domain_metadata_row_tracking",
      "num": 3462,
      "name": "domain_metadata_row_tracking",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3462_domain_metadata_row_tracking.py",
      "read_script": "generator/df-reads-spark/3462_domain_metadata_row_tracking.sql",
      "description": "Row tracking domain metadata + update + delete + optimize.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4439,
      "write_warm_ms": 3941,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3463_clustering_with_cdc",
      "num": 3463,
      "name": "clustering_with_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3463_clustering_with_cdc.py",
      "read_script": "generator/df-reads-spark/3463_clustering_with_cdc.sql",
      "description": "Liquid clustering + Change Data Feed.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2332,
      "write_warm_ms": 2258,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:liquid-clustering",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3464_clustering_with_dv",
      "num": 3464,
      "name": "clustering_with_dv",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3464_clustering_with_dv.py",
      "read_script": "generator/df-reads-spark/3464_clustering_with_dv.sql",
      "description": "Liquid clustering + deletion vectors.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2228,
      "write_warm_ms": 2164,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:liquid-clustering",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3465_clustering_with_merge",
      "num": 3465,
      "name": "clustering_with_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3465_clustering_with_merge.py",
      "read_script": "generator/df-reads-spark/3465_clustering_with_merge.sql",
      "description": "Liquid clustering + MERGE (update 30, insert 20).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2920,
      "write_warm_ms": 3006,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:liquid-clustering",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3466_clustering_with_evolve",
      "num": 3466,
      "name": "clustering_with_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3466_clustering_with_evolve.py",
      "read_script": "generator/df-reads-spark/3466_clustering_with_evolve.sql",
      "description": "Liquid clustering + ALTER ADD COLUMN.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2507,
      "write_warm_ms": 2505,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:liquid-clustering",
        "delta:optimize",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3467_clustering_with_colmap",
      "num": 3467,
      "name": "clustering_with_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3467_clustering_with_colmap.py",
      "read_script": "generator/df-reads-spark/3467_clustering_with_colmap.sql",
      "description": "Liquid clustering + column mapping (name mode).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 715,
      "write_warm_ms": 728,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:liquid-clustering",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3468_clustering_with_identity",
      "num": 3468,
      "name": "clustering_with_identity",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3468_clustering_with_identity.py",
      "read_script": "generator/df-reads-spark/3468_clustering_with_identity.sql",
      "description": "Liquid clustering + IDENTITY column.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 0,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "delta:liquid-clustering",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3469_clustering_with_checkpoint",
      "num": 3469,
      "name": "clustering_with_checkpoint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3469_clustering_with_checkpoint.py",
      "read_script": "generator/df-reads-spark/3469_clustering_with_checkpoint.sql",
      "description": "Liquid clustering + multiple commits to trigger checkpoint.",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 7129,
      "write_warm_ms": 6807,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:liquid-clustering",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/346_dv_uuid_path",
      "num": 346,
      "name": "dv_uuid_path",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/346_dv_uuid_path.py",
      "read_script": "generator/df-reads-spark/346_dv_uuid_path.sql",
      "description": "DV file naming and referencing. 1000 rows.",
      "status": "pass",
      "duration_ms": 30,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 30,
      "read_warm_ms": 10,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3470_clustering_with_restore",
      "num": 3470,
      "name": "clustering_with_restore",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3470_clustering_with_restore.py",
      "read_script": "generator/df-reads-spark/3470_clustering_with_restore.sql",
      "description": "Liquid clustering + RESTORE to version after first insert.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4090,
      "write_warm_ms": 4284,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:liquid-clustering",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3471_clustering_with_vacuum",
      "num": 3471,
      "name": "clustering_with_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3471_clustering_with_vacuum.py",
      "read_script": "generator/df-reads-spark/3471_clustering_with_vacuum.sql",
      "description": "Liquid clustering + VACUUM 0 hours.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 12262,
      "write_warm_ms": 13831,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:liquid-clustering",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3472_clustering_with_time_travel",
      "num": 3472,
      "name": "clustering_with_time_travel",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3472_clustering_with_time_travel.py",
      "read_script": "generator/df-reads-spark/3472_clustering_with_time_travel.sql",
      "description": "Liquid clustering + two inserts for time travel read.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1369,
      "write_warm_ms": 2210,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:liquid-clustering",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3473_clustering_multi_col",
      "num": 3473,
      "name": "clustering_multi_col",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3473_clustering_multi_col.py",
      "read_script": "generator/df-reads-spark/3473_clustering_multi_col.sql",
      "description": "Multi-column CLUSTER BY (region, bucket).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 700,
      "write_warm_ms": 1459,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:liquid-clustering",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3474_clustering_string_key",
      "num": 3474,
      "name": "clustering_string_key",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3474_clustering_string_key.py",
      "read_script": "generator/df-reads-spark/3474_clustering_string_key.sql",
      "description": "CLUSTER BY on a STRING key.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 761,
      "write_warm_ms": 1002,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:liquid-clustering",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3475_clustering_int_key",
      "num": 3475,
      "name": "clustering_int_key",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3475_clustering_int_key.py",
      "read_script": "generator/df-reads-spark/3475_clustering_int_key.sql",
      "description": "CLUSTER BY on a bucket INT key.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1170,
      "write_warm_ms": 801,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:liquid-clustering",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3476_clustering_after_optimize",
      "num": 3476,
      "name": "clustering_after_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3476_clustering_after_optimize.py",
      "read_script": "generator/df-reads-spark/3476_clustering_after_optimize.sql",
      "description": "Liquid clustering + insert + OPTIMIZE + insert + OPTIMIZE.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 5021,
      "write_warm_ms": 4351,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:liquid-clustering",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3477_clustering_with_constraint",
      "num": 3477,
      "name": "clustering_with_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3477_clustering_with_constraint.py",
      "read_script": "generator/df-reads-spark/3477_clustering_with_constraint.sql",
      "description": "Liquid clustering + CHECK constraint (val > 0).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1828,
      "write_warm_ms": 2492,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:liquid-clustering",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3478_clustering_decimal_key",
      "num": 3478,
      "name": "clustering_decimal_key",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3478_clustering_decimal_key.py",
      "read_script": "generator/df-reads-spark/3478_clustering_decimal_key.sql",
      "description": "CLUSTER BY on a DECIMAL column.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 806,
      "write_warm_ms": 1279,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:liquid-clustering",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3479_clustering_date_key",
      "num": 3479,
      "name": "clustering_date_key",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3479_clustering_date_key.py",
      "read_script": "generator/df-reads-spark/3479_clustering_date_key.sql",
      "description": "CLUSTER BY on a DATE column.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 653,
      "write_warm_ms": 1026,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:liquid-clustering",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/347_dv_statistics",
      "num": 347,
      "name": "dv_statistics",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/347_dv_statistics.py",
      "read_script": "generator/df-reads-spark/347_dv_statistics.sql",
      "description": "Statistics reflect DV-filtered rows. 1000 rows.",
      "status": "pass",
      "duration_ms": 25,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 25,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "storage:statistics",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3480_clustering_after_update",
      "num": 3480,
      "name": "clustering_after_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3480_clustering_after_update.py",
      "read_script": "generator/df-reads-spark/3480_clustering_after_update.sql",
      "description": "Liquid clustering + UPDATE shifts clustering keys.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1774,
      "write_warm_ms": 2365,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:liquid-clustering",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3481_clustering_after_delete",
      "num": 3481,
      "name": "clustering_after_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3481_clustering_after_delete.py",
      "read_script": "generator/df-reads-spark/3481_clustering_after_delete.sql",
      "description": "Liquid clustering + DELETE tail rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1360,
      "write_warm_ms": 1282,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:liquid-clustering",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3482_clustering_insert_only_many",
      "num": 3482,
      "name": "clustering_insert_only_many",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3482_clustering_insert_only_many.py",
      "read_script": "generator/df-reads-spark/3482_clustering_insert_only_many.sql",
      "description": "Liquid clustering + 10 inserts of 50 rows each.",
      "status": "pass",
      "duration_ms": 24,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 24,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4727,
      "write_warm_ms": 4445,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:liquid-clustering",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3483_rowtrack_basic_insert",
      "num": 3483,
      "name": "rowtrack_basic_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3483_rowtrack_basic_insert.py",
      "read_script": "generator/df-reads-spark/3483_rowtrack_basic_insert.sql",
      "description": "Row tracking basic insert. 200 rows with row tracking enabled.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 519,
      "write_warm_ms": 594,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3484_rowtrack_update_stable",
      "num": 3484,
      "name": "rowtrack_update_stable",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3484_rowtrack_update_stable.py",
      "read_script": "generator/df-reads-spark/3484_rowtrack_update_stable.sql",
      "description": "Row tracking stable across UPDATE. 100 rows inserted, then UPDATE first 30 rows tag='upd'.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1595,
      "write_warm_ms": 1779,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3485_rowtrack_delete_insert",
      "num": 3485,
      "name": "rowtrack_delete_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3485_rowtrack_delete_insert.py",
      "read_script": "generator/df-reads-spark/3485_rowtrack_delete_insert.sql",
      "description": "Row tracking + delete + re-insert. 100 rows inserted, DELETE id>80, INSERT ids 101-130.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2135,
      "write_warm_ms": 2128,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3486_rowtrack_optimize_stable",
      "num": 3486,
      "name": "rowtrack_optimize_stable",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3486_rowtrack_optimize_stable.py",
      "read_script": "generator/df-reads-spark/3486_rowtrack_optimize_stable.sql",
      "description": "Row tracking stable across OPTIMIZE. 5 batches of 20 rows each, then OPTIMIZE.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4083,
      "write_warm_ms": 4261,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3487_rowtrack_partition_distribute",
      "num": 3487,
      "name": "rowtrack_partition_distribute",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3487_rowtrack_partition_distribute.py",
      "read_script": "generator/df-reads-spark/3487_rowtrack_partition_distribute.sql",
      "description": "Row tracking + partitioned table. 200 rows across 4 regions.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 679,
      "write_warm_ms": 583,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3488_rowtrack_checkpoint_survive",
      "num": 3488,
      "name": "rowtrack_checkpoint_survive",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3488_rowtrack_checkpoint_survive.py",
      "read_script": "generator/df-reads-spark/3488_rowtrack_checkpoint_survive.sql",
      "description": "Row tracking across many commits with checkpoint interval of 10. 12 batches of 5 rows each = 60 rows total. Checkpoint triggers at commit 10.",
      "status": "pass",
      "duration_ms": 26,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 26,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 8440,
      "write_warm_ms": 8274,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3489_rowtrack_restore_stable",
      "num": 3489,
      "name": "rowtrack_restore_stable",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3489_rowtrack_restore_stable.py",
      "read_script": "generator/df-reads-spark/3489_rowtrack_restore_stable.sql",
      "description": "Row tracking + RESTORE to version 1. V0: empty, V1: INSERT 100 rows,",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 4570,
      "write_warm_ms": 4853,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/348_dv_comprehensive",
      "num": 348,
      "name": "dv_comprehensive",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/348_dv_comprehensive.py",
      "read_script": "generator/df-reads-spark/348_dv_comprehensive.sql",
      "description": "Full DV operation roundtrip. 2500 rows in 5 batches of 500. DELETE/UPDATE/OPTIMIZE done by test harness.",
      "status": "pass",
      "duration_ms": 113,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 113,
      "read_warm_ms": 39,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3490_rowtrack_vacuum_safe",
      "num": 3490,
      "name": "rowtrack_vacuum_safe",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3490_rowtrack_vacuum_safe.py",
      "read_script": "generator/df-reads-spark/3490_rowtrack_vacuum_safe.sql",
      "description": "Row tracking + VACUUM 0 hours. INSERT 100, DELETE id>70, VACUUM RETAIN 0 HOURS.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 11263,
      "write_warm_ms": 12188,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3491_rowtrack_time_travel",
      "num": 3491,
      "name": "rowtrack_time_travel",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3491_rowtrack_time_travel.py",
      "read_script": "generator/df-reads-spark/3491_rowtrack_time_travel.sql",
      "description": "Row tracking + time travel. V0: empty, V1: INSERT 100 rows, V2: INSERT 100 more.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2686,
      "write_warm_ms": 2091,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3492_rowtrack_three_dml_chain",
      "num": 3492,
      "name": "rowtrack_three_dml_chain",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3492_rowtrack_three_dml_chain.py",
      "read_script": "generator/df-reads-spark/3492_rowtrack_three_dml_chain.sql",
      "description": "Row tracking across INSERT + UPDATE + DELETE + INSERT chain.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 3698,
      "write_warm_ms": 3210,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3493_rowtrack_merge_insert_only",
      "num": 3493,
      "name": "rowtrack_merge_insert_only",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3493_rowtrack_merge_insert_only.py",
      "read_script": "generator/df-reads-spark/3493_rowtrack_merge_insert_only.sql",
      "description": "Row tracking + MERGE WHEN NOT MATCHED INSERT. 50 rows initial, MERGE inserts ids 51-80.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2123,
      "write_warm_ms": 2168,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3494_rowtrack_merge_update_only",
      "num": 3494,
      "name": "rowtrack_merge_update_only",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3494_rowtrack_merge_update_only.py",
      "read_script": "generator/df-reads-spark/3494_rowtrack_merge_update_only.sql",
      "description": "Row tracking + MERGE WHEN MATCHED UPDATE only. 50 rows initial tag='init', MERGE updates ids 1-20 to tag='upd'.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1844,
      "write_warm_ms": 1666,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3495_rowtrack_merge_delete_only",
      "num": 3495,
      "name": "rowtrack_merge_delete_only",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3495_rowtrack_merge_delete_only.py",
      "read_script": "generator/df-reads-spark/3495_rowtrack_merge_delete_only.sql",
      "description": "Row tracking + MERGE WHEN MATCHED DELETE only. 50 rows initial, MERGE deletes ids 1-20.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 2549,
      "write_warm_ms": 1931,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3496_rowtrack_merge_three_clause",
      "num": 3496,
      "name": "rowtrack_merge_three_clause",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3496_rowtrack_merge_three_clause.py",
      "read_script": "generator/df-reads-spark/3496_rowtrack_merge_three_clause.sql",
      "description": "Row tracking + MERGE with UPDATE + DELETE + INSERT clauses. val = i * 2",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 1861,
      "write_warm_ms": 1998,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3497_rowtrack_wide_table",
      "num": 3497,
      "name": "rowtrack_wide_table",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3497_rowtrack_wide_table.py",
      "read_script": "generator/df-reads-spark/3497_rowtrack_wide_table.sql",
      "description": "Row tracking + 10-column table. 200 rows. c1 = i*1, c2 = i*2, c3 = i*3, c4 = i*4, c5 = i*5, c6 = i*6, c7 = i*7, c8 = i*8, c9 = i*9",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 524,
      "write_warm_ms": 618,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3498_rowtrack_null_values",
      "num": 3498,
      "name": "rowtrack_null_values",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3498_rowtrack_null_values.py",
      "read_script": "generator/df-reads-spark/3498_rowtrack_null_values.sql",
      "description": "Row tracking + NULL values in columns. 100 rows. val is NULL for even ids, tag is NULL for ids divisible by 3.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 674,
      "write_warm_ms": 639,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3499_rowtrack_large_insert",
      "num": 3499,
      "name": "rowtrack_large_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3499_rowtrack_large_insert.py",
      "read_script": "generator/df-reads-spark/3499_rowtrack_large_insert.sql",
      "description": "Row tracking + large insert (1000 rows). val = i * 2",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 669,
      "write_warm_ms": 748,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/349_time_travel_version",
      "num": 349,
      "name": "time_travel_version",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/349_time_travel_version.py",
      "read_script": "generator/df-reads-spark/349_time_travel_version.sql",
      "description": "Read table at specific version (VERSION AS OF). 11 rows (v=0..10).",
      "status": "pass",
      "duration_ms": 27,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 27,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/34_dv_storage_absolute_path",
      "num": 34,
      "name": "dv_storage_absolute_path",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/34_dv_storage_absolute_path.py",
      "read_script": "generator/df-reads-spark/34_dv_storage_absolute_path.sql",
      "description": "Supply Chain Logistics Tracking with Absolute Path DV Storage. 7000 initial + 200 new shipments, then multiple DELETE/UPDATE operations.",
      "status": "pass",
      "duration_ms": 22,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 22,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 5490,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3500_rowtrack_many_versions",
      "num": 3500,
      "name": "rowtrack_many_versions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3500_rowtrack_many_versions.py",
      "read_script": "generator/df-reads-spark/3500_rowtrack_many_versions.sql",
      "description": "Row tracking across 20 insert commits (5 rows each). Tests row tracking stability across many small versions.",
      "status": "pass",
      "duration_ms": 36,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 36,
      "read_warm_ms": 5,
      "write_cold_ms": 19185,
      "write_warm_ms": 19944,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3501_constraint_cdc_update_int",
      "num": 3501,
      "name": "constraint_cdc_update_int",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3501_constraint_cdc_update_int.py",
      "read_script": "generator/df-reads-spark/3501_constraint_cdc_update_int.sql",
      "description": "CHECK(score>=0) with CDC enabled. INSERT 100 rows, then UPDATE 30 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 2437,
      "write_warm_ms": 2108,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:change-data-feed",
        "delta:constraints",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3502_constraint_cdc_update_decimal",
      "num": 3502,
      "name": "constraint_cdc_update_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3502_constraint_cdc_update_decimal.py",
      "read_script": "generator/df-reads-spark/3502_constraint_cdc_update_decimal.sql",
      "description": "CHECK(amount>0) with CDC. INSERT 100, UPDATE 25 rows adding 100.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "write_cold_ms": 2048,
      "write_warm_ms": 2458,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:change-data-feed",
        "delta:constraints",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3503_constraint_cdc_delete_then_insert",
      "num": 3503,
      "name": "constraint_cdc_delete_then_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3503_constraint_cdc_delete_then_insert.py",
      "read_script": "generator/df-reads-spark/3503_constraint_cdc_delete_then_insert.sql",
      "description": "CHECK(val>0) + CDC. INSERT 100, DELETE WHERE id<=50, INSERT 50 new (id 101-150).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "write_cold_ms": 4256,
      "write_warm_ms": 2980,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3504_constraint_cdc_merge_upsert",
      "num": 3504,
      "name": "constraint_cdc_merge_upsert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3504_constraint_cdc_merge_upsert.py",
      "read_script": "generator/df-reads-spark/3504_constraint_cdc_merge_upsert.sql",
      "description": "CHECK(qty>=0) + CDC. INSERT 50, MERGE source 75 rows (25 update existing id 1-25, 50 new id 51-100).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 2386,
      "write_warm_ms": 2509,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:constraints",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3505_constraint_cdc_evolve_add_col",
      "num": 3505,
      "name": "constraint_cdc_evolve_add_col",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3505_constraint_cdc_evolve_add_col.py",
      "read_script": "generator/df-reads-spark/3505_constraint_cdc_evolve_add_col.sql",
      "description": "CHECK(val>0) + CDC. INSERT 50, ADD COLUMN new_col STRING, INSERT 50 new (id 51-100).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "write_cold_ms": 2391,
      "write_warm_ms": 2861,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3506_constraint_colmap_update",
      "num": 3506,
      "name": "constraint_colmap_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3506_constraint_colmap_update.py",
      "read_script": "generator/df-reads-spark/3506_constraint_colmap_update.sql",
      "description": "CHECK(score>=0) + colmap=name. INSERT 100, UPDATE 30 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 2487,
      "write_warm_ms": 2168,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:constraints",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3507_constraint_identity_insert",
      "num": 3507,
      "name": "constraint_identity_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3507_constraint_identity_insert.py",
      "read_script": "generator/df-reads-spark/3507_constraint_identity_insert.sql",
      "description": "IDENTITY(BY DEFAULT) simulated + CHECK(val>0). INSERT 100.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 1872,
      "write_warm_ms": 1462,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3508_constraint_widen_after_check",
      "num": 3508,
      "name": "constraint_widen_after_check",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3508_constraint_widen_after_check.py",
      "read_script": "generator/df-reads-spark/3508_constraint_widen_after_check.sql",
      "description": "CHECK(val<1000) + INT val. INSERT 50, then widen val to BIGINT.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 2096,
      "write_warm_ms": 1825,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:constraints",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3509_constraint_ict_merge",
      "num": 3509,
      "name": "constraint_ict_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3509_constraint_ict_merge.py",
      "read_script": "generator/df-reads-spark/3509_constraint_ict_merge.sql",
      "description": "CHECK(score>=0) + ICT. INSERT 50, MERGE 25 new rows (id 51-75).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 2471,
      "write_warm_ms": 2108,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/350_time_travel_timestamp",
      "num": 350,
      "name": "time_travel_timestamp",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/350_time_travel_timestamp.py",
      "read_script": "generator/df-reads-spark/350_time_travel_timestamp.sql",
      "description": "Read table at specific timestamp (TIMESTAMP AS OF). 6 rows (v=0..5). Each row inserted separately to create distinct versions.",
      "status": "pass",
      "duration_ms": 49,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 49,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:time-travel",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3510_constraint_rowtrack_update",
      "num": 3510,
      "name": "constraint_rowtrack_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3510_constraint_rowtrack_update.py",
      "read_script": "generator/df-reads-spark/3510_constraint_rowtrack_update.sql",
      "description": "CHECK(val>0) + rowTracking. INSERT 100, UPDATE 25 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 2601,
      "write_warm_ms": 2324,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3511_constraint_gencol_check_derived",
      "num": 3511,
      "name": "constraint_gencol_check_derived",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3511_constraint_gencol_check_derived.py",
      "read_script": "generator/df-reads-spark/3511_constraint_gencol_check_derived.sql",
      "description": "gen_col=val*2 (computed in data), CHECK(val<500). INSERT 100.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 2664,
      "write_warm_ms": 1415,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3512_constraint_partition_check",
      "num": 3512,
      "name": "constraint_partition_check",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3512_constraint_partition_check.py",
      "read_script": "generator/df-reads-spark/3512_constraint_partition_check.sql",
      "description": "PARTITIONED BY(region) + CHECK(val>0). INSERT 100.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 12,
      "read_warm_ms": 3,
      "write_cold_ms": 1602,
      "write_warm_ms": 1759,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3513_constraint_default_check",
      "num": 3513,
      "name": "constraint_default_check",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3513_constraint_default_check.py",
      "read_script": "generator/df-reads-spark/3513_constraint_default_check.sql",
      "description": "DEFAULT 50 for val + CHECK(val>=0). INSERT 50 rows (all val=50 explicit).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 1498,
      "write_warm_ms": 1445,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3514_widen_delete_int_to_long",
      "num": 3514,
      "name": "widen_delete_int_to_long",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3514_widen_delete_int_to_long.py",
      "read_script": "generator/df-reads-spark/3514_widen_delete_int_to_long.sql",
      "description": "INT val + INSERT 100 + widen to BIGINT + DELETE WHERE id<=30.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 1975,
      "write_warm_ms": 1979,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3515_widen_delete_float_to_double",
      "num": 3515,
      "name": "widen_delete_float_to_double",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3515_widen_delete_float_to_double.py",
      "read_script": "generator/df-reads-spark/3515_widen_delete_float_to_double.sql",
      "description": "FLOAT val + INSERT 100 + widen to DOUBLE + DELETE WHERE id<=50.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "write_cold_ms": 1961,
      "write_warm_ms": 2203,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3516_widen_delete_decimal_scale",
      "num": 3516,
      "name": "widen_delete_decimal_scale",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3516_widen_delete_decimal_scale.py",
      "read_script": "generator/df-reads-spark/3516_widen_delete_decimal_scale.sql",
      "description": "DECIMAL(10,2) + INSERT 100 + widen to DECIMAL(18,4) + DELETE WHERE id<=40.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 3166,
      "write_warm_ms": 2004,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3517_widen_delete_then_reinsert",
      "num": 3517,
      "name": "widen_delete_then_reinsert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3517_widen_delete_then_reinsert.py",
      "read_script": "generator/df-reads-spark/3517_widen_delete_then_reinsert.sql",
      "description": "INT + INSERT 50 + widen BIGINT + DELETE all + INSERT 50 (id 1-50, val=3000000000+i).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 2482,
      "write_warm_ms": 2808,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3518_widen_delete_multi_col",
      "num": 3518,
      "name": "widen_delete_multi_col",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3518_widen_delete_multi_col.py",
      "read_script": "generator/df-reads-spark/3518_widen_delete_multi_col.sql",
      "description": "3 cols INT/FLOAT/DECIMAL + INSERT 100 + widen all + DELETE 20.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 1869,
      "write_warm_ms": 2649,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3519_zorder_merge_basic",
      "num": 3519,
      "name": "zorder_merge_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3519_zorder_merge_basic.py",
      "read_script": "generator/df-reads-spark/3519_zorder_merge_basic.sql",
      "description": "INSERT 200 + ZORDER BY(val) + MERGE 50 (25 update id 1-25, 25 new id 201-225).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 3001,
      "write_warm_ms": 2928,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/351_time_travel_first",
      "num": 351,
      "name": "time_travel_first",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/351_time_travel_first.py",
      "read_script": "generator/df-reads-spark/351_time_travel_first.sql",
      "description": "Access version 0 (initial create state). 21 rows total.",
      "status": "pass",
      "duration_ms": 24,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 24,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3520_zorder_merge_multi_col",
      "num": 3520,
      "name": "zorder_merge_multi_col",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3520_zorder_merge_multi_col.py",
      "read_script": "generator/df-reads-spark/3520_zorder_merge_multi_col.sql",
      "description": "INSERT 200 + ZORDER BY(a,b) + MERGE 100 (50 update id 1-50, 50 new id 201-250).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 4224,
      "write_warm_ms": 2456,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3521_zorder_merge_then_zorder",
      "num": 3521,
      "name": "zorder_merge_then_zorder",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3521_zorder_merge_then_zorder.py",
      "read_script": "generator/df-reads-spark/3521_zorder_merge_then_zorder.sql",
      "description": "INSERT 100 + MERGE 50 (25 update, 25 new id 101-125) + ZORDER + MERGE 25 new (id 126-150).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 2965,
      "write_warm_ms": 3162,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3522_zorder_merge_cdc",
      "num": 3522,
      "name": "zorder_merge_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3522_zorder_merge_cdc.py",
      "read_script": "generator/df-reads-spark/3522_zorder_merge_cdc.sql",
      "description": "CDC + INSERT 100 + ZORDER BY(val) + MERGE 50 (25 update id 1-25, 25 new id 101-125).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 2434,
      "write_warm_ms": 3000,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3523_zorder_merge_partition",
      "num": 3523,
      "name": "zorder_merge_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3523_zorder_merge_partition.py",
      "read_script": "generator/df-reads-spark/3523_zorder_merge_partition.sql",
      "description": "PARTITIONED BY(region) + INSERT 200 + ZORDER BY(val) + MERGE 50 new (id 201-250).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "write_cold_ms": 2515,
      "write_warm_ms": 2359,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:optimize",
        "delta:partitioning",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3524_zorder_delete_reorder",
      "num": 3524,
      "name": "zorder_delete_reorder",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3524_zorder_delete_reorder.py",
      "read_script": "generator/df-reads-spark/3524_zorder_delete_reorder.sql",
      "description": "INSERT 200 + DELETE WHERE id<=150 + ZORDER BY(val).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 2177,
      "write_warm_ms": 2104,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "schema:reorder",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3525_rowtrack_delete_selective",
      "num": 3525,
      "name": "rowtrack_delete_selective",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3525_rowtrack_delete_selective.py",
      "read_script": "generator/df-reads-spark/3525_rowtrack_delete_selective.sql",
      "description": "rowTracking + INSERT 100 + DELETE WHERE id%3=0.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 1476,
      "write_warm_ms": 1536,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3526_rowtrack_delete_all_reinsert",
      "num": 3526,
      "name": "rowtrack_delete_all_reinsert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3526_rowtrack_delete_all_reinsert.py",
      "read_script": "generator/df-reads-spark/3526_rowtrack_delete_all_reinsert.sql",
      "description": "rowTracking + INSERT 50 + DELETE all + INSERT 50 new (id 1-50, val=i*20).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 2945,
      "write_warm_ms": 2743,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3527_rowtrack_delete_then_merge",
      "num": 3527,
      "name": "rowtrack_delete_then_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3527_rowtrack_delete_then_merge.py",
      "read_script": "generator/df-reads-spark/3527_rowtrack_delete_then_merge.sql",
      "description": "rowTracking + INSERT 100 + DELETE WHERE id<=30 + MERGE 40 (20 update id 31-50, 20 new id 101-120).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "write_cold_ms": 3127,
      "write_warm_ms": 3122,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3528_rowtrack_vacuum_basic",
      "num": 3528,
      "name": "rowtrack_vacuum_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3528_rowtrack_vacuum_basic.py",
      "read_script": "generator/df-reads-spark/3528_rowtrack_vacuum_basic.sql",
      "description": "rowTracking + INSERT 100 + UPDATE SET val=val+1 WHERE id<=50 + VACUUM RETAIN 0.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "write_cold_ms": 11523,
      "write_warm_ms": 11790,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:row-tracking",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3529_rowtrack_vacuum_after_delete",
      "num": 3529,
      "name": "rowtrack_vacuum_after_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3529_rowtrack_vacuum_after_delete.py",
      "read_script": "generator/df-reads-spark/3529_rowtrack_vacuum_after_delete.sql",
      "description": "rowTracking + INSERT 100 + DELETE WHERE id<=50 + VACUUM RETAIN 0.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 12468,
      "write_warm_ms": 12506,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:row-tracking",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/352_time_travel_latest",
      "num": 352,
      "name": "time_travel_latest",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/352_time_travel_latest.py",
      "read_script": "generator/df-reads-spark/352_time_travel_latest.sql",
      "description": "Verify latest version resolution (no time travel). 7 rows (v=0..6).",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3530_gencol_merge_upsert",
      "num": 3530,
      "name": "gencol_merge_upsert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3530_gencol_merge_upsert.py",
      "read_script": "generator/df-reads-spark/3530_gencol_merge_upsert.sql",
      "description": "gen_col=val*10 as regular column. INSERT 50 + MERGE 75 (25 update id 1-25, 50 new id 51-100).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 2686,
      "write_warm_ms": 1871,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3531_gencol_merge_delete_clause",
      "num": 3531,
      "name": "gencol_merge_delete_clause",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3531_gencol_merge_delete_clause.py",
      "read_script": "generator/df-reads-spark/3531_gencol_merge_delete_clause.sql",
      "description": "gen=val+100. INSERT 100 + MERGE (update 30 id 1-30, delete 20 id 31-50, insert 10 id 101-110).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 2105,
      "write_warm_ms": 1531,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3532_gencol_delete_all_types",
      "num": 3532,
      "name": "gencol_delete_all_types",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3532_gencol_delete_all_types.py",
      "read_script": "generator/df-reads-spark/3532_gencol_delete_all_types.sql",
      "description": "3 computed cols + INSERT 100 + DELETE 40 (id <= 40).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 1556,
      "write_warm_ms": 1289,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3533_gencol_update_cascade",
      "num": 3533,
      "name": "gencol_update_cascade",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3533_gencol_update_cascade.py",
      "read_script": "generator/df-reads-spark/3533_gencol_update_cascade.sql",
      "description": "gen=val*3 + INSERT 100 + UPDATE SET val=val+100 WHERE id<=50 (gen also updated).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 2581,
      "write_warm_ms": 2137,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3534_ict_vacuum_many_versions",
      "num": 3534,
      "name": "ict_vacuum_many_versions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3534_ict_vacuum_many_versions.py",
      "read_script": "generator/df-reads-spark/3534_ict_vacuum_many_versions.sql",
      "description": "ICT + INSERT 20 x5 versions + UPDATE x3 + VACUUM RETAIN 0.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 12,
      "read_warm_ms": 2,
      "write_cold_ms": 18103,
      "write_warm_ms": 18393,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3535_ict_optimize_partition",
      "num": 3535,
      "name": "ict_optimize_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3535_ict_optimize_partition.py",
      "read_script": "generator/df-reads-spark/3535_ict_optimize_partition.sql",
      "description": "ICT + PARTITIONED BY(region) + INSERT 200 + OPTIMIZE.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 2017,
      "write_warm_ms": 1816,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3536_ict_restore_to_version",
      "num": 3536,
      "name": "ict_restore_to_version",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3536_ict_restore_to_version.py",
      "read_script": "generator/df-reads-spark/3536_ict_restore_to_version.sql",
      "description": "ICT + INSERT 50 (v1) + UPDATE 25 (v2) + INSERT 25 (v3) + RESTORE VERSION 1.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 10,
      "read_warm_ms": 1,
      "write_cold_ms": 5194,
      "write_warm_ms": 4783,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3537_dv_restore_after_delete",
      "num": 3537,
      "name": "dv_restore_after_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3537_dv_restore_after_delete.py",
      "read_script": "generator/df-reads-spark/3537_dv_restore_after_delete.sql",
      "description": "DV + INSERT 100 + DELETE WHERE id<=50 + RESTORE VERSION 1.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 2065,
      "write_warm_ms": 1747,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3538_dv_restore_multi_version",
      "num": 3538,
      "name": "dv_restore_multi_version",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3538_dv_restore_multi_version.py",
      "read_script": "generator/df-reads-spark/3538_dv_restore_multi_version.sql",
      "description": "INSERT 100 (v1) + DELETE 30 id<=30 (v2) + INSERT 20 id 101-120 (v3) + DELETE 10 id 31-40 (v4) + RESTORE VERSION 2.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "write_cold_ms": 7551,
      "write_warm_ms": 6708,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3539_identity_colmap_merge",
      "num": 3539,
      "name": "identity_colmap_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3539_identity_colmap_merge.py",
      "read_script": "generator/df-reads-spark/3539_identity_colmap_merge.sql",
      "description": "IDENTITY(BY DEFAULT) simulated + colmap=name. INSERT 50 + MERGE 30 new (id 51-80).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "write_cold_ms": 1877,
      "write_warm_ms": 2286,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/353_time_travel_after_delete",
      "num": 353,
      "name": "time_travel_after_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/353_time_travel_after_delete.py",
      "read_script": "generator/df-reads-spark/353_time_travel_after_delete.sql",
      "description": "Deleted rows visible in past versions. Insert 100 rows, then DELETE id>50. Final: 50 rows.",
      "status": "pass",
      "duration_ms": 35,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 35,
      "read_warm_ms": 10,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3540_widen_cdc_merge_multi",
      "num": 3540,
      "name": "widen_cdc_merge_multi",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3540_widen_cdc_merge_multi.py",
      "read_script": "generator/df-reads-spark/3540_widen_cdc_merge_multi.sql",
      "description": "CDC + INT val + INSERT 50 + widen BIGINT + MERGE 30 (15 update id 1-15, 15 new id 51-65).",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "CDF + column mapping schema-change WRITE blocked by Spark OSS (no source table)",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "scale:large-dataset",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3541_widen_cdc_delete_track",
      "num": 3541,
      "name": "widen_cdc_delete_track",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3541_widen_cdc_delete_track.py",
      "read_script": "generator/df-reads-spark/3541_widen_cdc_delete_track.sql",
      "description": "CDC + FLOAT val + INSERT 100 + widen DOUBLE + DELETE WHERE id<=40.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "CDF + column mapping schema-change WRITE blocked by Spark OSS (no source table)",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3542_identity_cdc_merge",
      "num": 3542,
      "name": "identity_cdc_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3542_identity_cdc_merge.py",
      "read_script": "generator/df-reads-spark/3542_identity_cdc_merge.sql",
      "description": "IDENTITY(BY DEFAULT) simulated + CDC. INSERT 50 + MERGE 30 (15 update id 1-15, 15 new id 51-65).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 2337,
      "write_warm_ms": 2017,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3543_colmap_cdc_delete",
      "num": 3543,
      "name": "colmap_cdc_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3543_colmap_cdc_delete.py",
      "read_script": "generator/df-reads-spark/3543_colmap_cdc_delete.sql",
      "description": "colmap=name + CDC + INSERT 100 + DELETE WHERE id<=30.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "CDF + column mapping schema-change WRITE blocked by Spark OSS (no source table)",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3544_colmap_identity_delete",
      "num": 3544,
      "name": "colmap_identity_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3544_colmap_identity_delete.py",
      "read_script": "generator/df-reads-spark/3544_colmap_identity_delete.sql",
      "description": "colmap=name + IDENTITY simulated. INSERT 50 + DELETE WHERE id<=20.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 1852,
      "write_warm_ms": 1349,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3545_widen_colmap_merge",
      "num": 3545,
      "name": "widen_colmap_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3545_widen_colmap_merge.py",
      "read_script": "generator/df-reads-spark/3545_widen_colmap_merge.sql",
      "description": "colmap=name + INT val + INSERT 50 + widen BIGINT + MERGE 30 new (id 51-80).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 1911,
      "write_warm_ms": 1838,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3546_ict_colmap_delete",
      "num": 3546,
      "name": "ict_colmap_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3546_ict_colmap_delete.py",
      "read_script": "generator/df-reads-spark/3546_ict_colmap_delete.sql",
      "description": "ICT + colmap=name + INSERT 100 + DELETE WHERE id<=40.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 1481,
      "write_warm_ms": 1302,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3547_rowtrack_colmap_merge",
      "num": 3547,
      "name": "rowtrack_colmap_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3547_rowtrack_colmap_merge.py",
      "read_script": "generator/df-reads-spark/3547_rowtrack_colmap_merge.sql",
      "description": "rowTracking + colmap=name + INSERT 50 + MERGE 30 new (id 51-80).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "write_cold_ms": 1658,
      "write_warm_ms": 1500,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3548_gencol_cdc_update",
      "num": 3548,
      "name": "gencol_cdc_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3548_gencol_cdc_update.py",
      "read_script": "generator/df-reads-spark/3548_gencol_cdc_update.sql",
      "description": "computed gen=val*5 + CDC + INSERT 100 + UPDATE SET val=val+50 WHERE id<=30 (gen updated too).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "write_cold_ms": 1573,
      "write_warm_ms": 1356,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3549_default_cdc_merge",
      "num": 3549,
      "name": "default_cdc_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3549_default_cdc_merge.py",
      "read_script": "generator/df-reads-spark/3549_default_cdc_merge.sql",
      "description": "DEFAULT 0 for val + CDC. INSERT 50 (val=i*3) + MERGE 30 (15 update id 1-15, 15 new id 51-65 with val=0).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 1514,
      "write_warm_ms": 1605,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/354_time_travel_after_update",
      "num": 354,
      "name": "time_travel_after_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/354_time_travel_after_update.py",
      "read_script": "generator/df-reads-spark/354_time_travel_after_update.sql",
      "description": "Old values visible in past versions. Insert 5 rows with 'updated' directly (Gap #18 workaround: insert final state instead of UPDATE with arrow_cast).",
      "status": "pass",
      "duration_ms": 29,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 29,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3550_partition_identity_merge",
      "num": 3550,
      "name": "partition_identity_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3550_partition_identity_merge.py",
      "read_script": "generator/df-reads-spark/3550_partition_identity_merge.sql",
      "description": "PARTITIONED BY(region) + IDENTITY simulated. INSERT 100 + MERGE 50 new (id 101-150).",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 12,
      "read_warm_ms": 2,
      "write_cold_ms": 1607,
      "write_warm_ms": 1314,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:identity-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3551_widen_short_to_int_basic",
      "num": 3551,
      "name": "widen_short_to_int_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3551_widen_short_to_int_basic.py",
      "read_script": "generator/df-reads-spark/3551_widen_short_to_int_basic.sql",
      "description": "INSERT 100 + widen SMALLINT to INT.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 935,
      "write_warm_ms": 602,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3552_widen_tinyint_to_smallint",
      "num": 3552,
      "name": "widen_tinyint_to_smallint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3552_widen_tinyint_to_smallint.py",
      "read_script": "generator/df-reads-spark/3552_widen_tinyint_to_smallint.sql",
      "description": "INSERT 50 (val=i, max 50) + widen TINYINT to SMALLINT.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 662,
      "write_warm_ms": 821,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3553_widen_tinyint_to_int",
      "num": 3553,
      "name": "widen_tinyint_to_int",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3553_widen_tinyint_to_int.py",
      "read_script": "generator/df-reads-spark/3553_widen_tinyint_to_int.sql",
      "description": "INSERT 50 + widen TINYINT to INT.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 678,
      "write_warm_ms": 586,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3554_widen_tinyint_to_bigint",
      "num": 3554,
      "name": "widen_tinyint_to_bigint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3554_widen_tinyint_to_bigint.py",
      "read_script": "generator/df-reads-spark/3554_widen_tinyint_to_bigint.sql",
      "description": "INSERT 50 + widen TINYINT to BIGINT.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 840,
      "write_warm_ms": 762,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3555_widen_decimal_precision_only",
      "num": 3555,
      "name": "widen_decimal_precision_only",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3555_widen_decimal_precision_only.py",
      "read_script": "generator/df-reads-spark/3555_widen_decimal_precision_only.sql",
      "description": "DECIMAL(10,2) -> DECIMAL(20,2). INSERT 100 + widen.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 750,
      "write_warm_ms": 765,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3556_widen_decimal_scale_only",
      "num": 3556,
      "name": "widen_decimal_scale_only",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3556_widen_decimal_scale_only.py",
      "read_script": "generator/df-reads-spark/3556_widen_decimal_scale_only.sql",
      "description": "DECIMAL(18,2) -> DECIMAL(18,6). INSERT 100 + widen.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Decimal scale widening unsupported by Spark OSS ALTER COLUMN (no source table)",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3557_widen_decimal_both",
      "num": 3557,
      "name": "widen_decimal_both",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3557_widen_decimal_both.py",
      "read_script": "generator/df-reads-spark/3557_widen_decimal_both.sql",
      "description": "DECIMAL(10,2) -> DECIMAL(18,6). INSERT 100 + widen.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 897,
      "write_warm_ms": 585,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3558_widen_float_to_double_prec",
      "num": 3558,
      "name": "widen_float_to_double_prec",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3558_widen_float_to_double_prec.py",
      "read_script": "generator/df-reads-spark/3558_widen_float_to_double_prec.sql",
      "description": "FLOAT -> DOUBLE with precision-sensitive values. INSERT 100.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 765,
      "write_warm_ms": 763,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3559_widen_multi_col_sequential",
      "num": 3559,
      "name": "widen_multi_col_sequential",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3559_widen_multi_col_sequential.py",
      "read_script": "generator/df-reads-spark/3559_widen_multi_col_sequential.sql",
      "description": "INT, FLOAT, DECIMAL(10,2) + INSERT 100 + widen each separately.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 783,
      "write_warm_ms": 857,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/355_time_travel_schema_evolution",
      "num": 355,
      "name": "time_travel_schema_evolution",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/355_time_travel_schema_evolution.py",
      "read_script": "generator/df-reads-spark/355_time_travel_schema_evolution.sql",
      "description": "Read with old schema. Final schema has (id, name, email). 4 rows: first 3 with NULL email, last with email.",
      "status": "pass",
      "duration_ms": 31,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 31,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3560_widen_then_update",
      "num": 3560,
      "name": "widen_then_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3560_widen_then_update.py",
      "read_script": "generator/df-reads-spark/3560_widen_then_update.sql",
      "description": "INT + INSERT 100 + widen BIGINT + UPDATE SET val=3000000000 WHERE id<=20.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "write_cold_ms": 2385,
      "write_warm_ms": 2341,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3561_widen_then_merge",
      "num": 3561,
      "name": "widen_then_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3561_widen_then_merge.py",
      "read_script": "generator/df-reads-spark/3561_widen_then_merge.sql",
      "description": "INT + INSERT 50 + widen BIGINT + MERGE 25 new (id 51-75, val=5000000000+i).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "write_cold_ms": 2426,
      "write_warm_ms": 2074,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "scale:large-dataset",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3562_widen_optimize_then_read",
      "num": 3562,
      "name": "widen_optimize_then_read",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3562_widen_optimize_then_read.py",
      "read_script": "generator/df-reads-spark/3562_widen_optimize_then_read.sql",
      "description": "INT + INSERT 100 + widen BIGINT + INSERT 50 (id 101-150, val=i*1000) + OPTIMIZE.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 2674,
      "write_warm_ms": 2481,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:optimize",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3563_widen_vacuum_then_read",
      "num": 3563,
      "name": "widen_vacuum_then_read",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3563_widen_vacuum_then_read.py",
      "read_script": "generator/df-reads-spark/3563_widen_vacuum_then_read.sql",
      "description": "INT + INSERT 100 + widen BIGINT + UPDATE 50 (val=val+1000000) + VACUUM RETAIN 0.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "write_cold_ms": 11941,
      "write_warm_ms": 12171,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:vacuum",
        "scale:large-dataset",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3564_widen_restore_before",
      "num": 3564,
      "name": "widen_restore_before",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3564_widen_restore_before.py",
      "read_script": "generator/df-reads-spark/3564_widen_restore_before.sql",
      "description": "INT + INSERT 100 (v1) + widen BIGINT (v2) + INSERT 50 (v3) + RESTORE VERSION 1.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 10,
      "read_warm_ms": 1,
      "write_cold_ms": 4657,
      "write_warm_ms": 4125,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:time-travel",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3565_widen_checkpoint",
      "num": 3565,
      "name": "widen_checkpoint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3565_widen_checkpoint.py",
      "read_script": "generator/df-reads-spark/3565_widen_checkpoint.sql",
      "description": "INT + INSERT 100 + 11 small DMLs to trigger checkpoint + widen BIGINT + INSERT 50.",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 17,
      "read_warm_ms": 1,
      "write_cold_ms": 14318,
      "write_warm_ms": 17128,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3566_widen_cdc_update_track",
      "num": 3566,
      "name": "widen_cdc_update_track",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3566_widen_cdc_update_track.py",
      "read_script": "generator/df-reads-spark/3566_widen_cdc_update_track.sql",
      "description": "CDC + INT + INSERT 50 + widen BIGINT + UPDATE SET val=5000000000 WHERE id<=20.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "CDF + column mapping schema-change WRITE blocked by Spark OSS (no source table)",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:change-data-feed",
        "delta:column-mapping",
        "scale:large-dataset",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3567_widen_constraint_after",
      "num": 3567,
      "name": "widen_constraint_after",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3567_widen_constraint_after.py",
      "read_script": "generator/df-reads-spark/3567_widen_constraint_after.sql",
      "description": "INT + INSERT 100 + widen BIGINT + ADD CHECK constraint.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 2305,
      "write_warm_ms": 2199,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:constraints",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3568_widen_colmap_name",
      "num": 3568,
      "name": "widen_colmap_name",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3568_widen_colmap_name.py",
      "read_script": "generator/df-reads-spark/3568_widen_colmap_name.sql",
      "description": "colmap=name + INT + INSERT 100 + widen BIGINT.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 897,
      "write_warm_ms": 743,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3569_widen_rowtrack",
      "num": 3569,
      "name": "widen_rowtrack",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3569_widen_rowtrack.py",
      "read_script": "generator/df-reads-spark/3569_widen_rowtrack.sql",
      "description": "rowTracking + INT + INSERT 100 + widen BIGINT + INSERT 50 (id 101-150).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 2030,
      "write_warm_ms": 1824,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:row-tracking",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/356_time_travel_after_vacuum",
      "num": 356,
      "name": "time_travel_after_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/356_time_travel_after_vacuum.py",
      "read_script": "generator/df-reads-spark/356_time_travel_after_vacuum.sql",
      "description": "Versions before retention period are inaccessible after VACUUM. 10 rows (v=0..9). VACUUM done by test harness.",
      "status": "pass",
      "duration_ms": 68,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 68,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3570_widen_ict",
      "num": 3570,
      "name": "widen_ict",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3570_widen_ict.py",
      "read_script": "generator/df-reads-spark/3570_widen_ict.sql",
      "description": "ICT + INT + INSERT 100 + widen BIGINT.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 858,
      "write_warm_ms": 699,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3571_widen_identity",
      "num": 3571,
      "name": "widen_identity",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3571_widen_identity.py",
      "read_script": "generator/df-reads-spark/3571_widen_identity.sql",
      "description": "IDENTITY(BY DEFAULT) simulated INT id + INSERT 50 + widen id to BIGINT + INSERT 50.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "write_cold_ms": 2253,
      "write_warm_ms": 2502,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:identity-columns",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3572_widen_partition_key",
      "num": 3572,
      "name": "widen_partition_key",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3572_widen_partition_key.py",
      "read_script": "generator/df-reads-spark/3572_widen_partition_key.sql",
      "description": "PARTITIONED BY(cat) + INT val + INSERT 100 + widen val BIGINT.",
      "status": "pass",
      "duration_ms": 20,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 20,
      "read_warm_ms": 6,
      "write_cold_ms": 963,
      "write_warm_ms": 811,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:partitioning",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3573_widen_default_after",
      "num": 3573,
      "name": "widen_default_after",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3573_widen_default_after.py",
      "read_script": "generator/df-reads-spark/3573_widen_default_after.sql",
      "description": "val INT DEFAULT 42 + INSERT 50 (val=i*10) + widen BIGINT + INSERT 50 (id 51-100, val=42 default).",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 15,
      "read_warm_ms": 3,
      "write_cold_ms": 1913,
      "write_warm_ms": 1866,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3574_widen_gencol_base",
      "num": 3574,
      "name": "widen_gencol_base",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3574_widen_gencol_base.py",
      "read_script": "generator/df-reads-spark/3574_widen_gencol_base.sql",
      "description": "val INT + gen=val*2 as computed col + INSERT 50 + widen val BIGINT.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 660,
      "write_warm_ms": 945,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3575_widen_zorder_after",
      "num": 3575,
      "name": "widen_zorder_after",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3575_widen_zorder_after.py",
      "read_script": "generator/df-reads-spark/3575_widen_zorder_after.sql",
      "description": "INT + INSERT 200 + widen BIGINT + ZORDER BY(val).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 2173,
      "write_warm_ms": 1908,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:optimize",
        "delta:z-order",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3576_widen_three_step_chain",
      "num": 3576,
      "name": "widen_three_step_chain",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3576_widen_three_step_chain.py",
      "read_script": "generator/df-reads-spark/3576_widen_three_step_chain.sql",
      "description": "INSERT 25 TINYINT + widen SMALLINT + INSERT 25 + widen INT + INSERT 25 + widen BIGINT + INSERT 25.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 13,
      "read_warm_ms": 3,
      "write_cold_ms": 5437,
      "write_warm_ms": 5796,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3577_widen_decimal_three_step",
      "num": 3577,
      "name": "widen_decimal_three_step",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3577_widen_decimal_three_step.py",
      "read_script": "generator/df-reads-spark/3577_widen_decimal_three_step.sql",
      "description": "DECIMAL(10,2) -> (18,4) -> (28,8). INSERT 50 + widen + INSERT 25 + widen + INSERT 25.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "write_cold_ms": 3118,
      "write_warm_ms": 3190,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3578_widen_many_versions",
      "num": 3578,
      "name": "widen_many_versions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3578_widen_many_versions.py",
      "read_script": "generator/df-reads-spark/3578_widen_many_versions.sql",
      "description": "INT + 5x INSERT 20 + widen BIGINT + 5x INSERT 20.",
      "status": "pass",
      "duration_ms": 30,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 30,
      "read_warm_ms": 6,
      "write_cold_ms": 6703,
      "write_warm_ms": 9713,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3579_widen_time_travel_pre",
      "num": 3579,
      "name": "widen_time_travel_pre",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3579_widen_time_travel_pre.py",
      "read_script": "generator/df-reads-spark/3579_widen_time_travel_pre.sql",
      "description": "INT + INSERT 100 (v1) + widen BIGINT (v2) + INSERT 50 (v3). Current = 150 rows.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 2145,
      "write_warm_ms": 2970,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:time-travel",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/357_time_travel_partitioned",
      "num": 357,
      "name": "time_travel_partitioned",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/357_time_travel_partitioned.py",
      "read_script": "generator/df-reads-spark/357_time_travel_partitioned.sql",
      "description": "Partition-aware time travel. 9 rows across US/EU/APAC partitions.",
      "status": "pass",
      "duration_ms": 25,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 25,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3580_widen_time_travel_post",
      "num": 3580,
      "name": "widen_time_travel_post",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3580_widen_time_travel_post.py",
      "read_script": "generator/df-reads-spark/3580_widen_time_travel_post.sql",
      "description": "INT + INSERT 100 + widen + INSERT 50 + DELETE 30 (id 71-100).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 3375,
      "write_warm_ms": 2990,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:time-travel",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3581_widen_stats_correctness",
      "num": 3581,
      "name": "widen_stats_correctness",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3581_widen_stats_correctness.py",
      "read_script": "generator/df-reads-spark/3581_widen_stats_correctness.sql",
      "description": "INT + INSERT 100 + widen BIGINT + INSERT 50 (val=5000000000+i).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "write_cold_ms": 1705,
      "write_warm_ms": 2233,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "scale:large-dataset",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3582_widen_pushdown_after",
      "num": 3582,
      "name": "widen_pushdown_after",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3582_widen_pushdown_after.py",
      "read_script": "generator/df-reads-spark/3582_widen_pushdown_after.sql",
      "description": "INT + INSERT 100 + widen BIGINT + INSERT 50 (big vals).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "write_cold_ms": 1797,
      "write_warm_ms": 2568,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "scale:large-dataset",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3583_widen_byte_to_short",
      "num": 3583,
      "name": "widen_byte_to_short",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3583_widen_byte_to_short.py",
      "read_script": "generator/df-reads-spark/3583_widen_byte_to_short.sql",
      "description": "INSERT 50. val=i*2.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 1133,
      "write_warm_ms": 783,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3584_widen_int_to_long_basic",
      "num": 3584,
      "name": "widen_int_to_long_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3584_widen_int_to_long_basic.py",
      "read_script": "generator/df-reads-spark/3584_widen_int_to_long_basic.sql",
      "description": "INSERT 100. val=i*1000.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 741,
      "write_warm_ms": 1012,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3585_widen_float_to_double_basic",
      "num": 3585,
      "name": "widen_float_to_double_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3585_widen_float_to_double_basic.py",
      "read_script": "generator/df-reads-spark/3585_widen_float_to_double_basic.sql",
      "description": "INSERT 100. val=float(i)*3.14.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 809,
      "write_warm_ms": 1309,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3586_widen_decimal_10_2_to_18_2",
      "num": 3586,
      "name": "widen_decimal_10_2_to_18_2",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3586_widen_decimal_10_2_to_18_2.py",
      "read_script": "generator/df-reads-spark/3586_widen_decimal_10_2_to_18_2.sql",
      "description": "INSERT 100. val=Decimal(i*7.77).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 653,
      "write_warm_ms": 1255,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3587_widen_decimal_10_2_to_18_4",
      "num": 3587,
      "name": "widen_decimal_10_2_to_18_4",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3587_widen_decimal_10_2_to_18_4.py",
      "read_script": "generator/df-reads-spark/3587_widen_decimal_10_2_to_18_4.sql",
      "description": "INSERT 100. val=Decimal(i*4.55).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 887,
      "write_warm_ms": 1535,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3588_widen_insert_after_widen",
      "num": 3588,
      "name": "widen_insert_after_widen",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3588_widen_insert_after_widen.py",
      "read_script": "generator/df-reads-spark/3588_widen_insert_after_widen.sql",
      "description": "INT + INSERT 50 + widen BIGINT + INSERT 50 (id 51-100, val=10000000000+i).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "write_cold_ms": 2179,
      "write_warm_ms": 2338,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "scale:large-dataset",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3589_widen_update_all_after",
      "num": 3589,
      "name": "widen_update_all_after",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3589_widen_update_all_after.py",
      "read_script": "generator/df-reads-spark/3589_widen_update_all_after.sql",
      "description": "INT + INSERT 100 + widen BIGINT + UPDATE SET val = val + 2000000000 for all.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 2151,
      "write_warm_ms": 2266,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:column-mapping",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/358_time_travel_with_dvs",
      "num": 358,
      "name": "time_travel_with_dvs",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/358_time_travel_with_dvs.py",
      "read_script": "generator/df-reads-spark/358_time_travel_with_dvs.sql",
      "description": "DVs filtered correctly at past versions. 100 rows, then DELETE id<=20. Final: 80 rows.",
      "status": "pass",
      "duration_ms": 46,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 46,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3590_widen_delete_after_widen",
      "num": 3590,
      "name": "widen_delete_after_widen",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3590_widen_delete_after_widen.py",
      "read_script": "generator/df-reads-spark/3590_widen_delete_after_widen.sql",
      "description": "INT + INSERT 100 + widen BIGINT + DELETE WHERE id%2=0.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "write_cold_ms": 2884,
      "write_warm_ms": 3012,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3591_widen_merge_after_widen",
      "num": 3591,
      "name": "widen_merge_after_widen",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3591_widen_merge_after_widen.py",
      "read_script": "generator/df-reads-spark/3591_widen_merge_after_widen.sql",
      "description": "INT + INSERT 100 + widen BIGINT + MERGE 50 (25 update id 1-25 with big vals, 25 new id 101-125).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 2657,
      "write_warm_ms": 2110,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3592_widen_cdc_combined",
      "num": 3592,
      "name": "widen_cdc_combined",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3592_widen_cdc_combined.py",
      "read_script": "generator/df-reads-spark/3592_widen_cdc_combined.sql",
      "description": "CDC + INT + INSERT 100 + widen BIGINT + UPDATE 30 + DELETE 20.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "CDF + column mapping schema-change WRITE blocked by Spark OSS (no source table)",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3593_widen_colmap_cdc",
      "num": 3593,
      "name": "widen_colmap_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3593_widen_colmap_cdc.py",
      "read_script": "generator/df-reads-spark/3593_widen_colmap_cdc.sql",
      "description": "colmap=name + CDC + INT + INSERT 50 + widen BIGINT + UPDATE 20.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "CDF + column mapping schema-change WRITE blocked by Spark OSS (no source table)",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3594_widen_partition_delete",
      "num": 3594,
      "name": "widen_partition_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3594_widen_partition_delete.py",
      "read_script": "generator/df-reads-spark/3594_widen_partition_delete.sql",
      "description": "PARTITIONED BY(cat) + INT + INSERT 200 + widen BIGINT + DELETE WHERE cat='c0'.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "write_cold_ms": 2011,
      "write_warm_ms": 1888,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:partitioning",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3595_widen_constraint_cdc",
      "num": 3595,
      "name": "widen_constraint_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3595_widen_constraint_cdc.py",
      "read_script": "generator/df-reads-spark/3595_widen_constraint_cdc.sql",
      "description": "CHECK(val>=0) + CDC + INT + INSERT 100 + widen BIGINT + UPDATE 20.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "CDF + column mapping schema-change WRITE blocked by Spark OSS (no source table)",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3596_widen_identity_cdc",
      "num": 3596,
      "name": "widen_identity_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3596_widen_identity_cdc.py",
      "read_script": "generator/df-reads-spark/3596_widen_identity_cdc.sql",
      "description": "IDENTITY simulated + CDC + INT val + INSERT 50 + widen val BIGINT + INSERT 25 new (id 51-75).",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "CDF + column mapping schema-change WRITE blocked by Spark OSS (no source table)",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:identity-columns",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3597_widen_optimize_vacuum",
      "num": 3597,
      "name": "widen_optimize_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3597_widen_optimize_vacuum.py",
      "read_script": "generator/df-reads-spark/3597_widen_optimize_vacuum.sql",
      "description": "INT + INSERT 100 + widen BIGINT + INSERT 50 + OPTIMIZE + VACUUM RETAIN 0.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "write_cold_ms": 13191,
      "write_warm_ms": 13400,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:optimize",
        "delta:vacuum",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3598_widen_full_lifecycle",
      "num": 3598,
      "name": "widen_full_lifecycle",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3598_widen_full_lifecycle.py",
      "read_script": "generator/df-reads-spark/3598_widen_full_lifecycle.sql",
      "description": "INT + INSERT 100 + widen BIGINT + UPDATE 30 + DELETE 20 + INSERT 50 + OPTIMIZE.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 5312,
      "write_warm_ms": 5754,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:optimize",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3599_widen_decimal_negative",
      "num": 3599,
      "name": "widen_decimal_negative",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3599_widen_decimal_negative.py",
      "read_script": "generator/df-reads-spark/3599_widen_decimal_negative.sql",
      "description": "DECIMAL(10,2) + INSERT 100 (some negative: val=Decimal((i-50)*3.33)) + widen DECIMAL(18,4).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 695,
      "write_warm_ms": 860,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/359_time_travel_ict",
      "num": 359,
      "name": "time_travel_ict",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/359_time_travel_ict.py",
      "read_script": "generator/df-reads-spark/359_time_travel_ict.sql",
      "description": "In-Commit Timestamps used for timestamp resolution. 5 rows (v=0..4), each inserted separately to create separate versions.",
      "status": "pass",
      "duration_ms": 67,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 67,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/35_dv_storage_inline_embedded",
      "num": 35,
      "name": "dv_storage_inline_embedded",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/35_dv_storage_inline_embedded.py",
      "read_script": "generator/df-reads-spark/35_dv_storage_inline_embedded.sql",
      "description": "Customer Support Ticket System with Inline DV Storage. 800 initial + 50 new tickets, then multiple DELETE/UPDATE operations.",
      "status": "pass",
      "duration_ms": 22,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 22,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 7175,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3600_widen_two_col_different",
      "num": 3600,
      "name": "widen_two_col_different",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3600_widen_two_col_different.py",
      "read_script": "generator/df-reads-spark/3600_widen_two_col_different.sql",
      "description": "INT col_a + FLOAT col_b + INSERT 100 + widen col_a BIGINT + widen col_b DOUBLE.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 959,
      "write_warm_ms": 1025,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3601_optimize_basic_compaction",
      "num": 3601,
      "name": "optimize_basic_compaction",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3601_optimize_basic_compaction.py",
      "read_script": "generator/df-reads-spark/3601_optimize_basic_compaction.sql",
      "description": "Writes 20 small batches of 5 rows each (100 rows total) then runs OPTIMIZE to compact all small files into larger ones. Verifies that compaction does not alter data -- all 100 rows survive with correct values.",
      "status": "pass",
      "duration_ms": 20,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 20,
      "read_warm_ms": 1,
      "write_cold_ms": 20789,
      "write_warm_ms": 18936,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3602_optimize_partition_selective",
      "num": 3602,
      "name": "optimize_partition_selective",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3602_optimize_partition_selective.py",
      "read_script": "generator/df-reads-spark/3602_optimize_partition_selective.sql",
      "description": "Inserts 200 rows partitioned by cat (A/B/C/D), then runs OPTIMIZE WHERE cat='A' to compact only the A partition. Verifies all 200 rows are intact and partition-filtered query works correctly.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "write_cold_ms": 2172,
      "write_warm_ms": 2610,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3603_optimize_after_heavy_delete",
      "num": 3603,
      "name": "optimize_after_heavy_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3603_optimize_after_heavy_delete.py",
      "read_script": "generator/df-reads-spark/3603_optimize_after_heavy_delete.sql",
      "description": "Inserts 1000 rows, deletes 900 (id > 100), then runs OPTIMIZE to compact the remaining 100 rows. Tests that OPTIMIZE after heavy delete produces a clean, compact table.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 3228,
      "write_warm_ms": 2657,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3604_optimize_after_merge",
      "num": 3604,
      "name": "optimize_after_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3604_optimize_after_merge.py",
      "read_script": "generator/df-reads-spark/3604_optimize_after_merge.sql",
      "description": "Inserts 100 base rows, performs a MERGE (update 30, delete 20, insert 50 new), then runs OPTIMIZE. Final state: 100 - 20 + 50 = 130 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 4653,
      "write_warm_ms": 3961,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3605_optimize_cdc_preserve",
      "num": 3605,
      "name": "optimize_cdc_preserve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3605_optimize_cdc_preserve.py",
      "read_script": "generator/df-reads-spark/3605_optimize_cdc_preserve.sql",
      "description": "Verifies that OPTIMIZE does not break CDC metadata and data is correct.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 4570,
      "write_warm_ms": 2970,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3606_optimize_identity_hwm",
      "num": 3606,
      "name": "optimize_identity_hwm",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3606_optimize_identity_hwm.py",
      "read_script": "generator/df-reads-spark/3606_optimize_identity_hwm.sql",
      "description": "Sequential id (manual, no IDENTITY feature): INSERT 100, OPTIMIZE, INSERT 50 more (id 101-150). Verifies OPTIMIZE in middle does not disturb further inserts or row ordering.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "write_cold_ms": 3746,
      "write_warm_ms": 3753,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3607_optimize_colmap_preserve",
      "num": 3607,
      "name": "optimize_colmap_preserve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3607_optimize_colmap_preserve.py",
      "read_script": "generator/df-reads-spark/3607_optimize_colmap_preserve.sql",
      "description": "Column mapping (name mode) + INSERT 100 + ADD COLUMN new_col STRING + INSERT 50 (id 101-150, new_col='added_'+str(i)) + OPTIMIZE. Verifies column mapping metadata is preserved after OPTIMIZE.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 3537,
      "write_warm_ms": 3212,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3608_optimize_constraint_preserve",
      "num": 3608,
      "name": "optimize_constraint_preserve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3608_optimize_constraint_preserve.py",
      "read_script": "generator/df-reads-spark/3608_optimize_constraint_preserve.sql",
      "description": "CHECK constraint (val > 0) + INSERT 100 + OPTIMIZE. Verifies the constraint metadata is preserved after compaction and all values comply.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 3872,
      "write_warm_ms": 3213,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3609_optimize_default_preserve",
      "num": 3609,
      "name": "optimize_default_preserve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3609_optimize_default_preserve.py",
      "read_script": "generator/df-reads-spark/3609_optimize_default_preserve.sql",
      "description": "INSERT 50 rows with val=i*5, then INSERT 50 rows (id 51-100) with val=0 (simulating default), then OPTIMIZE. Tests that OPTIMIZE handles tables where some rows used a default-style value.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 2800,
      "write_warm_ms": 3372,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/360_time_travel_before_create",
      "num": 360,
      "name": "time_travel_before_create",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/360_time_travel_before_create.py",
      "read_script": "generator/df-reads-spark/360_time_travel_before_create.sql",
      "description": "Timestamp before table creation should error. 2 rows.",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3610_optimize_rowtrack_preserve",
      "num": 3610,
      "name": "optimize_rowtrack_preserve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3610_optimize_rowtrack_preserve.py",
      "read_script": "generator/df-reads-spark/3610_optimize_rowtrack_preserve.sql",
      "description": "Row tracking + INSERT 100 + UPDATE WHERE id<=30 + OPTIMIZE. Row tracking assigns each row a unique ID. OPTIMIZE must not corrupt row tracking metadata. Reader checks data correctness.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 4054,
      "write_warm_ms": 3121,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3611_optimize_ict_preserve",
      "num": 3611,
      "name": "optimize_ict_preserve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3611_optimize_ict_preserve.py",
      "read_script": "generator/df-reads-spark/3611_optimize_ict_preserve.sql",
      "description": "In-commit timestamps (ICT) + INSERT 100 + OPTIMIZE. ICT records commit timestamps in the Delta log. OPTIMIZE must preserve ICT metadata.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 1596,
      "write_warm_ms": 1705,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3612_optimize_gencol_preserve",
      "num": 3612,
      "name": "optimize_gencol_preserve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3612_optimize_gencol_preserve.py",
      "read_script": "generator/df-reads-spark/3612_optimize_gencol_preserve.sql",
      "description": "Computed generated column (gen = val * 2) + INSERT 100 + OPTIMIZE. Generated column values must be intact after compaction.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Generated columns + column mapping unsupported by Spark OSS (no source table)",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:generated-columns",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3613_optimize_widen_preserve",
      "num": 3613,
      "name": "optimize_widen_preserve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3613_optimize_widen_preserve.py",
      "read_script": "generator/df-reads-spark/3613_optimize_widen_preserve.sql",
      "description": "INT val + INSERT 50 + widen to BIGINT + INSERT 50 (id 51-100) + OPTIMIZE. Tests that type widening metadata is preserved and values are correct post-OPTIMIZE.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 3792,
      "write_warm_ms": 2647,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3614_optimize_then_delete_then_optimize",
      "num": 3614,
      "name": "optimize_then_delete_then_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3614_optimize_then_delete_then_optimize.py",
      "read_script": "generator/df-reads-spark/3614_optimize_then_delete_then_optimize.sql",
      "description": "INSERT 200 + OPTIMIZE + DELETE WHERE id>100 + OPTIMIZE. Two rounds of optimization with a deletion in between.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 11,
      "read_warm_ms": 1,
      "write_cold_ms": 2798,
      "write_warm_ms": 4025,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3615_optimize_many_small_inserts",
      "num": 3615,
      "name": "optimize_many_small_inserts",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3615_optimize_many_small_inserts.py",
      "read_script": "generator/df-reads-spark/3615_optimize_many_small_inserts.sql",
      "description": "100 individual single-row inserts followed by OPTIMIZE to compact them into fewer, larger files.",
      "status": "pass",
      "duration_ms": 100,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 100,
      "read_warm_ms": 1,
      "write_cold_ms": 92996,
      "write_warm_ms": 68213,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3616_optimize_reorg_purge_dv",
      "num": 3616,
      "name": "optimize_reorg_purge_dv",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3616_optimize_reorg_purge_dv.py",
      "read_script": "generator/df-reads-spark/3616_optimize_reorg_purge_dv.sql",
      "description": "INSERT 100 + DELETE WHERE id<=30 (creates deletion vectors) + OPTIMIZE to rewrite files and purge soft-deleted rows.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 12,
      "read_warm_ms": 1,
      "write_cold_ms": 2427,
      "write_warm_ms": 2408,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3617_optimize_stats_after",
      "num": 3617,
      "name": "optimize_stats_after",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3617_optimize_stats_after.py",
      "read_script": "generator/df-reads-spark/3617_optimize_stats_after.sql",
      "description": "10 batches of 10 rows + OPTIMIZE. Includes DECIMAL column to verify stats are correctly computed after compaction.",
      "status": "pass",
      "duration_ms": 21,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 21,
      "read_warm_ms": 2,
      "write_cold_ms": 9030,
      "write_warm_ms": 6340,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3618_optimize_time_travel",
      "num": 3618,
      "name": "optimize_time_travel",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3618_optimize_time_travel.py",
      "read_script": "generator/df-reads-spark/3618_optimize_time_travel.sql",
      "description": "INSERT 100 (v0), OPTIMIZE (v1), DELETE WHERE id<=30 (v2). Current state has 70 rows. SQL checks current state only.",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 14,
      "read_warm_ms": 2,
      "write_cold_ms": 2375,
      "write_warm_ms": 2464,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3619_optimize_cdc_colmap",
      "num": 3619,
      "name": "optimize_cdc_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3619_optimize_cdc_colmap.py",
      "read_script": "generator/df-reads-spark/3619_optimize_cdc_colmap.sql",
      "description": "Column mapping (name mode) + CDC + INSERT 100 + UPDATE 30 + OPTIMIZE. Combined CDC and colmap metadata must survive OPTIMIZE.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "CDF + column mapping schema-change WRITE blocked by Spark OSS (no source table)",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/361_time_travel_between_versions",
      "num": 361,
      "name": "time_travel_between_versions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/361_time_travel_between_versions.py",
      "read_script": "generator/df-reads-spark/361_time_travel_between_versions.sql",
      "description": "Timestamp between commits resolves to earlier version. 3 rows: (1,0), (2,1), (3,2).",
      "status": "pass",
      "duration_ms": 28,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 28,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3620_optimize_partition_cdc",
      "num": 3620,
      "name": "optimize_partition_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3620_optimize_partition_cdc.py",
      "read_script": "generator/df-reads-spark/3620_optimize_partition_cdc.sql",
      "description": "PARTITIONED BY(cat) + CDC + INSERT 200 + OPTIMIZE. Combination of partitioning and CDC with compaction.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 1734,
      "write_warm_ms": 2302,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3621_colmap_name_basic_insert",
      "num": 3621,
      "name": "colmap_name_basic_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3621_colmap_name_basic_insert.py",
      "read_script": "generator/df-reads-spark/3621_colmap_name_basic_insert.sql",
      "description": "Basic column mapping (name mode) with a single INSERT of 100 rows. Column mapping assigns physical names to columns so renames work.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "write_cold_ms": 679,
      "write_warm_ms": 820,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3622_colmap_name_update",
      "num": 3622,
      "name": "colmap_name_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3622_colmap_name_update.py",
      "read_script": "generator/df-reads-spark/3622_colmap_name_update.sql",
      "description": "Column mapping (name mode) + INSERT 100 + UPDATE SET val=val+100 WHERE id<=30. Verifies updates work correctly on colmap tables.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "write_cold_ms": 2283,
      "write_warm_ms": 2668,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3623_colmap_name_delete",
      "num": 3623,
      "name": "colmap_name_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3623_colmap_name_delete.py",
      "read_script": "generator/df-reads-spark/3623_colmap_name_delete.sql",
      "description": "Column mapping (name mode) + INSERT 100 + DELETE WHERE id<=40. Verifies deletes on colmap tables leave correct 60 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 1993,
      "write_warm_ms": 1785,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3624_colmap_name_merge_all",
      "num": 3624,
      "name": "colmap_name_merge_all",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3624_colmap_name_merge_all.py",
      "read_script": "generator/df-reads-spark/3624_colmap_name_merge_all.sql",
      "description": "Column mapping (name mode) + INSERT 50 + MERGE (update 20, delete 10, insert 30 new).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 2248,
      "write_warm_ms": 2477,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3625_colmap_add_column",
      "num": 3625,
      "name": "colmap_add_column",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3625_colmap_add_column.py",
      "read_script": "generator/df-reads-spark/3625_colmap_add_column.sql",
      "description": "Column mapping (name mode) + INSERT 50 + ADD COLUMN new_col INT + INSERT 50 (id 51-100, new_col=i*10). Tests schema evolution with colmap.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "write_cold_ms": 1926,
      "write_warm_ms": 1741,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3626_colmap_drop_column",
      "num": 3626,
      "name": "colmap_drop_column",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3626_colmap_drop_column.py",
      "read_script": "generator/df-reads-spark/3626_colmap_drop_column.sql",
      "description": "Column mapping (name mode) + 3 cols + INSERT 50 + DROP COLUMN extra + INSERT 50 (id 51-100). Tests column drop with colmap.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 2410,
      "write_warm_ms": 2228,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:drop-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3627_colmap_rename_column",
      "num": 3627,
      "name": "colmap_rename_column",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3627_colmap_rename_column.py",
      "read_script": "generator/df-reads-spark/3627_colmap_rename_column.sql",
      "description": "Column mapping (name mode) + INSERT 50 + RENAME COLUMN val TO amount + INSERT 50 (id 51-100). Tests that column rename works correctly with colmap.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "write_cold_ms": 2119,
      "write_warm_ms": 1968,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:rename-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3628_colmap_cdc_insert_update",
      "num": 3628,
      "name": "colmap_cdc_insert_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3628_colmap_cdc_insert_update.py",
      "read_script": "generator/df-reads-spark/3628_colmap_cdc_insert_update.sql",
      "description": "Column mapping (name mode) + CDC + INSERT 100 + UPDATE SET val=val+50 WHERE id<=30. Combined colmap + CDC with an update.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "CDF + column mapping schema-change WRITE blocked by Spark OSS (no source table)",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3629_colmap_identity_insert",
      "num": 3629,
      "name": "colmap_identity_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3629_colmap_identity_insert.py",
      "read_script": "generator/df-reads-spark/3629_colmap_identity_insert.sql",
      "description": "Column mapping (name mode) with sequential id (manual, not IDENTITY feature) + INSERT 100. Straightforward colmap test with sequential primary key.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 679,
      "write_warm_ms": 530,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/362_time_travel_cross_engine",
      "num": 362,
      "name": "time_travel_cross_engine",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/362_time_travel_cross_engine.py",
      "read_script": "generator/df-reads-spark/362_time_travel_cross_engine.sql",
      "description": "DeltaForge reads DBX history, writes new version, DBX reads it. 12 rows (v=0..5, 2 rows per version).",
      "status": "pass",
      "duration_ms": 47,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 47,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3630_colmap_constraint_check",
      "num": 3630,
      "name": "colmap_constraint_check",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3630_colmap_constraint_check.py",
      "read_script": "generator/df-reads-spark/3630_colmap_constraint_check.sql",
      "description": "Column mapping (name mode) + CHECK(val>0) + INSERT 100. Verifies that constraints and colmap metadata coexist correctly.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "write_cold_ms": 1866,
      "write_warm_ms": 1982,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3631_colmap_default_value",
      "num": 3631,
      "name": "colmap_default_value",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3631_colmap_default_value.py",
      "read_script": "generator/df-reads-spark/3631_colmap_default_value.sql",
      "description": "Column mapping (name mode) + INSERT 50 rows all with val=99 (simulating default). Tests that a uniform constant value works with colmap.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 629,
      "write_warm_ms": 1005,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:default-values",
        "delta:deletion-vectors",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3632_colmap_partition_by",
      "num": 3632,
      "name": "colmap_partition_by",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3632_colmap_partition_by.py",
      "read_script": "generator/df-reads-spark/3632_colmap_partition_by.sql",
      "description": "Column mapping (name mode) + PARTITIONED BY(cat) + INSERT 200. Tests colmap with a partitioned table.",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 15,
      "read_warm_ms": 4,
      "write_cold_ms": 1056,
      "write_warm_ms": 723,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3633_colmap_gencol",
      "num": 3633,
      "name": "colmap_gencol",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3633_colmap_gencol.py",
      "read_script": "generator/df-reads-spark/3633_colmap_gencol.sql",
      "description": "Column mapping (name mode) + computed generated column gen = val * 3 + INSERT 100. Tests colmap with generated columns.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Generated columns + column mapping unsupported by Spark OSS (no source table)",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3634_colmap_vacuum",
      "num": 3634,
      "name": "colmap_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3634_colmap_vacuum.py",
      "read_script": "generator/df-reads-spark/3634_colmap_vacuum.sql",
      "description": "Column mapping (name mode) + INSERT 100 + UPDATE 50 + VACUUM RETAIN 0. Tests that colmap metadata is preserved after VACUUM cleans old files.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 13717,
      "write_warm_ms": 12966,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3635_colmap_restore",
      "num": 3635,
      "name": "colmap_restore",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3635_colmap_restore.py",
      "read_script": "generator/df-reads-spark/3635_colmap_restore.sql",
      "description": "Column mapping (name mode) + INSERT 100 (v0) + ADD COL new_col (v1) + RESTORE VERSION 0. After restore, table is back to the v0 state (100 rows, no new_col).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "write_cold_ms": 4086,
      "write_warm_ms": 3902,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:time-travel",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3636_colmap_time_travel",
      "num": 3636,
      "name": "colmap_time_travel",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3636_colmap_time_travel.py",
      "read_script": "generator/df-reads-spark/3636_colmap_time_travel.sql",
      "description": "Column mapping (name mode) + INSERT 50 (v0) + ADD COL extra STRING (v1) + INSERT 50 (id 51-100, extra='ex_'+str(i)) (v2). SQL reads current state.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "write_cold_ms": 1852,
      "write_warm_ms": 1832,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:time-travel",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3637_colmap_zorder",
      "num": 3637,
      "name": "colmap_zorder",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3637_colmap_zorder.py",
      "read_script": "generator/df-reads-spark/3637_colmap_zorder.sql",
      "description": "Column mapping (name mode) + INSERT 200 + ZORDER BY(val). Tests that Z-ordering with colmap works and doesn't corrupt data.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 1687,
      "write_warm_ms": 1400,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3638_colmap_rowtrack",
      "num": 3638,
      "name": "colmap_rowtrack",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3638_colmap_rowtrack.py",
      "read_script": "generator/df-reads-spark/3638_colmap_rowtrack.sql",
      "description": "Column mapping (name mode) + row tracking + INSERT 100. Tests that colmap and row tracking metadata coexist correctly.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 706,
      "write_warm_ms": 620,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3639_colmap_ict",
      "num": 3639,
      "name": "colmap_ict",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3639_colmap_ict.py",
      "read_script": "generator/df-reads-spark/3639_colmap_ict.sql",
      "description": "Column mapping (name mode) + in-commit timestamps + INSERT 100 + UPDATE SET val=val+10 WHERE id<=30. Tests colmap with ICT and an update.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "write_cold_ms": 1718,
      "write_warm_ms": 1956,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/363_time_travel_comprehensive",
      "num": 363,
      "name": "time_travel_comprehensive",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/363_time_travel_comprehensive.py",
      "read_script": "generator/df-reads-spark/363_time_travel_comprehensive.sql",
      "description": "Full time travel roundtrip. 72 rows final state.",
      "status": "pass",
      "duration_ms": 94,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 94,
      "read_warm_ms": 31,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:time-travel",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3640_colmap_widen",
      "num": 3640,
      "name": "colmap_widen",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3640_colmap_widen.py",
      "read_script": "generator/df-reads-spark/3640_colmap_widen.sql",
      "description": "Column mapping (name mode) + INT val + INSERT 50 + widen to BIGINT + INSERT 50 (id 51-100). Tests type widening with column mapping enabled.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 1597,
      "write_warm_ms": 1519,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3641_colmap_struct_field",
      "num": 3641,
      "name": "colmap_struct_field",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3641_colmap_struct_field.py",
      "read_script": "generator/df-reads-spark/3641_colmap_struct_field.sql",
      "description": "Column mapping (name mode) + STRUCT<name STRING, age INT> + INSERT 50. Tests colmap with a nested struct column.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 558,
      "write_warm_ms": 602,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "scale:nested-types",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3642_colmap_multi_evolve",
      "num": 3642,
      "name": "colmap_multi_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3642_colmap_multi_evolve.py",
      "read_script": "generator/df-reads-spark/3642_colmap_multi_evolve.sql",
      "description": "Column mapping (name mode) + INSERT 25 + ADD col_a INT + INSERT 25 (id 26-50) + ADD col_b STRING + INSERT 25 (id 51-75) + DROP col_a + INSERT 25 (id 76-100).",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 15,
      "read_warm_ms": 3,
      "write_cold_ms": 4591,
      "write_warm_ms": 4469,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "schema:drop-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3643_colmap_pushdown",
      "num": 3643,
      "name": "colmap_pushdown",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3643_colmap_pushdown.py",
      "read_script": "generator/df-reads-spark/3643_colmap_pushdown.sql",
      "description": "Column mapping (name mode) + INSERT 200. SQL verifies predicate pushdown with a WHERE val > 500 filter returns the correct subset.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 821,
      "write_warm_ms": 557,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3644_colmap_stats",
      "num": 3644,
      "name": "colmap_stats",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3644_colmap_stats.py",
      "read_script": "generator/df-reads-spark/3644_colmap_stats.sql",
      "description": "Column mapping (name mode) + INSERT 100 with DECIMAL column. Tests that column statistics are written and readable with colmap.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 643,
      "write_warm_ms": 716,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "storage:statistics",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3645_colmap_not_null",
      "num": 3645,
      "name": "colmap_not_null",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3645_colmap_not_null.py",
      "read_script": "generator/df-reads-spark/3645_colmap_not_null.sql",
      "description": "Column mapping (name mode) + val INT NOT NULL + INSERT 100. Tests NOT NULL constraint with colmap.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 632,
      "write_warm_ms": 571,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3646_colmap_decimal",
      "num": 3646,
      "name": "colmap_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3646_colmap_decimal.py",
      "read_script": "generator/df-reads-spark/3646_colmap_decimal.sql",
      "description": "Column mapping (name mode) + DECIMAL(18,4) + INSERT 100. Tests high-precision decimal with colmap.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 647,
      "write_warm_ms": 751,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3647_colmap_binary",
      "num": 3647,
      "name": "colmap_binary",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3647_colmap_binary.py",
      "read_script": "generator/df-reads-spark/3647_colmap_binary.sql",
      "description": "Column mapping (name mode) + BINARY column + INSERT 50. Tests binary data type with colmap.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 617,
      "write_warm_ms": 610,
      "tags": [
        "type:binary",
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3648_colmap_array",
      "num": 3648,
      "name": "colmap_array",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3648_colmap_array.py",
      "read_script": "generator/df-reads-spark/3648_colmap_array.sql",
      "description": "Column mapping (name mode) + ARRAY<INT> + INSERT 50. Tests array column type with colmap.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 696,
      "write_warm_ms": 693,
      "tags": [
        "type:array",
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3649_colmap_map",
      "num": 3649,
      "name": "colmap_map",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3649_colmap_map.py",
      "read_script": "generator/df-reads-spark/3649_colmap_map.sql",
      "description": "Column mapping (name mode) + MAP<STRING,INT> + INSERT 50. Tests map column type with colmap.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 605,
      "write_warm_ms": 722,
      "tags": [
        "type:integer",
        "type:map",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/364_restore_version",
      "num": 364,
      "name": "restore_version",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/364_restore_version.py",
      "read_script": "generator/df-reads-spark/364_restore_version.sql",
      "description": "RESTORE TO VERSION command testing. 110 rows total.",
      "status": "pass",
      "duration_ms": 98,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 98,
      "read_warm_ms": 20,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3650_colmap_checkpoint",
      "num": 3650,
      "name": "colmap_checkpoint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3650_colmap_checkpoint.py",
      "read_script": "generator/df-reads-spark/3650_colmap_checkpoint.sql",
      "description": "Column mapping (name mode) + checkpointInterval=10 + 12 DMLs to trigger checkpoint creation. Final ~100 rows.",
      "status": "pass",
      "duration_ms": 37,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 37,
      "read_warm_ms": 5,
      "write_cold_ms": 6065,
      "write_warm_ms": 8584,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3651_conflict_write_write_same_part",
      "num": 3651,
      "name": "conflict_write_write_same_part",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3651_conflict_write_write_same_part.py",
      "read_script": "generator/df-reads-spark/3651_conflict_write_write_same_part.sql",
      "description": "PARTITIONED BY(region) + INSERT 100 + UPDATE region='r0' rows + UPDATE region='r0' again. Two successive updates to the same partition simulate concurrent-write patterns.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 12,
      "read_warm_ms": 2,
      "write_cold_ms": 3162,
      "write_warm_ms": 3137,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3652_conflict_write_write_disjoint",
      "num": 3652,
      "name": "conflict_write_write_disjoint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3652_conflict_write_write_disjoint.py",
      "read_script": "generator/df-reads-spark/3652_conflict_write_write_disjoint.sql",
      "description": "PARTITIONED BY(region) + INSERT 100 + UPDATE region='r0' + UPDATE region='r1'. Two successive updates to disjoint partitions -- no actual conflict.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "write_cold_ms": 2405,
      "write_warm_ms": 2616,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3653_conflict_merge_overlap",
      "num": 3653,
      "name": "conflict_merge_overlap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3653_conflict_merge_overlap.py",
      "read_script": "generator/df-reads-spark/3653_conflict_merge_overlap.sql",
      "description": "INSERT 100 + MERGE source1 (update id 1-50, val+1000) + MERGE source2 (update id 26-75, val+2000). Overlapping ranges processed sequentially.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 10,
      "read_warm_ms": 1,
      "write_cold_ms": 3908,
      "write_warm_ms": 5191,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3654_conflict_delete_update_same",
      "num": 3654,
      "name": "conflict_delete_update_same",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3654_conflict_delete_update_same.py",
      "read_script": "generator/df-reads-spark/3654_conflict_delete_update_same.sql",
      "description": "INSERT 100 + DELETE WHERE id<=50 + UPDATE SET val=999 WHERE id<=50 (no-op on deleted rows). The update targets already-deleted rows, so only 50 rows survive.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 2314,
      "write_warm_ms": 2002,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3655_conflict_append_append",
      "num": 3655,
      "name": "conflict_append_append",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3655_conflict_append_append.py",
      "read_script": "generator/df-reads-spark/3655_conflict_append_append.sql",
      "description": "INSERT 50 + INSERT 50 (id 51-100). Two sequential appends producing 100 rows. Tests basic append-only write patterns.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 1114,
      "write_warm_ms": 1195,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3656_conflict_cdc_merge_overlap",
      "num": 3656,
      "name": "conflict_cdc_merge_overlap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3656_conflict_cdc_merge_overlap.py",
      "read_script": "generator/df-reads-spark/3656_conflict_cdc_merge_overlap.sql",
      "description": "CDC + INSERT 50 + MERGE source1 (update 25) + MERGE source2 (update 25, overlapping).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 5544,
      "write_warm_ms": 4410,
      "tags": [
        "type:integer",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3657_conflict_colmap_write",
      "num": 3657,
      "name": "conflict_colmap_write",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3657_conflict_colmap_write.py",
      "read_script": "generator/df-reads-spark/3657_conflict_colmap_write.sql",
      "description": "Column mapping (name mode) + INSERT 100 + UPDATE WHERE id<=30 + UPDATE WHERE id<=30 (second round). Two consecutive updates to the same rows with colmap enabled.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 3785,
      "write_warm_ms": 3281,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3658_conflict_partition_merge",
      "num": 3658,
      "name": "conflict_partition_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3658_conflict_partition_merge.py",
      "read_script": "generator/df-reads-spark/3658_conflict_partition_merge.sql",
      "description": "PARTITIONED BY(region) + INSERT 100 + MERGE that updates across all partitions. Tests merge spanning multiple partitions simultaneously.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "write_cold_ms": 1960,
      "write_warm_ms": 2144,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3659_conflict_identity_concurrent",
      "num": 3659,
      "name": "conflict_identity_concurrent",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3659_conflict_identity_concurrent.py",
      "read_script": "generator/df-reads-spark/3659_conflict_identity_concurrent.sql",
      "description": "Sequential id (manual) + INSERT 50 + INSERT 50 (id 51-100, ensuring no gap). Tests that two sequential inserts produce a gapless id sequence.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 1844,
      "write_warm_ms": 1599,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "robust:concurrent-writes",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/365_restore_timestamp",
      "num": 365,
      "name": "restore_timestamp",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/365_restore_timestamp.py",
      "read_script": "generator/df-reads-spark/365_restore_timestamp.sql",
      "description": "RESTORE TO TIMESTAMP command testing. 105 rows.",
      "status": "pass",
      "duration_ms": 52,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 52,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3660_conflict_widen_during_write",
      "num": 3660,
      "name": "conflict_widen_during_write",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3660_conflict_widen_during_write.py",
      "read_script": "generator/df-reads-spark/3660_conflict_widen_during_write.sql",
      "description": "INT + INSERT 50 + widen to BIGINT + INSERT 50 (id 51-100). Simulates type widening between two write batches.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "write_cold_ms": 1738,
      "write_warm_ms": 2063,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3661_conflict_optimize_during_write",
      "num": 3661,
      "name": "conflict_optimize_during_write",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3661_conflict_optimize_during_write.py",
      "read_script": "generator/df-reads-spark/3661_conflict_optimize_during_write.sql",
      "description": "INSERT 50 + OPTIMIZE + INSERT 50 (id 51-100) + OPTIMIZE. OPTIMIZE interleaved between two inserts; both data and compaction correct.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 4080,
      "write_warm_ms": 4007,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3662_conflict_vacuum_during_write",
      "num": 3662,
      "name": "conflict_vacuum_during_write",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3662_conflict_vacuum_during_write.py",
      "read_script": "generator/df-reads-spark/3662_conflict_vacuum_during_write.sql",
      "description": "INSERT 50 + VACUUM RETAIN 0 + INSERT 50 (id 51-100). VACUUM between inserts. Old files are cleaned before the second batch.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "write_cold_ms": 13498,
      "write_warm_ms": 13258,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3663_conflict_restore_then_write",
      "num": 3663,
      "name": "conflict_restore_then_write",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3663_conflict_restore_then_write.py",
      "read_script": "generator/df-reads-spark/3663_conflict_restore_then_write.sql",
      "description": "INSERT 50 (v0) + INSERT 50 (v1, id 51-100) + RESTORE VERSION 0 + INSERT 25 (id 51-75). After restore, table has 50 rows; then 25 more appended. Final: 75 rows.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "write_cold_ms": 6388,
      "write_warm_ms": 5324,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3664_conflict_checkpoint_during_write",
      "num": 3664,
      "name": "conflict_checkpoint_during_write",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3664_conflict_checkpoint_during_write.py",
      "read_script": "generator/df-reads-spark/3664_conflict_checkpoint_during_write.sql",
      "description": "checkpointInterval=10 + 15 small batches (10 rows each) + 1 large insert (50 rows). Checkpoints are triggered automatically during the write sequence.",
      "status": "pass",
      "duration_ms": 46,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 46,
      "read_warm_ms": 7,
      "write_cold_ms": 10977,
      "write_warm_ms": 9095,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3665_conflict_evolve_during_write",
      "num": 3665,
      "name": "conflict_evolve_during_write",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3665_conflict_evolve_during_write.py",
      "read_script": "generator/df-reads-spark/3665_conflict_evolve_during_write.sql",
      "description": "INSERT 50 + ADD COLUMN new_col STRING + INSERT 50 (id 51-100, new_col='added_'+str(i)). Schema evolution between two writes.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 1627,
      "write_warm_ms": 1526,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3666_conflict_delete_merge_same",
      "num": 3666,
      "name": "conflict_delete_merge_same",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3666_conflict_delete_merge_same.py",
      "read_script": "generator/df-reads-spark/3666_conflict_delete_merge_same.sql",
      "description": "INSERT 100 + DELETE WHERE id<=30 + MERGE source with id 1-50 (re-insert 1-30, update 31-50).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "write_cold_ms": 5257,
      "write_warm_ms": 4157,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3667_conflict_ict_concurrent",
      "num": 3667,
      "name": "conflict_ict_concurrent",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3667_conflict_ict_concurrent.py",
      "read_script": "generator/df-reads-spark/3667_conflict_ict_concurrent.sql",
      "description": "In-commit timestamps + INSERT 50 + UPDATE WHERE id<=25 + INSERT 25 (id 51-75). Tests concurrent-style operations with ICT enabled.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 2534,
      "write_warm_ms": 2541,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "robust:concurrent-writes",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3668_conflict_rowtrack_concurrent",
      "num": 3668,
      "name": "conflict_rowtrack_concurrent",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3668_conflict_rowtrack_concurrent.py",
      "read_script": "generator/df-reads-spark/3668_conflict_rowtrack_concurrent.sql",
      "description": "Row tracking + INSERT 100 + UPDATE WHERE id<=30 + UPDATE WHERE id BETWEEN 20 AND 50. Overlapping update ranges with row tracking enabled.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "write_cold_ms": 3464,
      "write_warm_ms": 4550,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "robust:concurrent-writes",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3669_conflict_double_delete",
      "num": 3669,
      "name": "conflict_double_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3669_conflict_double_delete.py",
      "read_script": "generator/df-reads-spark/3669_conflict_double_delete.sql",
      "description": "INSERT 100 + DELETE WHERE id<=30 + DELETE WHERE id<=60 (30 more deleted). Sequential deletes with the second overlapping the first.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 2982,
      "write_warm_ms": 3373,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/366_restore_after_delete",
      "num": 366,
      "name": "restore_after_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/366_restore_after_delete.py",
      "read_script": "generator/df-reads-spark/366_restore_after_delete.sql",
      "description": "RESTORE to recover deleted rows. 1000 rows inserted, then DELETE id<=500. Final: 500 rows.",
      "status": "pass",
      "duration_ms": 35,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 35,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3670_conflict_merge_chain",
      "num": 3670,
      "name": "conflict_merge_chain",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3670_conflict_merge_chain.py",
      "read_script": "generator/df-reads-spark/3670_conflict_merge_chain.sql",
      "description": "INSERT 50 + MERGE source1 (25 update, 25 new id 51-75) + MERGE source2 (25 update, 25 new id 76-100). Chained merges expanding the table.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "write_cold_ms": 4395,
      "write_warm_ms": 5438,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3671_conflict_update_delete_update",
      "num": 3671,
      "name": "conflict_update_delete_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3671_conflict_update_delete_update.py",
      "read_script": "generator/df-reads-spark/3671_conflict_update_delete_update.sql",
      "description": "INSERT 100 + UPDATE id<=30 (val+100) + DELETE id<=15 + UPDATE id BETWEEN 16 AND 30 (val+200).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 5794,
      "write_warm_ms": 6056,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3672_conflict_merge_delete_merge",
      "num": 3672,
      "name": "conflict_merge_delete_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3672_conflict_merge_delete_merge.py",
      "read_script": "generator/df-reads-spark/3672_conflict_merge_delete_merge.sql",
      "description": "INSERT 100 + MERGE (update 30) + DELETE WHERE id>90 + MERGE (insert 20 new id 101-120).",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "write_cold_ms": 4599,
      "write_warm_ms": 4801,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3673_conflict_partition_delete_insert",
      "num": 3673,
      "name": "conflict_partition_delete_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3673_conflict_partition_delete_insert.py",
      "read_script": "generator/df-reads-spark/3673_conflict_partition_delete_insert.sql",
      "description": "PARTITIONED BY(cat) + INSERT 200 + DELETE WHERE cat='c0' + INSERT 50 new in cat='c0'. Partition-level delete followed by re-insert into the same partition.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "write_cold_ms": 3013,
      "write_warm_ms": 2719,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3674_conflict_cdc_delete_insert",
      "num": 3674,
      "name": "conflict_cdc_delete_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3674_conflict_cdc_delete_insert.py",
      "read_script": "generator/df-reads-spark/3674_conflict_cdc_delete_insert.sql",
      "description": "CDC + INSERT 100 + DELETE WHERE id<=50 + INSERT 50 new (id 101-150). Tests CDC tracking with delete-then-insert pattern.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 3722,
      "write_warm_ms": 2828,
      "tags": [
        "type:integer",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3675_conflict_colmap_evolve",
      "num": 3675,
      "name": "conflict_colmap_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3675_conflict_colmap_evolve.py",
      "read_script": "generator/df-reads-spark/3675_conflict_colmap_evolve.sql",
      "description": "Column mapping (name mode) + INSERT 50 + ADD COLUMN new_col INT + INSERT 50 (id 51-100). Schema evolution with colmap between two write batches.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 3487,
      "write_warm_ms": 2320,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3676_conflict_widen_merge",
      "num": 3676,
      "name": "conflict_widen_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3676_conflict_widen_merge.py",
      "read_script": "generator/df-reads-spark/3676_conflict_widen_merge.sql",
      "description": "INT + INSERT 100 + widen BIGINT + MERGE 50 (25 update with big vals, 25 new id 101-125).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "write_cold_ms": 3645,
      "write_warm_ms": 2670,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3677_conflict_optimize_delete",
      "num": 3677,
      "name": "conflict_optimize_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3677_conflict_optimize_delete.py",
      "read_script": "generator/df-reads-spark/3677_conflict_optimize_delete.sql",
      "description": "INSERT 200 + OPTIMIZE + DELETE WHERE id>100. OPTIMIZE runs before delete.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 3245,
      "write_warm_ms": 3576,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3678_conflict_vacuum_optimize",
      "num": 3678,
      "name": "conflict_vacuum_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3678_conflict_vacuum_optimize.py",
      "read_script": "generator/df-reads-spark/3678_conflict_vacuum_optimize.sql",
      "description": "INSERT 100 + UPDATE 50 + OPTIMIZE + VACUUM RETAIN 0. OPTIMIZE compacts, VACUUM cleans old files.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "write_cold_ms": 14084,
      "write_warm_ms": 14752,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3679_conflict_restore_merge",
      "num": 3679,
      "name": "conflict_restore_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3679_conflict_restore_merge.py",
      "read_script": "generator/df-reads-spark/3679_conflict_restore_merge.sql",
      "description": "INSERT 50 (v0) + MERGE 25 new id 51-75 (v1) + RESTORE v0 + MERGE 30 new id 51-80 (v3). After restore to v0 (50 rows), merge adds 30 new = 80 rows.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 11,
      "read_warm_ms": 1,
      "write_cold_ms": 7384,
      "write_warm_ms": 7178,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/367_restore_after_update",
      "num": 367,
      "name": "restore_after_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/367_restore_after_update.py",
      "read_script": "generator/df-reads-spark/367_restore_after_update.sql",
      "description": "RESTORE to recover old values after UPDATE. 500 rows, then UPDATE all status='inactive'. Final: 500 rows.",
      "status": "pass",
      "duration_ms": 41,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 41,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3680_conflict_three_updates",
      "num": 3680,
      "name": "conflict_three_updates",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3680_conflict_three_updates.py",
      "read_script": "generator/df-reads-spark/3680_conflict_three_updates.sql",
      "description": "INSERT 100 + UPDATE id<=30 (val+100) + UPDATE id<=60 (val+200) + UPDATE id<=90 (val+400). Three cascading updates with expanding ranges.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 6625,
      "write_warm_ms": 5569,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3681_conflict_merge_self_overlap",
      "num": 3681,
      "name": "conflict_merge_self_overlap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3681_conflict_merge_self_overlap.py",
      "read_script": "generator/df-reads-spark/3681_conflict_merge_self_overlap.sql",
      "description": "INSERT 100 + MERGE using a self-derived source (all rows, val=val+1). MERGE with a source derived from the target itself.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "write_cold_ms": 2030,
      "write_warm_ms": 2663,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3682_conflict_partition_optimize_vacuum",
      "num": 3682,
      "name": "conflict_partition_optimize_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3682_conflict_partition_optimize_vacuum.py",
      "read_script": "generator/df-reads-spark/3682_conflict_partition_optimize_vacuum.sql",
      "description": "PARTITIONED BY(cat) + INSERT 200 + OPTIMIZE + VACUUM RETAIN 0. Tests partition + compaction + vacuum chain.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 12984,
      "write_warm_ms": 13517,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3683_conflict_cdc_vacuum_optimize",
      "num": 3683,
      "name": "conflict_cdc_vacuum_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3683_conflict_cdc_vacuum_optimize.py",
      "read_script": "generator/df-reads-spark/3683_conflict_cdc_vacuum_optimize.sql",
      "description": "CDC + INSERT 100 + UPDATE 30 + OPTIMIZE + VACUUM RETAIN 0. CDC + OPTIMIZE + VACUUM combined.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 14447,
      "write_warm_ms": 15149,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3684_conflict_evolve_merge",
      "num": 3684,
      "name": "conflict_evolve_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3684_conflict_evolve_merge.py",
      "read_script": "generator/df-reads-spark/3684_conflict_evolve_merge.sql",
      "description": "INSERT 50 + ADD COLUMN new_col INT + MERGE 50 (25 update existing, 25 new id 51-75 with new_col).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "write_cold_ms": 2744,
      "write_warm_ms": 2989,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3685_conflict_identity_merge",
      "num": 3685,
      "name": "conflict_identity_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3685_conflict_identity_merge.py",
      "read_script": "generator/df-reads-spark/3685_conflict_identity_merge.sql",
      "description": "Sequential id + INSERT 50 + MERGE 30 (15 update id 1-15, 15 new id 51-65).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "write_cold_ms": 3075,
      "write_warm_ms": 2745,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3686_conflict_constraint_merge",
      "num": 3686,
      "name": "conflict_constraint_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3686_conflict_constraint_merge.py",
      "read_script": "generator/df-reads-spark/3686_conflict_constraint_merge.sql",
      "description": "CHECK(val>0) + INSERT 100 + MERGE 50 (25 update, 25 new, all val>0).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "write_cold_ms": 4101,
      "write_warm_ms": 4127,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3687_conflict_default_merge",
      "num": 3687,
      "name": "conflict_default_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3687_conflict_default_merge.py",
      "read_script": "generator/df-reads-spark/3687_conflict_default_merge.sql",
      "description": "val INT default-style (all zeroes simulating default) + INSERT 50 + MERGE 30 (15 update, 15 new with val=0).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 2229,
      "write_warm_ms": 2361,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3688_conflict_gencol_merge",
      "num": 3688,
      "name": "conflict_gencol_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3688_conflict_gencol_merge.py",
      "read_script": "generator/df-reads-spark/3688_conflict_gencol_merge.sql",
      "description": "Computed generated column gen=val*2 + INSERT 50 + MERGE 30 (15 update, 15 new id 51-65).",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "Generated columns + column mapping unsupported by Spark OSS (no source table)",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3689_conflict_dv_merge",
      "num": 3689,
      "name": "conflict_dv_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3689_conflict_dv_merge.py",
      "read_script": "generator/df-reads-spark/3689_conflict_dv_merge.sql",
      "description": "DV (deletion vectors) + INSERT 100 + DELETE 30 + MERGE 40 (20 update, 20 new id 101-120).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "write_cold_ms": 4500,
      "write_warm_ms": 5602,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/368_restore_schema_change",
      "num": 368,
      "name": "restore_schema_change",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/368_restore_schema_change.py",
      "read_script": "generator/df-reads-spark/368_restore_schema_change.sql",
      "description": "Schema changes during restore/time travel scenarios. 100 rows (id, name), then ADD COLUMN email, then INSERT 1 more row. Final: 101 rows.",
      "status": "pass",
      "duration_ms": 52,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 52,
      "read_warm_ms": 15,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3690_conflict_checkpoint_merge",
      "num": 3690,
      "name": "conflict_checkpoint_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3690_conflict_checkpoint_merge.py",
      "read_script": "generator/df-reads-spark/3690_conflict_checkpoint_merge.sql",
      "description": "checkpointInterval=10 + INSERT 100 + 10 small MERGEs (5 update, 5 new each). Checkpoints triggered during merge chain. Final: 100 + 50 = 150 rows.",
      "status": "pass",
      "duration_ms": 32,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 32,
      "read_warm_ms": 5,
      "write_cold_ms": 32417,
      "write_warm_ms": 30643,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3691_conflict_full_lifecycle",
      "num": 3691,
      "name": "conflict_full_lifecycle",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3691_conflict_full_lifecycle.py",
      "read_script": "generator/df-reads-spark/3691_conflict_full_lifecycle.sql",
      "description": "INSERT 200 + UPDATE 50 (id<=50, val+100) + DELETE 30 (id BETWEEN 51 AND 80) + MERGE 40 new (id 201-240) + OPTIMIZE + VACUUM RETAIN 0.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "write_cold_ms": 18075,
      "write_warm_ms": 17932,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3692_conflict_partition_widen",
      "num": 3692,
      "name": "conflict_partition_widen",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3692_conflict_partition_widen.py",
      "read_script": "generator/df-reads-spark/3692_conflict_partition_widen.sql",
      "description": "PARTITIONED BY(cat) + INT val + INSERT 100 + widen BIGINT + INSERT 50 (id 101-150). Partition + type widening combination.",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 15,
      "read_warm_ms": 3,
      "write_cold_ms": 1923,
      "write_warm_ms": 2196,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3693_conflict_colmap_cdc_merge",
      "num": 3693,
      "name": "conflict_colmap_cdc_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3693_conflict_colmap_cdc_merge.py",
      "read_script": "generator/df-reads-spark/3693_conflict_colmap_cdc_merge.sql",
      "description": "Column mapping + CDC + INSERT 50 + MERGE 30 (15 update, 15 new id 51-65). Three features combined.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "CDF + column mapping schema-change WRITE blocked by Spark OSS (no source table)",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3694_conflict_ict_merge",
      "num": 3694,
      "name": "conflict_ict_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3694_conflict_ict_merge.py",
      "read_script": "generator/df-reads-spark/3694_conflict_ict_merge.sql",
      "description": "In-commit timestamps + INSERT 50 + MERGE 30 (15 update, 15 new id 51-65). Tests ICT with merge operations.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 2179,
      "write_warm_ms": 2057,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3695_conflict_rowtrack_merge",
      "num": 3695,
      "name": "conflict_rowtrack_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3695_conflict_rowtrack_merge.py",
      "read_script": "generator/df-reads-spark/3695_conflict_rowtrack_merge.sql",
      "description": "Row tracking + INSERT 50 + MERGE 30 (15 update, 15 new id 51-65). Tests row tracking with merge operations.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "write_cold_ms": 2024,
      "write_warm_ms": 3043,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3696_conflict_widen_cdc_merge",
      "num": 3696,
      "name": "conflict_widen_cdc_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3696_conflict_widen_cdc_merge.py",
      "read_script": "generator/df-reads-spark/3696_conflict_widen_cdc_merge.sql",
      "description": "CDC + INT + INSERT 50 + widen BIGINT + MERGE 25 new (id 51-75). CDC + type widening + merge.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "CDF + column mapping schema-change WRITE blocked by Spark OSS (no source table)",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3697_conflict_restore_optimize",
      "num": 3697,
      "name": "conflict_restore_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3697_conflict_restore_optimize.py",
      "read_script": "generator/df-reads-spark/3697_conflict_restore_optimize.sql",
      "description": "INSERT 100 (v0) + OPTIMIZE (v1) + RESTORE VERSION 0 (v2). After restore, table is back to v0 state (pre-OPTIMIZE).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "write_cold_ms": 5184,
      "write_warm_ms": 5031,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3698_conflict_evolve_delete_merge",
      "num": 3698,
      "name": "conflict_evolve_delete_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3698_conflict_evolve_delete_merge.py",
      "read_script": "generator/df-reads-spark/3698_conflict_evolve_delete_merge.sql",
      "description": "INSERT 100 + ADD COLUMN extra STRING + DELETE WHERE id<=30 + MERGE 20 new (id 101-120).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 3295,
      "write_warm_ms": 5403,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3699_conflict_multi_widen_merge",
      "num": 3699,
      "name": "conflict_multi_widen_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3699_conflict_multi_widen_merge.py",
      "read_script": "generator/df-reads-spark/3699_conflict_multi_widen_merge.sql",
      "description": "INT + INSERT 50 + widen to BIGINT + MERGE 25 new (id 51-75). Type widening followed by merge of new rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "write_cold_ms": 2855,
      "write_warm_ms": 3236,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/369_restore_partitioned",
      "num": 369,
      "name": "restore_partitioned",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/369_restore_partitioned.py",
      "read_script": "generator/df-reads-spark/369_restore_partitioned.sql",
      "description": "Partitioned table operations with DELETE and restore. 300 rows, DELETE US/2023 partition, INSERT LATAM/2024. Final: 251 rows.",
      "status": "pass",
      "duration_ms": 125,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 125,
      "read_warm_ms": 53,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/36_dv_binary_format_roaring",
      "num": 36,
      "name": "dv_binary_format_roaring",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/36_dv_binary_format_roaring.py",
      "read_script": "generator/df-reads-spark/36_dv_binary_format_roaring.sql",
      "description": "Telecom CDR - GDPR Compliance with RoaringBitmap DV binary format. 5000 initial records, then multiple DELETE operations.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 2372,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3700_conflict_ultimate",
      "num": 3700,
      "name": "conflict_ultimate",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3700_conflict_ultimate.py",
      "read_script": "generator/df-reads-spark/3700_conflict_ultimate.sql",
      "description": "INSERT 200 + UPDATE 50 + DELETE 30 + MERGE 40 new + OPTIMIZE + VACUUM RETAIN 0.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "CDF + column mapping schema-change WRITE blocked by Spark OSS (no source table)",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3701_checkpoint_v1_after_insert",
      "num": 3701,
      "name": "checkpoint_v1_after_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3701_checkpoint_v1_after_insert.py",
      "read_script": "generator/df-reads-spark/3701_checkpoint_v1_after_insert.sql",
      "description": "Writes 11 batches of 10 rows each (110 total) with checkpointInterval=10 so that a v1 Parquet checkpoint is written after the 10th commit. val = id * 3.",
      "status": "pass",
      "duration_ms": 27,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 27,
      "read_warm_ms": 5,
      "write_cold_ms": 9176,
      "write_warm_ms": 9840,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:checkpoint-v1",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3702_checkpoint_v1_after_mixed_dml",
      "num": 3702,
      "name": "checkpoint_v1_after_mixed_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3702_checkpoint_v1_after_mixed_dml.py",
      "read_script": "generator/df-reads-spark/3702_checkpoint_v1_after_mixed_dml.sql",
      "description": "INSERT 100 rows, UPDATE 30, DELETE 20, then 8x INSERT 5 rows to trigger a checkpoint (checkpointInterval=10). val = id * 4.",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 19,
      "read_warm_ms": 3,
      "write_cold_ms": 10836,
      "write_warm_ms": 7312,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:checkpoint-v1",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3703_checkpoint_after_schema_evolve",
      "num": 3703,
      "name": "checkpoint_after_schema_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3703_checkpoint_after_schema_evolve.py",
      "read_script": "generator/df-reads-spark/3703_checkpoint_after_schema_evolve.sql",
      "description": "INSERT 50 rows (ids 1-50), ADD COLUMN extra STRING, INSERT 50 rows (ids 51-100) with extra populated, then 10 more small inserts of 5 (ids 101-150) to trigger checkpoint. val = id * 5.",
      "status": "pass",
      "duration_ms": 28,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 28,
      "read_warm_ms": 5,
      "write_cold_ms": 6531,
      "write_warm_ms": 6363,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3704_checkpoint_after_optimize",
      "num": 3704,
      "name": "checkpoint_after_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3704_checkpoint_after_optimize.py",
      "read_script": "generator/df-reads-spark/3704_checkpoint_after_optimize.sql",
      "description": "20x INSERT 5 rows + OPTIMIZE + 10 more small inserts (trigger checkpoint). val = id * 6. Total: 20*5 + 10*5 = 150.",
      "status": "pass",
      "duration_ms": 35,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 35,
      "read_warm_ms": 3,
      "write_cold_ms": 21657,
      "write_warm_ms": 24398,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3705_checkpoint_after_vacuum",
      "num": 3705,
      "name": "checkpoint_after_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3705_checkpoint_after_vacuum.py",
      "read_script": "generator/df-reads-spark/3705_checkpoint_after_vacuum.sql",
      "description": "INSERT 100 rows, UPDATE 50, VACUUM RETAIN 0, then 10x INSERT 5 rows to trigger checkpoint. val = id * 3. Final: 100 + 10*5 = 150.",
      "status": "pass",
      "duration_ms": 27,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 27,
      "read_warm_ms": 4,
      "write_cold_ms": 21754,
      "write_warm_ms": 20060,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3706_checkpoint_colmap_state",
      "num": 3706,
      "name": "checkpoint_colmap_state",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3706_checkpoint_colmap_state.py",
      "read_script": "generator/df-reads-spark/3706_checkpoint_colmap_state.sql",
      "description": "Column mapping (name mode) + checkpointInterval=10 + 12x INSERT 10 rows. val = id * 4. Final: 120 rows.",
      "status": "pass",
      "duration_ms": 31,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 31,
      "read_warm_ms": 5,
      "write_cold_ms": 7073,
      "write_warm_ms": 10340,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3707_checkpoint_cdc_state",
      "num": 3707,
      "name": "checkpoint_cdc_state",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3707_checkpoint_cdc_state.py",
      "read_script": "generator/df-reads-spark/3707_checkpoint_cdc_state.sql",
      "description": "CDC enabled + checkpointInterval=10 + 12x INSERT 10 rows. val = id * 5. Final: 120 rows.",
      "status": "pass",
      "duration_ms": 32,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 32,
      "read_warm_ms": 6,
      "write_cold_ms": 9815,
      "write_warm_ms": 9265,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3708_checkpoint_identity_hwm",
      "num": 3708,
      "name": "checkpoint_identity_hwm",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3708_checkpoint_identity_hwm.py",
      "read_script": "generator/df-reads-spark/3708_checkpoint_identity_hwm.sql",
      "description": "Sequential id (simulated identity) + checkpointInterval=10 + 12x INSERT 10. val = id * 7. Final: 120 rows.",
      "status": "pass",
      "duration_ms": 31,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 31,
      "read_warm_ms": 5,
      "write_cold_ms": 6033,
      "write_warm_ms": 8933,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3709_checkpoint_constraint_metadata",
      "num": 3709,
      "name": "checkpoint_constraint_metadata",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3709_checkpoint_constraint_metadata.py",
      "read_script": "generator/df-reads-spark/3709_checkpoint_constraint_metadata.sql",
      "description": "CHECK(val>0) constraint + checkpointInterval=10 + 12x INSERT 10 rows. val = id * 3. Final: 120 rows.",
      "status": "pass",
      "duration_ms": 28,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 28,
      "read_warm_ms": 6,
      "write_cold_ms": 10846,
      "write_warm_ms": 13267,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/370_restore_after_merge",
      "num": 370,
      "name": "restore_after_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/370_restore_after_merge.py",
      "read_script": "generator/df-reads-spark/370_restore_after_merge.sql",
      "description": "RESTORE after MERGE operations. ids 1-49: original (value=id*10, source='original') ids 50-100: merged (value=id*100, source='merged') ids 101-150: new (value=id*100, source='new')",
      "status": "pass",
      "duration_ms": 50,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 50,
      "read_warm_ms": 20,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3710_checkpoint_partition_info",
      "num": 3710,
      "name": "checkpoint_partition_info",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3710_checkpoint_partition_info.py",
      "read_script": "generator/df-reads-spark/3710_checkpoint_partition_info.sql",
      "description": "PARTITIONED BY(cat) + checkpointInterval=10 + 12x INSERT 20 rows. val = id * 4, cat = 'c' + str(i % 4). Final: 240 rows.",
      "status": "pass",
      "duration_ms": 53,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 53,
      "read_warm_ms": 13,
      "write_cold_ms": 7519,
      "write_warm_ms": 6546,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3711_checkpoint_widen_state",
      "num": 3711,
      "name": "checkpoint_widen_state",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3711_checkpoint_widen_state.py",
      "read_script": "generator/df-reads-spark/3711_checkpoint_widen_state.sql",
      "description": "INT column + checkpointInterval=10 + INSERT 50 rows + widen to BIGINT + 10x INSERT 5 rows. val = id * 10. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 24,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 24,
      "read_warm_ms": 4,
      "write_cold_ms": 9063,
      "write_warm_ms": 10221,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3712_checkpoint_ict_state",
      "num": 3712,
      "name": "checkpoint_ict_state",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3712_checkpoint_ict_state.py",
      "read_script": "generator/df-reads-spark/3712_checkpoint_ict_state.sql",
      "description": "ICT (in-commit timestamps) + checkpointInterval=10 + 12x INSERT 10 rows. val = id * 6. Final: 120 rows.",
      "status": "pass",
      "duration_ms": 28,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 28,
      "read_warm_ms": 5,
      "write_cold_ms": 7201,
      "write_warm_ms": 7568,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3713_checkpoint_rowtrack_state",
      "num": 3713,
      "name": "checkpoint_rowtrack_state",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3713_checkpoint_rowtrack_state.py",
      "read_script": "generator/df-reads-spark/3713_checkpoint_rowtrack_state.sql",
      "description": "Row tracking + checkpointInterval=10 + 12x INSERT 10 rows. val = id * 8. Final: 120 rows.",
      "status": "pass",
      "duration_ms": 31,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 31,
      "read_warm_ms": 6,
      "write_cold_ms": 13693,
      "write_warm_ms": 11914,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3714_checkpoint_gencol_state",
      "num": 3714,
      "name": "checkpoint_gencol_state",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3714_checkpoint_gencol_state.py",
      "read_script": "generator/df-reads-spark/3714_checkpoint_gencol_state.sql",
      "description": "Computed generated column (gen = val * 2) + checkpointInterval=10 + 12x INSERT 10 rows. val = id * 4. Final: 120 rows.",
      "status": "pass",
      "duration_ms": 33,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 33,
      "read_warm_ms": 6,
      "write_cold_ms": 8751,
      "write_warm_ms": 10424,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3715_checkpoint_default_state",
      "num": 3715,
      "name": "checkpoint_default_state",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3715_checkpoint_default_state.py",
      "read_script": "generator/df-reads-spark/3715_checkpoint_default_state.sql",
      "description": "Default value (val=0) column + checkpointInterval=10 + 12x INSERT 10. val = 0 for all rows (using default). Final: 120 rows.",
      "status": "pass",
      "duration_ms": 31,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 31,
      "read_warm_ms": 5,
      "write_cold_ms": 9651,
      "write_warm_ms": 5072,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3716_checkpoint_after_restore",
      "num": 3716,
      "name": "checkpoint_after_restore",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3716_checkpoint_after_restore.py",
      "read_script": "generator/df-reads-spark/3716_checkpoint_after_restore.sql",
      "description": "INSERT 100 rows (v1), DELETE 50 (v2), RESTORE to v1 (v3), then 10x INSERT 5 rows to trigger checkpoint. val = id * 5. Final: 150 rows.",
      "status": "pass",
      "duration_ms": 25,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 25,
      "read_warm_ms": 4,
      "write_cold_ms": 11581,
      "write_warm_ms": 10384,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3717_checkpoint_many_versions",
      "num": 3717,
      "name": "checkpoint_many_versions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3717_checkpoint_many_versions.py",
      "read_script": "generator/df-reads-spark/3717_checkpoint_many_versions.sql",
      "description": "checkpointInterval=10 + 50x INSERT 2 rows (many small versions). val = id * 3. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 49,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 49,
      "read_warm_ms": 6,
      "write_cold_ms": 22432,
      "write_warm_ms": 22209,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3718_checkpoint_merge_heavy",
      "num": 3718,
      "name": "checkpoint_merge_heavy",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3718_checkpoint_merge_heavy.py",
      "read_script": "generator/df-reads-spark/3718_checkpoint_merge_heavy.sql",
      "description": "INSERT 100 rows, then 10x MERGE: each MERGE updates 5 existing rows and inserts 5 new rows. val = id * 4. Final: 100 + 10*5 = 150 rows.",
      "status": "pass",
      "duration_ms": 29,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 29,
      "read_warm_ms": 7,
      "write_cold_ms": 15003,
      "write_warm_ms": 30703,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3719_checkpoint_dv_state",
      "num": 3719,
      "name": "checkpoint_dv_state",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3719_checkpoint_dv_state.py",
      "read_script": "generator/df-reads-spark/3719_checkpoint_dv_state.sql",
      "description": "Deletion vectors + INSERT 100 + DELETE 30 (DVs) + 10x INSERT 5 rows to trigger checkpoint. val = id * 7. Final: 70 + 50 = 120 rows.",
      "status": "pass",
      "duration_ms": 23,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 23,
      "read_warm_ms": 3,
      "write_cold_ms": 10710,
      "write_warm_ms": 9237,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/371_restore_after_optimize",
      "num": 371,
      "name": "restore_after_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/371_restore_after_optimize.py",
      "read_script": "generator/df-reads-spark/371_restore_after_optimize.sql",
      "description": "RESTORE after OPTIMIZE. 50 rows, one per batch (individual inserts for fragmentation).",
      "status": "pass",
      "duration_ms": 342,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 342,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3720_checkpoint_multi_feature",
      "num": 3720,
      "name": "checkpoint_multi_feature",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3720_checkpoint_multi_feature.py",
      "read_script": "generator/df-reads-spark/3720_checkpoint_multi_feature.sql",
      "description": "colmap=name + CDC + checkpointInterval=10 + 12x INSERT 10 rows. val = id * 5. Final: 120 rows.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "CDF + column mapping schema-change WRITE blocked by Spark OSS (no source table)",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3721_protocol_min_reader_v1",
      "num": 3721,
      "name": "protocol_min_reader_v1",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3721_protocol_min_reader_v1.py",
      "read_script": "generator/df-reads-spark/3721_protocol_min_reader_v1.sql",
      "description": "Basic table with minReaderVersion=1, minWriterVersion=2. INSERT 100 rows. val = id * 3. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 531,
      "write_warm_ms": 1080,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3722_protocol_reader_v2_colmap",
      "num": 3722,
      "name": "protocol_reader_v2_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3722_protocol_reader_v2_colmap.py",
      "read_script": "generator/df-reads-spark/3722_protocol_reader_v2_colmap.sql",
      "description": "reader=2, writer=5, column mapping name mode. INSERT 100 rows. val = id * 5. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 726,
      "write_warm_ms": 594,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3723_protocol_reader_v3_dv",
      "num": 3723,
      "name": "protocol_reader_v3_dv",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3723_protocol_reader_v3_dv.py",
      "read_script": "generator/df-reads-spark/3723_protocol_reader_v3_dv.sql",
      "description": "Deletion vectors (reader=3 implicit). INSERT 100 rows + DELETE 30. val = id * 4. Final: 70 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 2280,
      "write_warm_ms": 1659,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3724_protocol_writer_v2_append",
      "num": 3724,
      "name": "protocol_writer_v2_append",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3724_protocol_writer_v2_append.py",
      "read_script": "generator/df-reads-spark/3724_protocol_writer_v2_append.sql",
      "description": "writer=2, appendOnly=true. INSERT 100 rows. val = id * 6. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 796,
      "write_warm_ms": 673,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3725_protocol_writer_v3_constraints",
      "num": 3725,
      "name": "protocol_writer_v3_constraints",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3725_protocol_writer_v3_constraints.py",
      "read_script": "generator/df-reads-spark/3725_protocol_writer_v3_constraints.sql",
      "description": "writer=3, CHECK(val>0). INSERT 100 rows. val = id * 7. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 1775,
      "write_warm_ms": 1536,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3726_protocol_writer_v4_cdc",
      "num": 3726,
      "name": "protocol_writer_v4_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3726_protocol_writer_v4_cdc.py",
      "read_script": "generator/df-reads-spark/3726_protocol_writer_v4_cdc.sql",
      "description": "writer=4, CDC. INSERT 100 rows + UPDATE 30. val = id * 3. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 2078,
      "write_warm_ms": 1706,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3727_protocol_writer_v5_colmap",
      "num": 3727,
      "name": "protocol_writer_v5_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3727_protocol_writer_v5_colmap.py",
      "read_script": "generator/df-reads-spark/3727_protocol_writer_v5_colmap.sql",
      "description": "writer=5, colmap=name. INSERT 100 rows. val = id * 8. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "write_cold_ms": 793,
      "write_warm_ms": 1113,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3728_protocol_writer_v7_features",
      "num": 3728,
      "name": "protocol_writer_v7_features",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3728_protocol_writer_v7_features.py",
      "read_script": "generator/df-reads-spark/3728_protocol_writer_v7_features.sql",
      "description": "writer=7 with DV + rowTracking + ICT. INSERT 100 rows + DELETE 20. val = id * 4. Final: 80 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 2390,
      "write_warm_ms": 2322,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3729_protocol_upgrade_v1_to_v3",
      "num": 3729,
      "name": "protocol_upgrade_v1_to_v3",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3729_protocol_upgrade_v1_to_v3.py",
      "read_script": "generator/df-reads-spark/3729_protocol_upgrade_v1_to_v3.sql",
      "description": "Start minimal protocol then enable DV (forces upgrade). INSERT 50 + enable DV + DELETE 20. val = id * 5. Final: 30 rows.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "write_cold_ms": 3485,
      "write_warm_ms": 2074,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/372_restore_creates_version",
      "num": 372,
      "name": "restore_creates_version",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/372_restore_creates_version.py",
      "read_script": "generator/df-reads-spark/372_restore_creates_version.sql",
      "description": "Version tracking during restore operations. 6 rows (versions 0-5).",
      "status": "pass",
      "duration_ms": 58,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 58,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3730_protocol_multi_feature",
      "num": 3730,
      "name": "protocol_multi_feature",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3730_protocol_multi_feature.py",
      "read_script": "generator/df-reads-spark/3730_protocol_multi_feature.sql",
      "description": "DV + CDC + colmap + ICT. INSERT 100 rows. val = id * 6. Final: 100 rows.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "CDF + column mapping schema-change WRITE blocked by Spark OSS (no source table)",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3731_protocol_table_features_dv",
      "num": 3731,
      "name": "protocol_table_features_dv",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3731_protocol_table_features_dv.py",
      "read_script": "generator/df-reads-spark/3731_protocol_table_features_dv.sql",
      "description": "Table features style with DV. INSERT 100 + DELETE 30. val = id * 3. Final: 70 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 1471,
      "write_warm_ms": 2022,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3732_protocol_table_features_cdc",
      "num": 3732,
      "name": "protocol_table_features_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3732_protocol_table_features_cdc.py",
      "read_script": "generator/df-reads-spark/3732_protocol_table_features_cdc.sql",
      "description": "Table features + CDC. INSERT 100 + UPDATE 20. val = id * 4. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "write_cold_ms": 1945,
      "write_warm_ms": 1796,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3733_protocol_table_features_colmap",
      "num": 3733,
      "name": "protocol_table_features_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3733_protocol_table_features_colmap.py",
      "read_script": "generator/df-reads-spark/3733_protocol_table_features_colmap.sql",
      "description": "Table features + colmap. INSERT 100. val = id * 5. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 602,
      "write_warm_ms": 684,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3734_protocol_table_features_ict",
      "num": 3734,
      "name": "protocol_table_features_ict",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3734_protocol_table_features_ict.py",
      "read_script": "generator/df-reads-spark/3734_protocol_table_features_ict.sql",
      "description": "Table features + ICT. INSERT 100. val = id * 7. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 637,
      "write_warm_ms": 527,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3735_protocol_table_features_rowtrack",
      "num": 3735,
      "name": "protocol_table_features_rowtrack",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3735_protocol_table_features_rowtrack.py",
      "read_script": "generator/df-reads-spark/3735_protocol_table_features_rowtrack.sql",
      "description": "Table features + rowTracking. INSERT 100. val = id * 8. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 586,
      "write_warm_ms": 627,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3736_protocol_table_features_widen",
      "num": 3736,
      "name": "protocol_table_features_widen",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3736_protocol_table_features_widen.py",
      "read_script": "generator/df-reads-spark/3736_protocol_table_features_widen.sql",
      "description": "Table features + typeWidening. INT + INSERT 50 + widen to BIGINT. val = id * 10. Final: 50 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 714,
      "write_warm_ms": 593,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3737_protocol_reader_writer_matrix",
      "num": 3737,
      "name": "protocol_reader_writer_matrix",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3737_protocol_reader_writer_matrix.py",
      "read_script": "generator/df-reads-spark/3737_protocol_reader_writer_matrix.sql",
      "description": "reader=1, writer=7. INSERT 100. val = id * 3. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 546,
      "write_warm_ms": 617,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3738_protocol_v2_checkpoint",
      "num": 3738,
      "name": "protocol_v2_checkpoint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3738_protocol_v2_checkpoint.py",
      "read_script": "generator/df-reads-spark/3738_protocol_v2_checkpoint.sql",
      "description": "writer=7 + checkpointInterval=10 + 12x INSERT 10. val = id * 4. Final: 120.",
      "status": "pass",
      "duration_ms": 29,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 29,
      "read_warm_ms": 5,
      "write_cold_ms": 5031,
      "write_warm_ms": 5715,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3739_protocol_all_features",
      "num": 3739,
      "name": "protocol_all_features",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3739_protocol_all_features.py",
      "read_script": "generator/df-reads-spark/3739_protocol_all_features.sql",
      "description": "writer=7 with DV+CDC+colmap+ICT+rowTrack. INSERT 100 + UPDATE 30 + DELETE 20. val = id * 5. Final: 80 rows.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "CDF + column mapping schema-change WRITE blocked by Spark OSS (no source table)",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/373_restore_with_dvs",
      "num": 373,
      "name": "restore_with_dvs",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/373_restore_with_dvs.py",
      "read_script": "generator/df-reads-spark/373_restore_with_dvs.sql",
      "description": "Restore behavior with deletion vectors. 500 rows, then DELETE even ids. Final: 250 rows (odd ids only).",
      "status": "pass",
      "duration_ms": 45,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 45,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3740_protocol_basic_minimal",
      "num": 3740,
      "name": "protocol_basic_minimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3740_protocol_basic_minimal.py",
      "read_script": "generator/df-reads-spark/3740_protocol_basic_minimal.sql",
      "description": "Minimal protocol (no extra features). INSERT 100. val = id * 9. Final: 100.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 502,
      "write_warm_ms": 622,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3741_rowtrack_basic_insert",
      "num": 3741,
      "name": "rowtrack_basic_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3741_rowtrack_basic_insert.py",
      "read_script": "generator/df-reads-spark/3741_rowtrack_basic_insert.sql",
      "description": "Row tracking + INSERT 100. val = id * 3. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 799,
      "write_warm_ms": 620,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3742_rowtrack_update_tracking",
      "num": 3742,
      "name": "rowtrack_update_tracking",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3742_rowtrack_update_tracking.py",
      "read_script": "generator/df-reads-spark/3742_rowtrack_update_tracking.sql",
      "description": "Row tracking + INSERT 100 + UPDATE 30. val = id * 4. Final: 100 rows. Updated rows (ids 1-30): val = id * 8.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 2413,
      "write_warm_ms": 2153,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3743_rowtrack_merge_tracking",
      "num": 3743,
      "name": "rowtrack_merge_tracking",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3743_rowtrack_merge_tracking.py",
      "read_script": "generator/df-reads-spark/3743_rowtrack_merge_tracking.sql",
      "description": "Row tracking + INSERT 50 + MERGE 30 (15 update, 15 new). val = id * 5. Final: 65 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "write_cold_ms": 2075,
      "write_warm_ms": 1826,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3744_rowtrack_optimize_preserve",
      "num": 3744,
      "name": "rowtrack_optimize_preserve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3744_rowtrack_optimize_preserve.py",
      "read_script": "generator/df-reads-spark/3744_rowtrack_optimize_preserve.sql",
      "description": "Row tracking + 20x INSERT 5 + OPTIMIZE. val = id * 6. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 24,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 24,
      "read_warm_ms": 1,
      "write_cold_ms": 16423,
      "write_warm_ms": 16764,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3745_rowtrack_restore_tracking",
      "num": 3745,
      "name": "rowtrack_restore_tracking",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3745_rowtrack_restore_tracking.py",
      "read_script": "generator/df-reads-spark/3745_rowtrack_restore_tracking.sql",
      "description": "Row tracking + INSERT 100 (v0) + DELETE 50 (v1) + RESTORE v0. val = id * 7. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "write_cold_ms": 5238,
      "write_warm_ms": 4609,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3746_rowtrack_time_travel",
      "num": 3746,
      "name": "rowtrack_time_travel",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3746_rowtrack_time_travel.py",
      "read_script": "generator/df-reads-spark/3746_rowtrack_time_travel.sql",
      "description": "Row tracking + INSERT 50 (v0) + INSERT 50 more (v1, ids 51-100). val = id * 8. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "write_cold_ms": 1831,
      "write_warm_ms": 1362,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3747_rowtrack_cdc_combined",
      "num": 3747,
      "name": "rowtrack_cdc_combined",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3747_rowtrack_cdc_combined.py",
      "read_script": "generator/df-reads-spark/3747_rowtrack_cdc_combined.sql",
      "description": "Row tracking + CDC + INSERT 100 + UPDATE 30. val = id * 3. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "write_cold_ms": 2507,
      "write_warm_ms": 2400,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3748_rowtrack_widen",
      "num": 3748,
      "name": "rowtrack_widen",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3748_rowtrack_widen.py",
      "read_script": "generator/df-reads-spark/3748_rowtrack_widen.sql",
      "description": "Row tracking + INT + INSERT 50 + widen to BIGINT + INSERT 50 (ids 51-100). val = id * 10. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 2454,
      "write_warm_ms": 2648,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3749_rowtrack_colmap",
      "num": 3749,
      "name": "rowtrack_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3749_rowtrack_colmap.py",
      "read_script": "generator/df-reads-spark/3749_rowtrack_colmap.sql",
      "description": "Row tracking + colmap=name + INSERT 100. val = id * 4. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "write_cold_ms": 1113,
      "write_warm_ms": 1115,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/374_restore_cross_engine",
      "num": 374,
      "name": "restore_cross_engine",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/374_restore_cross_engine.py",
      "read_script": "generator/df-reads-spark/374_restore_cross_engine.sql",
      "description": "Cross-engine RESTORE compatibility. Complex version history with INSERT/UPDATE/DELETE/OPTIMIZE.",
      "status": "pass",
      "duration_ms": 56,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 56,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:optimize",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3750_rowtrack_partition",
      "num": 3750,
      "name": "rowtrack_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3750_rowtrack_partition.py",
      "read_script": "generator/df-reads-spark/3750_rowtrack_partition.sql",
      "description": "Row tracking + PARTITIONED BY(cat) + INSERT 200. val = id * 5, cat = 'c' + str((id-1) % 4). Final: 200 rows.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "write_cold_ms": 829,
      "write_warm_ms": 617,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3751_rowtrack_constraint",
      "num": 3751,
      "name": "rowtrack_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3751_rowtrack_constraint.py",
      "read_script": "generator/df-reads-spark/3751_rowtrack_constraint.sql",
      "description": "Row tracking + CHECK(val>0) + INSERT 100. val = id * 6. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 1590,
      "write_warm_ms": 1767,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3752_rowtrack_default",
      "num": 3752,
      "name": "rowtrack_default",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3752_rowtrack_default.py",
      "read_script": "generator/df-reads-spark/3752_rowtrack_default.sql",
      "description": "Row tracking + val INT DEFAULT 0 + INSERT 100 (val=0 for all).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 692,
      "write_warm_ms": 684,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3753_rowtrack_identity_style",
      "num": 3753,
      "name": "rowtrack_identity_style",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3753_rowtrack_identity_style.py",
      "read_script": "generator/df-reads-spark/3753_rowtrack_identity_style.sql",
      "description": "Row tracking + sequential id (simulated identity) + INSERT 100. val = id * 7. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 1125,
      "write_warm_ms": 1001,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3754_rowtrack_gencol_style",
      "num": 3754,
      "name": "rowtrack_gencol_style",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3754_rowtrack_gencol_style.py",
      "read_script": "generator/df-reads-spark/3754_rowtrack_gencol_style.sql",
      "description": "Row tracking + computed gen=val*2 + INSERT 100. val = id * 4, gen = id * 8. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 569,
      "write_warm_ms": 630,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3755_rowtrack_delete_update",
      "num": 3755,
      "name": "rowtrack_delete_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3755_rowtrack_delete_update.py",
      "read_script": "generator/df-reads-spark/3755_rowtrack_delete_update.sql",
      "description": "Row tracking + INSERT 100 + DELETE 30 + UPDATE 20. val = id * 5. Final: 70 rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "write_cold_ms": 3981,
      "write_warm_ms": 5048,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3756_rowtrack_merge_delete",
      "num": 3756,
      "name": "rowtrack_merge_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3756_rowtrack_merge_delete.py",
      "read_script": "generator/df-reads-spark/3756_rowtrack_merge_delete.sql",
      "description": "Row tracking + INSERT 100 + MERGE (delete 20, update 30, insert 10). val = id * 3. Final: 90 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 2594,
      "write_warm_ms": 2860,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3757_rowtrack_vacuum",
      "num": 3757,
      "name": "rowtrack_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3757_rowtrack_vacuum.py",
      "read_script": "generator/df-reads-spark/3757_rowtrack_vacuum.sql",
      "description": "Row tracking + INSERT 100 + UPDATE 50 + VACUUM RETAIN 0. val = id * 6. Final: 100 rows. Updated ids 1-50: val = id * 12.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 13949,
      "write_warm_ms": 14471,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3758_rowtrack_checkpoint",
      "num": 3758,
      "name": "rowtrack_checkpoint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3758_rowtrack_checkpoint.py",
      "read_script": "generator/df-reads-spark/3758_rowtrack_checkpoint.sql",
      "description": "Row tracking + checkpointInterval=10 + 12x INSERT 10. val = id * 4. Final: 120 rows.",
      "status": "pass",
      "duration_ms": 30,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 30,
      "read_warm_ms": 5,
      "write_cold_ms": 9153,
      "write_warm_ms": 9314,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3759_rowtrack_many_versions",
      "num": 3759,
      "name": "rowtrack_many_versions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3759_rowtrack_many_versions.py",
      "read_script": "generator/df-reads-spark/3759_rowtrack_many_versions.sql",
      "description": "Row tracking + 20x INSERT 5. val = id * 8. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 34,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 34,
      "read_warm_ms": 5,
      "write_cold_ms": 14318,
      "write_warm_ms": 14603,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/375_restore_comprehensive",
      "num": 375,
      "name": "restore_comprehensive",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/375_restore_comprehensive.py",
      "read_script": "generator/df-reads-spark/375_restore_comprehensive.sql",
      "description": "Comprehensive RESTORE testing with multiple restores and rich history.",
      "status": "pass",
      "duration_ms": 67,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 67,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:optimize",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3760_rowtrack_full_lifecycle",
      "num": 3760,
      "name": "rowtrack_full_lifecycle",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3760_rowtrack_full_lifecycle.py",
      "read_script": "generator/df-reads-spark/3760_rowtrack_full_lifecycle.sql",
      "description": "Row tracking + INSERT 100 + UPDATE 30 + DELETE 20 + MERGE 40 (add 10 new, update 30 existing) + OPTIMIZE + VACUUM RETAIN 0. val = id * 3. Final: ~140 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 18212,
      "write_warm_ms": 18013,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:row-tracking",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3761_ict_basic_monotonic",
      "num": 3761,
      "name": "ict_basic_monotonic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3761_ict_basic_monotonic.py",
      "read_script": "generator/df-reads-spark/3761_ict_basic_monotonic.sql",
      "description": "ICT + INSERT 50 + INSERT 50 (ids 51-100) + UPDATE 30. val = id * 4. Final: 100 rows. Updated ids 1-30: val = id * 8.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "write_cold_ms": 2227,
      "write_warm_ms": 3016,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3762_ict_merge_timestamp",
      "num": 3762,
      "name": "ict_merge_timestamp",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3762_ict_merge_timestamp.py",
      "read_script": "generator/df-reads-spark/3762_ict_merge_timestamp.sql",
      "description": "ICT + INSERT 50 + MERGE 30 (15 update, 15 new). val = id * 5. Final: 65 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 2586,
      "write_warm_ms": 2427,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3763_ict_delete_timestamp",
      "num": 3763,
      "name": "ict_delete_timestamp",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3763_ict_delete_timestamp.py",
      "read_script": "generator/df-reads-spark/3763_ict_delete_timestamp.sql",
      "description": "ICT + INSERT 100 + DELETE 40. val = id * 6. Final: 60 rows (ids 41-100).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 1753,
      "write_warm_ms": 2087,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3764_ict_schema_evolve",
      "num": 3764,
      "name": "ict_schema_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3764_ict_schema_evolve.py",
      "read_script": "generator/df-reads-spark/3764_ict_schema_evolve.sql",
      "description": "ICT + INSERT 50 + ADD COL + INSERT 50 (ids 51-100). val = id * 3. extra = NULL for ids 1-50, 'x'+str(id) for ids 51-100.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "write_cold_ms": 2989,
      "write_warm_ms": 2957,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3765_ict_restore_timestamp",
      "num": 3765,
      "name": "ict_restore_timestamp",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3765_ict_restore_timestamp.py",
      "read_script": "generator/df-reads-spark/3765_ict_restore_timestamp.sql",
      "description": "ICT + INSERT 50 (v0) + DELETE 25 (v1) + RESTORE v0. val = id * 7. Final: 50 rows.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "write_cold_ms": 5424,
      "write_warm_ms": 4658,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3766_ict_vacuum_timestamp",
      "num": 3766,
      "name": "ict_vacuum_timestamp",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3766_ict_vacuum_timestamp.py",
      "read_script": "generator/df-reads-spark/3766_ict_vacuum_timestamp.sql",
      "description": "ICT + INSERT 100 + UPDATE 50 + VACUUM RETAIN 0. val = id * 4. Final: 100 rows. Updated ids 1-50: val = id * 8.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "write_cold_ms": 14325,
      "write_warm_ms": 13439,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3767_ict_optimize_timestamp",
      "num": 3767,
      "name": "ict_optimize_timestamp",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3767_ict_optimize_timestamp.py",
      "read_script": "generator/df-reads-spark/3767_ict_optimize_timestamp.sql",
      "description": "ICT + 20x INSERT 5 + OPTIMIZE. val = id * 5. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 19,
      "read_warm_ms": 1,
      "write_cold_ms": 9819,
      "write_warm_ms": 9360,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3768_ict_checkpoint_preserve",
      "num": 3768,
      "name": "ict_checkpoint_preserve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3768_ict_checkpoint_preserve.py",
      "read_script": "generator/df-reads-spark/3768_ict_checkpoint_preserve.sql",
      "description": "ICT + checkpointInterval=10 + 12x INSERT 10. val = id * 6. Final: 120.",
      "status": "pass",
      "duration_ms": 33,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 33,
      "read_warm_ms": 6,
      "write_cold_ms": 5789,
      "write_warm_ms": 5205,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3769_ict_partition",
      "num": 3769,
      "name": "ict_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3769_ict_partition.py",
      "read_script": "generator/df-reads-spark/3769_ict_partition.sql",
      "description": "ICT + PARTITIONED BY(cat) + INSERT 200 + UPDATE cat='c0' rows. val = id * 3, cat = 'c' + str((id-1) % 4). Final: 200 rows.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "write_cold_ms": 2226,
      "write_warm_ms": 1738,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/376_vacuum_default",
      "num": 376,
      "name": "vacuum_default",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/376_vacuum_default.py",
      "read_script": "generator/df-reads-spark/376_vacuum_default.sql",
      "description": "VACUUM with default 7-day retention. 10 batches of 100 rows (1000 total), then OPTIMIZE.",
      "status": "pass",
      "duration_ms": 113,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 113,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3770_ict_cdc_combined",
      "num": 3770,
      "name": "ict_cdc_combined",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3770_ict_cdc_combined.py",
      "read_script": "generator/df-reads-spark/3770_ict_cdc_combined.sql",
      "description": "ICT + CDC + INSERT 100 + UPDATE 30. val = id * 4. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "write_cold_ms": 1705,
      "write_warm_ms": 1531,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3771_ict_constraint",
      "num": 3771,
      "name": "ict_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3771_ict_constraint.py",
      "read_script": "generator/df-reads-spark/3771_ict_constraint.sql",
      "description": "ICT + CHECK(val>0) + INSERT 100. val = id * 5. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 1118,
      "write_warm_ms": 1326,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3772_ict_default",
      "num": 3772,
      "name": "ict_default",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3772_ict_default.py",
      "read_script": "generator/df-reads-spark/3772_ict_default.sql",
      "description": "ICT + val INT DEFAULT 0 + INSERT 100. val = 0. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 555,
      "write_warm_ms": 568,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3773_ict_gencol_style",
      "num": 3773,
      "name": "ict_gencol_style",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3773_ict_gencol_style.py",
      "read_script": "generator/df-reads-spark/3773_ict_gencol_style.sql",
      "description": "ICT + computed gen=val*2 + INSERT 100. val = id * 3, gen = id * 6. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 731,
      "write_warm_ms": 554,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3774_ict_many_versions",
      "num": 3774,
      "name": "ict_many_versions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3774_ict_many_versions.py",
      "read_script": "generator/df-reads-spark/3774_ict_many_versions.sql",
      "description": "ICT + 20x INSERT 5. val = id * 4. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 37,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 37,
      "read_warm_ms": 6,
      "write_cold_ms": 7914,
      "write_warm_ms": 7534,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3775_ict_colmap",
      "num": 3775,
      "name": "ict_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3775_ict_colmap.py",
      "read_script": "generator/df-reads-spark/3775_ict_colmap.sql",
      "description": "ICT + colmap=name + INSERT 100. val = id * 7. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 579,
      "write_warm_ms": 554,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3776_ict_rowtrack",
      "num": 3776,
      "name": "ict_rowtrack",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3776_ict_rowtrack.py",
      "read_script": "generator/df-reads-spark/3776_ict_rowtrack.sql",
      "description": "ICT + rowTracking + INSERT 100. val = id * 8. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 620,
      "write_warm_ms": 641,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3777_ict_widen",
      "num": 3777,
      "name": "ict_widen",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3777_ict_widen.py",
      "read_script": "generator/df-reads-spark/3777_ict_widen.sql",
      "description": "ICT + INT + INSERT 50 + widen to BIGINT + INSERT 50 (ids 51-100). val = id * 10. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "write_cold_ms": 1552,
      "write_warm_ms": 1855,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3778_ict_identity_style",
      "num": 3778,
      "name": "ict_identity_style",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3778_ict_identity_style.py",
      "read_script": "generator/df-reads-spark/3778_ict_identity_style.sql",
      "description": "ICT + sequential id (simulated identity) + INSERT 100. val = id * 6. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 635,
      "write_warm_ms": 672,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3779_ict_dv_delete",
      "num": 3779,
      "name": "ict_dv_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3779_ict_dv_delete.py",
      "read_script": "generator/df-reads-spark/3779_ict_dv_delete.sql",
      "description": "ICT + INSERT 100 + DELETE 30 (using DVs). val = id * 4. Final: 70 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 1742,
      "write_warm_ms": 2053,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/377_vacuum_cdc_default",
      "num": 377,
      "name": "vacuum_cdc_default",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/377_vacuum_cdc_default.py",
      "read_script": "generator/df-reads-spark/377_vacuum_cdc_default.sql",
      "description": "VACUUM preserves CDC files within CDC retention period. CDC-enabled table. Complex sequence of INSERTs, UPDATE, DELETE for Alice/Bob/User_0..User_9.",
      "status": "pass",
      "duration_ms": 175,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 175,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3780_ict_merge_cdc",
      "num": 3780,
      "name": "ict_merge_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3780_ict_merge_cdc.py",
      "read_script": "generator/df-reads-spark/3780_ict_merge_cdc.sql",
      "description": "ICT + CDC + INSERT 50 + MERGE 30 (15 update, 15 new). val = id * 5. Final: 65 rows.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 1926,
      "write_warm_ms": 1909,
      "tags": [
        "type:integer",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3781_ict_partition_cdc",
      "num": 3781,
      "name": "ict_partition_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3781_ict_partition_cdc.py",
      "read_script": "generator/df-reads-spark/3781_ict_partition_cdc.sql",
      "description": "ICT + CDC + PARTITIONED BY(cat) + INSERT 200. val = id * 3, cat = 'c' + str((id-1) % 4). Final: 200 rows.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "write_cold_ms": 938,
      "write_warm_ms": 621,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3782_ict_full_lifecycle",
      "num": 3782,
      "name": "ict_full_lifecycle",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3782_ict_full_lifecycle.py",
      "read_script": "generator/df-reads-spark/3782_ict_full_lifecycle.sql",
      "description": "ICT + INSERT 100 + UPDATE 30 + DELETE 20 + MERGE 40 + OPTIMIZE + VACUUM RETAIN 0. val = id * 4. Final: ~140 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 15540,
      "write_warm_ms": 17548,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3783_ict_restore_then_write",
      "num": 3783,
      "name": "ict_restore_then_write",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3783_ict_restore_then_write.py",
      "read_script": "generator/df-reads-spark/3783_ict_restore_then_write.sql",
      "description": "ICT + INSERT 50 (v0) + INSERT 50 (v1, ids 51-100) + RESTORE v0 + INSERT 25 (ids 51-75). val = id * 6. Final: 75 rows.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "write_cold_ms": 5952,
      "write_warm_ms": 5252,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3784_ict_time_travel",
      "num": 3784,
      "name": "ict_time_travel",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3784_ict_time_travel.py",
      "read_script": "generator/df-reads-spark/3784_ict_time_travel.sql",
      "description": "ICT + INSERT 50 (v0) + INSERT 50 (v1, ids 51-100). val = id * 7. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "write_cold_ms": 1832,
      "write_warm_ms": 1206,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3785_ict_constraint_merge",
      "num": 3785,
      "name": "ict_constraint_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3785_ict_constraint_merge.py",
      "read_script": "generator/df-reads-spark/3785_ict_constraint_merge.sql",
      "description": "ICT + CHECK(val>0) + INSERT 50 + MERGE 30 (15 update, 15 new). val = id * 4. Final: 65 rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "write_cold_ms": 3253,
      "write_warm_ms": 2884,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3786_ict_colmap_cdc",
      "num": 3786,
      "name": "ict_colmap_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3786_ict_colmap_cdc.py",
      "read_script": "generator/df-reads-spark/3786_ict_colmap_cdc.sql",
      "description": "ICT + colmap=name + CDC + INSERT 100 + UPDATE 20. val = id * 5. Final: 100 rows. Updated ids 1-20: val = id * 10.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "CDF + column mapping blocked by Spark OSS (no source table)",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3787_ict_rowtrack_cdc",
      "num": 3787,
      "name": "ict_rowtrack_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3787_ict_rowtrack_cdc.py",
      "read_script": "generator/df-reads-spark/3787_ict_rowtrack_cdc.sql",
      "description": "ICT + rowTracking + CDC + INSERT 100 + UPDATE 30. val = id * 3. Final: 100 rows. Updated ids 1-30: val = id * 6.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 2300,
      "write_warm_ms": 1728,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3788_ict_partition_merge",
      "num": 3788,
      "name": "ict_partition_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3788_ict_partition_merge.py",
      "read_script": "generator/df-reads-spark/3788_ict_partition_merge.sql",
      "description": "ICT + PARTITIONED BY(cat) + INSERT 200 + MERGE 50 new (ids 201-250). val = id * 4, cat = 'c' + str((id-1) % 4). Final: 250 rows.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "write_cold_ms": 1770,
      "write_warm_ms": 1882,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3789_ict_widen_cdc",
      "num": 3789,
      "name": "ict_widen_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3789_ict_widen_cdc.py",
      "read_script": "generator/df-reads-spark/3789_ict_widen_cdc.sql",
      "description": "ICT + CDC + INT + INSERT 50 + widen to BIGINT + UPDATE 20. val = id * 10. Final: 50 rows. Updated ids 1-20: val = id * 20.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "CDF + type widening blocked by Spark OSS (no source table)",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/378_vacuum_cdc_custom",
      "num": 378,
      "name": "vacuum_cdc_custom",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/378_vacuum_cdc_custom.py",
      "read_script": "generator/df-reads-spark/378_vacuum_cdc_custom.sql",
      "description": "VACUUM with custom CDC retention period. CDF-enabled with aggressive data retention. For i in 0..19: INSERT row, if i%2==0: UPDATE event.",
      "status": "pass",
      "duration_ms": 180,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 180,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:change-data-feed",
        "delta:vacuum",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3790_ict_checkpoint_restore",
      "num": 3790,
      "name": "ict_checkpoint_restore",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3790_ict_checkpoint_restore.py",
      "read_script": "generator/df-reads-spark/3790_ict_checkpoint_restore.sql",
      "description": "ICT + checkpointInterval=10 + 12x INSERT 10 + RESTORE VERSION 5. Version 5 has 5 batches of 10 = 50 rows. val = id * 5. Final: 50 rows.",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 18,
      "read_warm_ms": 3,
      "write_cold_ms": 8872,
      "write_warm_ms": 8810,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3791_ict_dv_optimize",
      "num": 3791,
      "name": "ict_dv_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3791_ict_dv_optimize.py",
      "read_script": "generator/df-reads-spark/3791_ict_dv_optimize.sql",
      "description": "ICT + INSERT 100 + DELETE 30 + OPTIMIZE. val = id * 6. Final: 70 rows (ids 31-100).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 2760,
      "write_warm_ms": 2792,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3792_ict_colmap_widen",
      "num": 3792,
      "name": "ict_colmap_widen",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3792_ict_colmap_widen.py",
      "read_script": "generator/df-reads-spark/3792_ict_colmap_widen.sql",
      "description": "ICT + colmap=name + INT + INSERT 50 + widen to BIGINT. val = id * 8. Final: 50 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 782,
      "write_warm_ms": 1004,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3793_ict_constraint_evolve",
      "num": 3793,
      "name": "ict_constraint_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3793_ict_constraint_evolve.py",
      "read_script": "generator/df-reads-spark/3793_ict_constraint_evolve.sql",
      "description": "ICT + CHECK(val>0) + INSERT 50 + ADD COL + INSERT 50 (ids 51-100). val = id * 4. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 2504,
      "write_warm_ms": 2269,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3794_ict_merge_delete",
      "num": 3794,
      "name": "ict_merge_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3794_ict_merge_delete.py",
      "read_script": "generator/df-reads-spark/3794_ict_merge_delete.sql",
      "description": "ICT + INSERT 100 + MERGE (update 20, delete 30, insert 10). val = id * 3. Final: 80 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 1719,
      "write_warm_ms": 2228,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3795_ict_partition_vacuum",
      "num": 3795,
      "name": "ict_partition_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3795_ict_partition_vacuum.py",
      "read_script": "generator/df-reads-spark/3795_ict_partition_vacuum.sql",
      "description": "ICT + PARTITIONED BY(cat) + INSERT 200 + UPDATE 50 + VACUUM RETAIN 0. val = id * 4, cat = 'c' + str((id-1) % 4). Final: 200 rows.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 12,
      "read_warm_ms": 2,
      "write_cold_ms": 13420,
      "write_warm_ms": 14621,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3796_ict_colmap_merge_cdc",
      "num": 3796,
      "name": "ict_colmap_merge_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3796_ict_colmap_merge_cdc.py",
      "read_script": "generator/df-reads-spark/3796_ict_colmap_merge_cdc.sql",
      "description": "ICT + colmap=name + CDC + INSERT 50 + MERGE 30 (15 update, 15 new). val = id * 5. Final: 65 rows.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "CDF + column mapping blocked by Spark OSS (no source table)",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3797_ict_all_features",
      "num": 3797,
      "name": "ict_all_features",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3797_ict_all_features.py",
      "read_script": "generator/df-reads-spark/3797_ict_all_features.sql",
      "description": "ICT + rowTracking + CDC + colmap=name + DV + INSERT 100 + UPDATE 30 + DELETE 20. val = id * 4. Final: 80 rows.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "CDF + column mapping blocked by Spark OSS (no source table)",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3798_ict_scale_200",
      "num": 3798,
      "name": "ict_scale_200",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3798_ict_scale_200.py",
      "read_script": "generator/df-reads-spark/3798_ict_scale_200.sql",
      "description": "ICT + INSERT 200. val = id * 3. Final: 200 rows.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "write_cold_ms": 909,
      "write_warm_ms": 600,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3799_ict_merge_chain",
      "num": 3799,
      "name": "ict_merge_chain",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3799_ict_merge_chain.py",
      "read_script": "generator/df-reads-spark/3799_ict_merge_chain.sql",
      "description": "ICT + INSERT 50 + MERGE 20 (10 update, 10 new) + MERGE 20 (10 update, 10 new) + MERGE 20 (10 update, 10 new). val = id * 4.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 12,
      "read_warm_ms": 2,
      "write_cold_ms": 7013,
      "write_warm_ms": 5793,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/379_vacuum_cdc_optimize",
      "num": 379,
      "name": "vacuum_cdc_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/379_vacuum_cdc_optimize.py",
      "read_script": "generator/df-reads-spark/379_vacuum_cdc_optimize.sql",
      "description": "VACUUM after OPTIMIZE preserves CDC files. CDF-enabled table. 30 rows inserted one at a time, then UPDATE value*2 for id in {0,3,6,...,27}.",
      "status": "pass",
      "duration_ms": 224,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 224,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/37_dv_file_storage_format_spec",
      "num": 37,
      "name": "dv_file_storage_format_spec",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/37_dv_file_storage_format_spec.py",
      "read_script": "generator/df-reads-spark/37_dv_file_storage_format_spec.sql",
      "description": "Financial Trading Platform - Order Book Management. DV file storage format specification with 10000 initial records.",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 5760,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3800_ict_ultimate",
      "num": 3800,
      "name": "ict_ultimate",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3800_ict_ultimate.py",
      "read_script": "generator/df-reads-spark/3800_ict_ultimate.sql",
      "description": "ICT + CDC + colmap=name + rowTracking + PARTITIONED BY(cat) + INSERT 200 + UPDATE 50 + DELETE 30 + OPTIMIZE + VACUUM RETAIN 0. val = id * 5, cat = 'c' + str((id-1) % 4). Final: 170 rows.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "CDF + column mapping blocked by Spark OSS (no source table)",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "delta:row-tracking",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3801_identity_always_basic",
      "num": 3801,
      "name": "identity_always_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3801_identity_always_basic.py",
      "read_script": "generator/df-reads-spark/3801_identity_always_basic.sql",
      "description": "Sequential id 1-100 (simulated IDENTITY ALWAYS using Spark sequential data). val = i * 3.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 599,
      "write_warm_ms": 520,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3802_identity_by_default_basic",
      "num": 3802,
      "name": "identity_by_default_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3802_identity_by_default_basic.py",
      "read_script": "generator/df-reads-spark/3802_identity_by_default_basic.sql",
      "description": "50 explicit ids (1-50) + 50 sequential ids (51-100). val = i * 4.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 1218,
      "write_warm_ms": 1094,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3803_identity_start_with",
      "num": 3803,
      "name": "identity_start_with",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3803_identity_start_with.py",
      "read_script": "generator/df-reads-spark/3803_identity_start_with.sql",
      "description": "id starts at 1000 (1000-1049). val = i * 5.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 667,
      "write_warm_ms": 677,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3804_identity_increment_by",
      "num": 3804,
      "name": "identity_increment_by",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3804_identity_increment_by.py",
      "read_script": "generator/df-reads-spark/3804_identity_increment_by.sql",
      "description": "id = 1, 6, 11, 16, ... (increment 5). val = i * 3 where i is row index 1-50.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 513,
      "write_warm_ms": 532,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3805_identity_start_increment",
      "num": 3805,
      "name": "identity_start_increment",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3805_identity_start_increment.py",
      "read_script": "generator/df-reads-spark/3805_identity_start_increment.sql",
      "description": "id = 100, 110, 120, ... (start 100 increment 10). val = i * 4 where i is row index 1-50.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 838,
      "write_warm_ms": 565,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3806_identity_after_delete",
      "num": 3806,
      "name": "identity_after_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3806_identity_after_delete.py",
      "read_script": "generator/df-reads-spark/3806_identity_after_delete.sql",
      "description": "INSERT 100 + DELETE WHERE id > 50 + INSERT 25 (id 101-125). val = i * 6.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "write_cold_ms": 2232,
      "write_warm_ms": 3018,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3807_identity_after_update",
      "num": 3807,
      "name": "identity_after_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3807_identity_after_update.py",
      "read_script": "generator/df-reads-spark/3807_identity_after_update.sql",
      "description": "INSERT 100 + UPDATE SET val = val + 100 WHERE id <= 50. val = i * 3 initially.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 1586,
      "write_warm_ms": 1635,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3808_identity_merge_insert",
      "num": 3808,
      "name": "identity_merge_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3808_identity_merge_insert.py",
      "read_script": "generator/df-reads-spark/3808_identity_merge_insert.sql",
      "description": "INSERT 50 + MERGE 50 (25 update existing id 1-25, 25 new id 51-75). val = i * 4.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 2131,
      "write_warm_ms": 2170,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3809_identity_merge_delete",
      "num": 3809,
      "name": "identity_merge_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3809_identity_merge_delete.py",
      "read_script": "generator/df-reads-spark/3809_identity_merge_delete.sql",
      "description": "INSERT 100 + MERGE (delete id 1-30, update id 31-50 val+=100, insert id 101-110). val = i * 5.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "write_cold_ms": 2542,
      "write_warm_ms": 2580,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/380_vacuum_cdc_cross",
      "num": 380,
      "name": "vacuum_cdc_cross",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/380_vacuum_cdc_cross.py",
      "read_script": "generator/df-reads-spark/380_vacuum_cdc_cross.sql",
      "description": "Cross-engine VACUUM with CDC. CDF-enabled table with order lifecycle data. 100 orders with status transitions: pending -> processing -> shipped -> delivered.",
      "status": "pass",
      "duration_ms": 72,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 72,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3810_identity_vacuum_hwm",
      "num": 3810,
      "name": "identity_vacuum_hwm",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3810_identity_vacuum_hwm.py",
      "read_script": "generator/df-reads-spark/3810_identity_vacuum_hwm.sql",
      "description": "INSERT 100 + DELETE 50 + VACUUM RETAIN 0 + INSERT 25 (id 101-125). val = i * 7.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 14468,
      "write_warm_ms": 14360,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3811_identity_restore_hwm",
      "num": 3811,
      "name": "identity_restore_hwm",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3811_identity_restore_hwm.py",
      "read_script": "generator/df-reads-spark/3811_identity_restore_hwm.sql",
      "description": "INSERT 100 (v1) + INSERT 50 (v2, id 101-150) + RESTORE v1 + INSERT 25 (id 151-175). val = i * 3. Final: 125 rows.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "write_cold_ms": 7936,
      "write_warm_ms": 6353,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3812_identity_optimize",
      "num": 3812,
      "name": "identity_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3812_identity_optimize.py",
      "read_script": "generator/df-reads-spark/3812_identity_optimize.sql",
      "description": "INSERT 100 (20x5 rows) + OPTIMIZE + INSERT 25 (id 101-125). val = i * 4.",
      "status": "pass",
      "duration_ms": 28,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 28,
      "read_warm_ms": 1,
      "write_cold_ms": 16736,
      "write_warm_ms": 18646,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3813_identity_cdc_track",
      "num": 3813,
      "name": "identity_cdc_track",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3813_identity_cdc_track.py",
      "read_script": "generator/df-reads-spark/3813_identity_cdc_track.sql",
      "description": "CDC enabled. INSERT 50 + UPDATE 20 SET val = val + 1000 WHERE id <= 20. val = i * 6.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "write_cold_ms": 2391,
      "write_warm_ms": 1554,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3814_identity_partition",
      "num": 3814,
      "name": "identity_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3814_identity_partition.py",
      "read_script": "generator/df-reads-spark/3814_identity_partition.sql",
      "description": "PARTITIONED BY (cat). INSERT 100. val = i * 5. cat = 'c' + str(i % 4).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "write_cold_ms": 661,
      "write_warm_ms": 966,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3815_identity_schema_evolve",
      "num": 3815,
      "name": "identity_schema_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3815_identity_schema_evolve.py",
      "read_script": "generator/df-reads-spark/3815_identity_schema_evolve.sql",
      "description": "INSERT 50 + ADD COLUMN new_col STRING + INSERT 50 (id 51-100, new_col='row_'+str(id)). val = i * 3. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "write_cold_ms": 1804,
      "write_warm_ms": 1714,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3816_identity_constraint",
      "num": 3816,
      "name": "identity_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3816_identity_constraint.py",
      "read_script": "generator/df-reads-spark/3816_identity_constraint.sql",
      "description": "CHECK(val > 0) + INSERT 100. val = i * 4 + 1. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 1904,
      "write_warm_ms": 1917,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3817_identity_default",
      "num": 3817,
      "name": "identity_default",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3817_identity_default.py",
      "read_script": "generator/df-reads-spark/3817_identity_default.sql",
      "description": "100 rows",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "write_cold_ms": 1211,
      "write_warm_ms": 1266,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3818_identity_gencol_style",
      "num": 3818,
      "name": "identity_gencol_style",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3818_identity_gencol_style.py",
      "read_script": "generator/df-reads-spark/3818_identity_gencol_style.sql",
      "description": "Computed gen = val * 2, manually maintained. INSERT 100. val = i * 3.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 751,
      "write_warm_ms": 547,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3819_identity_time_travel",
      "num": 3819,
      "name": "identity_time_travel",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3819_identity_time_travel.py",
      "read_script": "generator/df-reads-spark/3819_identity_time_travel.sql",
      "description": "INSERT 50 (v1) + INSERT 50 (v2, id 51-100). val = i * 5. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "write_cold_ms": 1072,
      "write_warm_ms": 1301,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/381_vacuum_cdc_comprehensive",
      "num": 381,
      "name": "vacuum_cdc_comprehensive",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/381_vacuum_cdc_comprehensive.py",
      "read_script": "generator/df-reads-spark/381_vacuum_cdc_comprehensive.sql",
      "description": "Full VACUUM CDC roundtrip with all scenarios. Partitioned by region. CDF + DVs enabled. 100 rows (25 per region x 4 regions). UPDATE quantity=quantity+10 WHERE region='us-east'.",
      "status": "pass",
      "duration_ms": 589,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 589,
      "read_warm_ms": 28,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:vacuum",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3820_identity_stats",
      "num": 3820,
      "name": "identity_stats",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3820_identity_stats.py",
      "read_script": "generator/df-reads-spark/3820_identity_stats.sql",
      "description": "INSERT 100. val = i * 7. Check min/max id = 1/100.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 549,
      "write_warm_ms": 671,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3821_default_int_literal",
      "num": 3821,
      "name": "default_int_literal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3821_default_int_literal.py",
      "read_script": "generator/df-reads-spark/3821_default_int_literal.sql",
      "description": "val INT DEFAULT 42. INSERT 50 (all val = 42).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 644,
      "write_warm_ms": 486,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3822_default_string_literal",
      "num": 3822,
      "name": "default_string_literal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3822_default_string_literal.py",
      "read_script": "generator/df-reads-spark/3822_default_string_literal.sql",
      "description": "name STRING DEFAULT 'unknown'. INSERT 50 (all name = 'unknown').",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 515,
      "write_warm_ms": 672,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3823_default_boolean_literal",
      "num": 3823,
      "name": "default_boolean_literal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3823_default_boolean_literal.py",
      "read_script": "generator/df-reads-spark/3823_default_boolean_literal.sql",
      "description": "active BOOLEAN DEFAULT true. INSERT 50 (all active = True).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 680,
      "write_warm_ms": 579,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3824_default_decimal_literal",
      "num": 3824,
      "name": "default_decimal_literal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3824_default_decimal_literal.py",
      "read_script": "generator/df-reads-spark/3824_default_decimal_literal.sql",
      "description": "amount DECIMAL(10,2) DEFAULT 0.00. INSERT 50 (all amount = 0.00).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 532,
      "write_warm_ms": 599,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3825_default_null_explicit",
      "num": 3825,
      "name": "default_null_explicit",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3825_default_null_explicit.py",
      "read_script": "generator/df-reads-spark/3825_default_null_explicit.sql",
      "description": "val INT (nullable=True, all NULL). INSERT 50 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 635,
      "write_warm_ms": 557,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3826_default_after_add_column",
      "num": 3826,
      "name": "default_after_add_column",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3826_default_after_add_column.py",
      "read_script": "generator/df-reads-spark/3826_default_after_add_column.sql",
      "description": "INSERT 50 + ADD COLUMN val INT DEFAULT 99 + INSERT 50 (id 51-100, val = 99).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 1504,
      "write_warm_ms": 1625,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3827_default_override_explicit",
      "num": 3827,
      "name": "default_override_explicit",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3827_default_override_explicit.py",
      "read_script": "generator/df-reads-spark/3827_default_override_explicit.sql",
      "description": "val INT. INSERT 50 (val = i * 10) + INSERT 50 (id 51-100, val = 42).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "write_cold_ms": 1196,
      "write_warm_ms": 1058,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3828_default_merge_insert",
      "num": 3828,
      "name": "default_merge_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3828_default_merge_insert.py",
      "read_script": "generator/df-reads-spark/3828_default_merge_insert.sql",
      "description": "val INT. INSERT 50 (val = i * 3) + MERGE 30 (15 update id 1-15 val+=100, 15 new id 51-65 val = 0).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "write_cold_ms": 1857,
      "write_warm_ms": 1865,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3829_default_cdc_track",
      "num": 3829,
      "name": "default_cdc_track",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3829_default_cdc_track.py",
      "read_script": "generator/df-reads-spark/3829_default_cdc_track.sql",
      "description": "CDC + val INT DEFAULT 0. INSERT 50 (val = 0) + UPDATE 20 SET val = 100 WHERE id <= 20.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 2220,
      "write_warm_ms": 1511,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/382_multipart_checkpoint",
      "num": 382,
      "name": "multipart_checkpoint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/382_multipart_checkpoint.py",
      "read_script": "generator/df-reads-spark/382_multipart_checkpoint.sql",
      "description": "Large multi-part V2 checkpoint creation. 100 individual row inserts (one per commit). checkpointInterval=50.",
      "status": "pass",
      "duration_ms": 437,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 437,
      "read_warm_ms": 23,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:checkpoint-multipart",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3830_default_partition",
      "num": 3830,
      "name": "default_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3830_default_partition.py",
      "read_script": "generator/df-reads-spark/3830_default_partition.sql",
      "description": "PARTITIONED BY (cat). val INT DEFAULT 0. INSERT 100 (val = 0). cat = 'c' + str(i % 4).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 664,
      "write_warm_ms": 747,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3831_default_constraint",
      "num": 3831,
      "name": "default_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3831_default_constraint.py",
      "read_script": "generator/df-reads-spark/3831_default_constraint.sql",
      "description": "val INT DEFAULT 50. CHECK(val >= 0). INSERT 100 (val = 50).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 1577,
      "write_warm_ms": 1639,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3832_default_widen",
      "num": 3832,
      "name": "default_widen",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3832_default_widen.py",
      "read_script": "generator/df-reads-spark/3832_default_widen.sql",
      "description": "val INT. INSERT 50 (val = 42) + widen val to BIGINT + INSERT 50 (id 51-100, val = 42).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 1642,
      "write_warm_ms": 1559,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3833_default_multiple",
      "num": 3833,
      "name": "default_multiple",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3833_default_multiple.py",
      "read_script": "generator/df-reads-spark/3833_default_multiple.sql",
      "description": "a INT DEFAULT 0, b STRING DEFAULT 'x', c BOOLEAN DEFAULT false. INSERT 50.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 716,
      "write_warm_ms": 533,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3834_default_timestamp",
      "num": 3834,
      "name": "default_timestamp",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3834_default_timestamp.py",
      "read_script": "generator/df-reads-spark/3834_default_timestamp.sql",
      "description": "ts STRING (proxy for timestamp default). INSERT 50. val = i * 3.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 586,
      "write_warm_ms": 668,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3835_default_after_drop_add",
      "num": 3835,
      "name": "default_after_drop_add",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3835_default_after_drop_add.py",
      "read_script": "generator/df-reads-spark/3835_default_after_drop_add.sql",
      "description": "colmap=name. val INT. INSERT 25 + drop val + re-add val INT + INSERT 25 (id 26-50, val = 99).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 1731,
      "write_warm_ms": 1591,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "schema:drop-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3836_default_colmap",
      "num": 3836,
      "name": "default_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3836_default_colmap.py",
      "read_script": "generator/df-reads-spark/3836_default_colmap.sql",
      "description": "colmap=name. val INT DEFAULT 99. INSERT 50 (val = 99).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 603,
      "write_warm_ms": 638,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3837_default_optimize",
      "num": 3837,
      "name": "default_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3837_default_optimize.py",
      "read_script": "generator/df-reads-spark/3837_default_optimize.sql",
      "description": "val INT DEFAULT 0. INSERT 50 (val = 0) + INSERT 50 (id 51-100, val = 0) + OPTIMIZE.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 2024,
      "write_warm_ms": 1859,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3838_default_vacuum",
      "num": 3838,
      "name": "default_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3838_default_vacuum.py",
      "read_script": "generator/df-reads-spark/3838_default_vacuum.sql",
      "description": "val INT DEFAULT 0. INSERT 50 (val = 0) + UPDATE 25 SET val = 1 WHERE id <= 25 + VACUUM RETAIN 0.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 13202,
      "write_warm_ms": 13679,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3839_default_restore",
      "num": 3839,
      "name": "default_restore",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3839_default_restore.py",
      "read_script": "generator/df-reads-spark/3839_default_restore.sql",
      "description": "val INT DEFAULT 42. INSERT 50 (v1, val = 42) + INSERT 50 (v2, id 51-100) + RESTORE v1.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "write_cold_ms": 4240,
      "write_warm_ms": 4057,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/383_multipart_read",
      "num": 383,
      "name": "multipart_read",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/383_multipart_read.py",
      "read_script": "generator/df-reads-spark/383_multipart_read.sql",
      "description": "DeltaForge reads DBX multi-part checkpoint. 60 rows inserted one at a time. checkpointInterval=20. Tags column is ARRAY<STRING>.",
      "status": "pass",
      "duration_ms": 385,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 385,
      "read_warm_ms": 27,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:array",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3840_default_checkpoint",
      "num": 3840,
      "name": "default_checkpoint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3840_default_checkpoint.py",
      "read_script": "generator/df-reads-spark/3840_default_checkpoint.sql",
      "description": "val INT DEFAULT 0. checkpointInterval=10. 12x INSERT 10 (val = 0).",
      "status": "pass",
      "duration_ms": 31,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 31,
      "read_warm_ms": 6,
      "write_cold_ms": 6234,
      "write_warm_ms": 6034,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3841_interop_basic_roundtrip",
      "num": 3841,
      "name": "interop_basic_roundtrip",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3841_interop_basic_roundtrip.py",
      "read_script": "generator/df-reads-spark/3841_interop_basic_roundtrip.sql",
      "description": "val = i * 3, name = 'row_' + str(i).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 639,
      "write_warm_ms": 849,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3842_interop_all_primitive_types",
      "num": 3842,
      "name": "interop_all_primitive_types",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3842_interop_all_primitive_types.py",
      "read_script": "generator/df-reads-spark/3842_interop_all_primitive_types.sql",
      "description": "STRING, BOOLEAN, DATE. INSERT 50. g DECIMAL(18,4), h STRING, i BOOLEAN, j DATE",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "write_cold_ms": 623,
      "write_warm_ms": 614,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3843_interop_struct_roundtrip",
      "num": 3843,
      "name": "interop_struct_roundtrip",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3843_interop_struct_roundtrip.py",
      "read_script": "generator/df-reads-spark/3843_interop_struct_roundtrip.sql",
      "description": "STRUCT<name STRING, age INT>. INSERT 50. name = 'p' + str(i), age = 20 + i % 50.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 614,
      "write_warm_ms": 631,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3844_interop_array_roundtrip",
      "num": 3844,
      "name": "interop_array_roundtrip",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3844_interop_array_roundtrip.py",
      "read_script": "generator/df-reads-spark/3844_interop_array_roundtrip.sql",
      "description": "ARRAY<INT>. INSERT 50. nums = [i, i * 2, i * 3].",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 590,
      "write_warm_ms": 656,
      "tags": [
        "type:array",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3845_interop_map_roundtrip",
      "num": 3845,
      "name": "interop_map_roundtrip",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3845_interop_map_roundtrip.py",
      "read_script": "generator/df-reads-spark/3845_interop_map_roundtrip.sql",
      "description": "MAP<STRING,INT>. INSERT 50. kv = {'k1': i, 'k2': i * 2}.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 811,
      "write_warm_ms": 538,
      "tags": [
        "type:integer",
        "type:map",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3846_interop_nested_struct_array",
      "num": 3846,
      "name": "interop_nested_struct_array",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3846_interop_nested_struct_array.py",
      "read_script": "generator/df-reads-spark/3846_interop_nested_struct_array.sql",
      "description": "STRUCT<items ARRAY<INT>, label STRING>. INSERT 50.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "write_cold_ms": 643,
      "write_warm_ms": 545,
      "tags": [
        "type:array",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:nested-types",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3847_interop_cdc_roundtrip",
      "num": 3847,
      "name": "interop_cdc_roundtrip",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3847_interop_cdc_roundtrip.py",
      "read_script": "generator/df-reads-spark/3847_interop_cdc_roundtrip.sql",
      "description": "CDC + INSERT 50 + UPDATE 20 SET val = val * 2 WHERE id <= 20. val = i * 4.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 1844,
      "write_warm_ms": 1595,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3848_interop_dv_roundtrip",
      "num": 3848,
      "name": "interop_dv_roundtrip",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3848_interop_dv_roundtrip.py",
      "read_script": "generator/df-reads-spark/3848_interop_dv_roundtrip.sql",
      "description": "Deletion vectors. INSERT 100 + DELETE WHERE id > 70. val = i * 5.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "write_cold_ms": 1401,
      "write_warm_ms": 2099,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3849_interop_colmap_roundtrip",
      "num": 3849,
      "name": "interop_colmap_roundtrip",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3849_interop_colmap_roundtrip.py",
      "read_script": "generator/df-reads-spark/3849_interop_colmap_roundtrip.sql",
      "description": "Column mapping mode=name. INSERT 100. val = i * 6.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 718,
      "write_warm_ms": 720,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/384_multipart_write",
      "num": 384,
      "name": "multipart_write",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/384_multipart_write.py",
      "read_script": "generator/df-reads-spark/384_multipart_write.sql",
      "description": "DeltaForge creates multi-part checkpoint. 20 rows inserted one at a time. checkpointInterval=10. DVs enabled.",
      "status": "pass",
      "duration_ms": 124,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 124,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3850_interop_partition_roundtrip",
      "num": 3850,
      "name": "interop_partition_roundtrip",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3850_interop_partition_roundtrip.py",
      "read_script": "generator/df-reads-spark/3850_interop_partition_roundtrip.sql",
      "description": "PARTITIONED BY (cat). INSERT 200. val = i * 3. cat = 'c' + str(i % 4).",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 12,
      "read_warm_ms": 3,
      "write_cold_ms": 595,
      "write_warm_ms": 628,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3851_interop_checkpoint_roundtrip",
      "num": 3851,
      "name": "interop_checkpoint_roundtrip",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3851_interop_checkpoint_roundtrip.py",
      "read_script": "generator/df-reads-spark/3851_interop_checkpoint_roundtrip.sql",
      "description": "checkpointInterval=10. 12x INSERT 10 (id 1-120). val = i * 4.",
      "status": "pass",
      "duration_ms": 33,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 33,
      "read_warm_ms": 6,
      "write_cold_ms": 5780,
      "write_warm_ms": 5158,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3852_interop_schema_evolved",
      "num": 3852,
      "name": "interop_schema_evolved",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3852_interop_schema_evolved.py",
      "read_script": "generator/df-reads-spark/3852_interop_schema_evolved.sql",
      "description": "INSERT 50 + ADD COLUMN extra STRING + INSERT 50 (id 51-100, extra='x_'+str(id)). val = i * 5. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "write_cold_ms": 1655,
      "write_warm_ms": 1502,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3853_interop_identity_roundtrip",
      "num": 3853,
      "name": "interop_identity_roundtrip",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3853_interop_identity_roundtrip.py",
      "read_script": "generator/df-reads-spark/3853_interop_identity_roundtrip.sql",
      "description": "Sequential id 1-100. val = i * 7. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 598,
      "write_warm_ms": 523,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3854_interop_constraint_roundtrip",
      "num": 3854,
      "name": "interop_constraint_roundtrip",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3854_interop_constraint_roundtrip.py",
      "read_script": "generator/df-reads-spark/3854_interop_constraint_roundtrip.sql",
      "description": "CHECK(val > 0). INSERT 100. val = i * 3. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "write_cold_ms": 1687,
      "write_warm_ms": 1628,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3855_interop_widen_roundtrip",
      "num": 3855,
      "name": "interop_widen_roundtrip",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3855_interop_widen_roundtrip.py",
      "read_script": "generator/df-reads-spark/3855_interop_widen_roundtrip.sql",
      "description": "INT + INSERT 50 + widen val to BIGINT + INSERT 50 (id 51-100). val = i * 10.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 1651,
      "write_warm_ms": 1599,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3856_interop_ict_roundtrip",
      "num": 3856,
      "name": "interop_ict_roundtrip",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3856_interop_ict_roundtrip.py",
      "read_script": "generator/df-reads-spark/3856_interop_ict_roundtrip.sql",
      "description": "In-commit timestamps. INSERT 100. val = i * 4. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 639,
      "write_warm_ms": 546,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3857_interop_rowtrack_roundtrip",
      "num": 3857,
      "name": "interop_rowtrack_roundtrip",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3857_interop_rowtrack_roundtrip.py",
      "read_script": "generator/df-reads-spark/3857_interop_rowtrack_roundtrip.sql",
      "description": "Row tracking enabled. INSERT 100. val = i * 5. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 556,
      "write_warm_ms": 555,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3858_interop_unicode_roundtrip",
      "num": 3858,
      "name": "interop_unicode_roundtrip",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3858_interop_unicode_roundtrip.py",
      "read_script": "generator/df-reads-spark/3858_interop_unicode_roundtrip.sql",
      "description": "Unicode strings using chr() for CJK and supplementary characters. INSERT 50.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 651,
      "write_warm_ms": 566,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3859_interop_null_heavy",
      "num": 3859,
      "name": "interop_null_heavy",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3859_interop_null_heavy.py",
      "read_script": "generator/df-reads-spark/3859_interop_null_heavy.sql",
      "description": "70% NULL values in optional columns. INSERT 100.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 533,
      "write_warm_ms": 649,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/385_multipart_dv",
      "num": 385,
      "name": "multipart_dv",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/385_multipart_dv.py",
      "read_script": "generator/df-reads-spark/385_multipart_dv.sql",
      "description": "Multi-part checkpoint including deletion vector metadata. DVs enabled. 60 rows inserted one at a time. When i%5==0 and i>0: DELETE WHERE id=i-1. checkpointInterval=30.",
      "status": "pass",
      "duration_ms": 413,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 413,
      "read_warm_ms": 19,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3860_interop_time_travel",
      "num": 3860,
      "name": "interop_time_travel",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3860_interop_time_travel.py",
      "read_script": "generator/df-reads-spark/3860_interop_time_travel.sql",
      "description": "INSERT 50 (v1) + INSERT 50 (v2, id 51-100). val = i * 6. Final: 100 rows (current state).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "write_cold_ms": 1007,
      "write_warm_ms": 1272,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3861_interop_vacuum_roundtrip",
      "num": 3861,
      "name": "interop_vacuum_roundtrip",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3861_interop_vacuum_roundtrip.py",
      "read_script": "generator/df-reads-spark/3861_interop_vacuum_roundtrip.sql",
      "description": "INSERT 100 + UPDATE 50 SET val = val + 1000 WHERE id <= 50 + VACUUM RETAIN 0. val = i * 3. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "write_cold_ms": 13327,
      "write_warm_ms": 13969,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3862_interop_optimize_roundtrip",
      "num": 3862,
      "name": "interop_optimize_roundtrip",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3862_interop_optimize_roundtrip.py",
      "read_script": "generator/df-reads-spark/3862_interop_optimize_roundtrip.sql",
      "description": "20x INSERT 5 + OPTIMIZE. val = i * 4. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 17,
      "read_warm_ms": 1,
      "write_cold_ms": 11205,
      "write_warm_ms": 10858,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3863_interop_restore_roundtrip",
      "num": 3863,
      "name": "interop_restore_roundtrip",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3863_interop_restore_roundtrip.py",
      "read_script": "generator/df-reads-spark/3863_interop_restore_roundtrip.sql",
      "description": "INSERT 100 (v1) + DELETE 50 (v2) + RESTORE v1. val = i * 5. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "write_cold_ms": 4646,
      "write_warm_ms": 4303,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3864_interop_gencol_roundtrip",
      "num": 3864,
      "name": "interop_gencol_roundtrip",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3864_interop_gencol_roundtrip.py",
      "read_script": "generator/df-reads-spark/3864_interop_gencol_roundtrip.sql",
      "description": "Computed gen = val * 2 (manually maintained). INSERT 100. val = i * 3.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 761,
      "write_warm_ms": 642,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3865_interop_default_roundtrip",
      "num": 3865,
      "name": "interop_default_roundtrip",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3865_interop_default_roundtrip.py",
      "read_script": "generator/df-reads-spark/3865_interop_default_roundtrip.sql",
      "description": "val INT DEFAULT 0. INSERT 100 (val = 0). Final: 100 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 680,
      "write_warm_ms": 785,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3866_interop_protocol_v7",
      "num": 3866,
      "name": "interop_protocol_v7",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3866_interop_protocol_v7.py",
      "read_script": "generator/df-reads-spark/3866_interop_protocol_v7.sql",
      "description": "writer=7 (DV + ICT + rowTracking). INSERT 100 + DELETE WHERE id > 80. val = i * 4.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "write_cold_ms": 2007,
      "write_warm_ms": 1618,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3867_interop_multi_feature",
      "num": 3867,
      "name": "interop_multi_feature",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3867_interop_multi_feature.py",
      "read_script": "generator/df-reads-spark/3867_interop_multi_feature.sql",
      "description": "CDC + colmap + DV + PARTITION + CHECK. INSERT 200 + UPDATE 50 + DELETE 30. val = i * 3.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "CDF + column mapping blocked by Spark OSS (no source table)",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3868_interop_decimal_precision",
      "num": 3868,
      "name": "interop_decimal_precision",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3868_interop_decimal_precision.py",
      "read_script": "generator/df-reads-spark/3868_interop_decimal_precision.sql",
      "description": "DECIMAL(38,18). INSERT 50. val = Decimal(str(i) + '.123456789012345678').",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 549,
      "write_warm_ms": 530,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3869_interop_binary_roundtrip",
      "num": 3869,
      "name": "interop_binary_roundtrip",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3869_interop_binary_roundtrip.py",
      "read_script": "generator/df-reads-spark/3869_interop_binary_roundtrip.sql",
      "description": "BINARY column. INSERT 50. data = bytes('row_' + str(i), 'utf-8').",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 748,
      "write_warm_ms": 613,
      "tags": [
        "type:binary",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/386_multipart_comprehensive",
      "num": 386,
      "name": "multipart_comprehensive",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/386_multipart_comprehensive.py",
      "read_script": "generator/df-reads-spark/386_multipart_comprehensive.sql",
      "description": "Full multi-part checkpoint roundtrip with complex nested types. 80 rows inserted one at a time. checkpointInterval=25. DVs enabled.",
      "status": "pass",
      "duration_ms": 519,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 519,
      "read_warm_ms": 36,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:array",
        "type:floating",
        "type:integer",
        "type:map",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3870_interop_empty_table",
      "num": 3870,
      "name": "interop_empty_table",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3870_interop_empty_table.py",
      "read_script": "generator/df-reads-spark/3870_interop_empty_table.sql",
      "description": "CREATE only, 0 rows. Schema: id BIGINT, val INT.",
      "status": "pass",
      "duration_ms": 2,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 2,
      "read_warm_ms": 0,
      "write_cold_ms": 232,
      "write_warm_ms": 206,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3871_interop_single_row",
      "num": 3871,
      "name": "interop_single_row",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3871_interop_single_row.py",
      "read_script": "generator/df-reads-spark/3871_interop_single_row.sql",
      "description": "INSERT 1 row. id=1, val=42. Final: 1 row.",
      "status": "pass",
      "duration_ms": 2,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 2,
      "read_warm_ms": 1,
      "write_cold_ms": 547,
      "write_warm_ms": 715,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3872_interop_all_null_row",
      "num": 3872,
      "name": "interop_all_null_row",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3872_interop_all_null_row.py",
      "read_script": "generator/df-reads-spark/3872_interop_all_null_row.sql",
      "description": "1 row with all optional columns NULL.",
      "status": "pass",
      "duration_ms": 2,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 2,
      "read_warm_ms": 1,
      "write_cold_ms": 628,
      "write_warm_ms": 566,
      "tags": [
        "type:floating",
        "type:integer",
        "type:null-handling",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3873_interop_bigint_max",
      "num": 3873,
      "name": "interop_bigint_max",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3873_interop_bigint_max.py",
      "read_script": "generator/df-reads-spark/3873_interop_bigint_max.sql",
      "description": "INSERT 10 rows including BIGINT max value. Final: 10 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 648,
      "write_warm_ms": 619,
      "tags": [
        "type:boundary",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3874_interop_int_max",
      "num": 3874,
      "name": "interop_int_max",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3874_interop_int_max.py",
      "read_script": "generator/df-reads-spark/3874_interop_int_max.sql",
      "description": "INSERT 10 rows with INT max (2147483647) and min (-2147483648). Final: 10 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 527,
      "write_warm_ms": 565,
      "tags": [
        "type:boundary",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3875_interop_empty_string",
      "num": 3875,
      "name": "interop_empty_string",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3875_interop_empty_string.py",
      "read_script": "generator/df-reads-spark/3875_interop_empty_string.sql",
      "description": "Mix of empty string '', NULL, and real strings. INSERT 50.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 646,
      "write_warm_ms": 669,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3876_interop_boolean_all_true",
      "num": 3876,
      "name": "interop_boolean_all_true",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3876_interop_boolean_all_true.py",
      "read_script": "generator/df-reads-spark/3876_interop_boolean_all_true.sql",
      "description": "All active = true. INSERT 100. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 526,
      "write_warm_ms": 575,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3877_interop_boolean_all_false",
      "num": 3877,
      "name": "interop_boolean_all_false",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3877_interop_boolean_all_false.py",
      "read_script": "generator/df-reads-spark/3877_interop_boolean_all_false.sql",
      "description": "All active = false. INSERT 100. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 687,
      "write_warm_ms": 606,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3878_interop_date_range",
      "num": 3878,
      "name": "interop_date_range",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3878_interop_date_range.py",
      "read_script": "generator/df-reads-spark/3878_interop_date_range.sql",
      "description": "DATE from 2020-01-01 to 2020-04-09 (100 days). INSERT 100.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 542,
      "write_warm_ms": 610,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3879_interop_timestamp_microsecond",
      "num": 3879,
      "name": "interop_timestamp_microsecond",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3879_interop_timestamp_microsecond.py",
      "read_script": "generator/df-reads-spark/3879_interop_timestamp_microsecond.sql",
      "description": "Timestamps differing by microseconds. INSERT 100.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 669,
      "write_warm_ms": 716,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/387_concurrent_optimize",
      "num": 387,
      "name": "concurrent_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/387_concurrent_optimize.py",
      "read_script": "generator/df-reads-spark/387_concurrent_optimize.sql",
      "description": "OPTIMIZE while both engines write. 50 individual row inserts creating fragmentation. DVs enabled.",
      "status": "pass",
      "duration_ms": 242,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 242,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "robust:concurrent-writes",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3880_interop_float_special",
      "num": 3880,
      "name": "interop_float_special",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3880_interop_float_special.py",
      "read_script": "generator/df-reads-spark/3880_interop_float_special.sql",
      "description": "Float with very small and very large values. INSERT 50.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 674,
      "write_warm_ms": 779,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3881_interop_double_special",
      "num": 3881,
      "name": "interop_double_special",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3881_interop_double_special.py",
      "read_script": "generator/df-reads-spark/3881_interop_double_special.sql",
      "description": "Double with precision-sensitive values. INSERT 50.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 591,
      "write_warm_ms": 567,
      "tags": [
        "type:boundary",
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3882_interop_long_string",
      "num": 3882,
      "name": "interop_long_string",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3882_interop_long_string.py",
      "read_script": "generator/df-reads-spark/3882_interop_long_string.sql",
      "description": "10000-char strings. INSERT 10.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "write_cold_ms": 663,
      "write_warm_ms": 717,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3883_interop_zero_length_binary",
      "num": 3883,
      "name": "interop_zero_length_binary",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3883_interop_zero_length_binary.py",
      "read_script": "generator/df-reads-spark/3883_interop_zero_length_binary.sql",
      "description": "Empty binary + populated binary. INSERT 20.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 540,
      "write_warm_ms": 738,
      "tags": [
        "type:binary",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3884_interop_empty_array",
      "num": 3884,
      "name": "interop_empty_array",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3884_interop_empty_array.py",
      "read_script": "generator/df-reads-spark/3884_interop_empty_array.sql",
      "description": "Mix of empty and populated arrays. INSERT 50.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "write_cold_ms": 608,
      "write_warm_ms": 511,
      "tags": [
        "type:array",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3885_interop_empty_map",
      "num": 3885,
      "name": "interop_empty_map",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3885_interop_empty_map.py",
      "read_script": "generator/df-reads-spark/3885_interop_empty_map.sql",
      "description": "Mix of empty and populated maps. INSERT 50.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 551,
      "write_warm_ms": 637,
      "tags": [
        "type:integer",
        "type:map",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3886_interop_same_value_all_rows",
      "num": 3886,
      "name": "interop_same_value_all_rows",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3886_interop_same_value_all_rows.py",
      "read_script": "generator/df-reads-spark/3886_interop_same_value_all_rows.sql",
      "description": "All val = 42. INSERT 100. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 645,
      "write_warm_ms": 533,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3887_interop_descending_values",
      "num": 3887,
      "name": "interop_descending_values",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3887_interop_descending_values.py",
      "read_script": "generator/df-reads-spark/3887_interop_descending_values.sql",
      "description": "val = 100 - i + 1 (descending from 100 to 1). INSERT 100. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 642,
      "write_warm_ms": 639,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3888_interop_alternating_insert_delete",
      "num": 3888,
      "name": "interop_alternating_insert_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3888_interop_alternating_insert_delete.py",
      "read_script": "generator/df-reads-spark/3888_interop_alternating_insert_delete.sql",
      "description": "5x (INSERT 20 + DELETE 10). val = i * 3. Final: 50 rows.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 12,
      "read_warm_ms": 2,
      "write_cold_ms": 7742,
      "write_warm_ms": 8010,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3889_interop_update_noop",
      "num": 3889,
      "name": "interop_update_noop",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3889_interop_update_noop.py",
      "read_script": "generator/df-reads-spark/3889_interop_update_noop.sql",
      "description": "INSERT 100 + UPDATE SET val = val (no-op). val = i * 4. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 2070,
      "write_warm_ms": 1494,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/388_concurrent_vacuum",
      "num": 388,
      "name": "concurrent_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/388_concurrent_vacuum.py",
      "read_script": "generator/df-reads-spark/388_concurrent_vacuum.sql",
      "description": "VACUUM while both engines write. 40 rows with individual insert then UPDATE. Final value = id + 1.0. DVs enabled.",
      "status": "pass",
      "duration_ms": 424,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 424,
      "read_warm_ms": 19,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "scale:large-dataset",
        "robust:concurrent-writes",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3890_interop_delete_where_false",
      "num": 3890,
      "name": "interop_delete_where_false",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3890_interop_delete_where_false.py",
      "read_script": "generator/df-reads-spark/3890_interop_delete_where_false.sql",
      "description": "INSERT 100 + DELETE WHERE 1=0 (no rows deleted). val = i * 5. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 1008,
      "write_warm_ms": 706,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3891_interop_merge_source_empty",
      "num": 3891,
      "name": "interop_merge_source_empty",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3891_interop_merge_source_empty.py",
      "read_script": "generator/df-reads-spark/3891_interop_merge_source_empty.sql",
      "description": "INSERT 100 + MERGE with empty source (no changes). val = i * 3. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 1325,
      "write_warm_ms": 1100,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3892_interop_merge_target_empty",
      "num": 3892,
      "name": "interop_merge_target_empty",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3892_interop_merge_target_empty.py",
      "read_script": "generator/df-reads-spark/3892_interop_merge_target_empty.sql",
      "description": "Empty target table + MERGE 50 rows. val = i * 4. Final: 50 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 2416,
      "write_warm_ms": 1515,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3893_interop_overwrite",
      "num": 3893,
      "name": "interop_overwrite",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3893_interop_overwrite.py",
      "read_script": "generator/df-reads-spark/3893_interop_overwrite.sql",
      "description": "INSERT 100 + INSERT OVERWRITE 50 (replaces all). val = i * 5 for overwrite data. Final: 50 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 1401,
      "write_warm_ms": 1385,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3894_interop_partition_null_key",
      "num": 3894,
      "name": "interop_partition_null_key",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3894_interop_partition_null_key.py",
      "read_script": "generator/df-reads-spark/3894_interop_partition_null_key.sql",
      "description": "PARTITIONED BY (cat). INSERT 100. Some cat = None. val = i * 3. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "write_cold_ms": 777,
      "write_warm_ms": 774,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3895_interop_wide_table_20_cols",
      "num": 3895,
      "name": "interop_wide_table_20_cols",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3895_interop_wide_table_20_cols.py",
      "read_script": "generator/df-reads-spark/3895_interop_wide_table_20_cols.sql",
      "description": "20 columns of various types. INSERT 50. Final: 50 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "write_cold_ms": 709,
      "write_warm_ms": 588,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3896_interop_deep_struct_3_level",
      "num": 3896,
      "name": "interop_deep_struct_3_level",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3896_interop_deep_struct_3_level.py",
      "read_script": "generator/df-reads-spark/3896_interop_deep_struct_3_level.sql",
      "description": "3-level nested struct. INSERT 50. Final: 50 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 790,
      "write_warm_ms": 639,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:nested-types",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3897_interop_struct_with_null",
      "num": 3897,
      "name": "interop_struct_with_null",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3897_interop_struct_with_null.py",
      "read_script": "generator/df-reads-spark/3897_interop_struct_with_null.sql",
      "description": "Struct with nullable fields (some NULL). INSERT 50. Final: 50 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 573,
      "write_warm_ms": 725,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3898_interop_array_of_struct",
      "num": 3898,
      "name": "interop_array_of_struct",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3898_interop_array_of_struct.py",
      "read_script": "generator/df-reads-spark/3898_interop_array_of_struct.sql",
      "description": "ARRAY<STRUCT<a INT, b STRING>>. INSERT 50. Final: 50 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 625,
      "write_warm_ms": 684,
      "tags": [
        "type:array",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3899_interop_map_string_string",
      "num": 3899,
      "name": "interop_map_string_string",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3899_interop_map_string_string.py",
      "read_script": "generator/df-reads-spark/3899_interop_map_string_string.sql",
      "description": "MAP<STRING, STRING>. INSERT 50. Final: 50 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 696,
      "write_warm_ms": 720,
      "tags": [
        "type:integer",
        "type:map",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/389_concurrent_zorder",
      "num": 389,
      "name": "concurrent_zorder",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/389_concurrent_zorder.py",
      "read_script": "generator/df-reads-spark/389_concurrent_zorder.sql",
      "description": "Z-ORDER while both engines write. 200 rows (4 regions x 5 products x 10 rows). DVs enabled.",
      "status": "pass",
      "duration_ms": 910,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 910,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "robust:concurrent-writes",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/38_iceberg_compat_v1_uniform",
      "num": 38,
      "name": "iceberg_compat_v1_uniform",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/38_iceberg_compat_v1_uniform.py",
      "read_script": "generator/df-reads-spark/38_iceberg_compat_v1_uniform.sql",
      "description": "Iceberg Compatibility V1 (UniForm) - Smart Meter Readings. 5000 initial + 1000 additional. Partitioned by region. we write a regular delta table with column mapping instead.",
      "status": "pass",
      "duration_ms": 26,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 26,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 1006,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:partitioning",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3900_interop_multi_array",
      "num": 3900,
      "name": "interop_multi_array",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3900_interop_multi_array.py",
      "read_script": "generator/df-reads-spark/3900_interop_multi_array.sql",
      "description": "Multiple array columns. INSERT 50. Final: 50 rows.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "write_cold_ms": 554,
      "write_warm_ms": 821,
      "tags": [
        "type:array",
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3901_scale_10k_rows_basic",
      "num": 3901,
      "name": "scale_10k_rows_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3901_scale_10k_rows_basic.py",
      "read_script": "generator/df-reads-spark/3901_scale_10k_rows_basic.sql",
      "description": "Tests that delta-forge reads a large single-commit Delta table correctly.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 673,
      "write_warm_ms": 590,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3902_scale_10k_delete_half",
      "num": 3902,
      "name": "scale_10k_delete_half",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3902_scale_10k_delete_half.py",
      "read_script": "generator/df-reads-spark/3902_scale_10k_delete_half.sql",
      "description": "INSERT 10000 rows then DELETE WHERE id%2=0. val = i*4. Tests large-scale deletion leaving 5000 rows (all odd ids).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 1707,
      "write_warm_ms": 1531,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3903_scale_10k_update_all",
      "num": 3903,
      "name": "scale_10k_update_all",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3903_scale_10k_update_all.py",
      "read_script": "generator/df-reads-spark/3903_scale_10k_update_all.sql",
      "description": "INSERT 10000 rows then UPDATE SET val=val+1 on all rows. val starts as i*5.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 1384,
      "write_warm_ms": 1484,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3904_scale_10k_merge",
      "num": 3904,
      "name": "scale_10k_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3904_scale_10k_merge.py",
      "read_script": "generator/df-reads-spark/3904_scale_10k_merge.sql",
      "description": "INSERT 10000 rows (id 1-10000, val=i*3), then MERGE 5000 source rows: - ids 1-2500: UPDATE SET val=val+100 - ids 10001-12500: INSERT new rows (val=i*3)",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "write_cold_ms": 2687,
      "write_warm_ms": 1885,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3905_scale_100_files_optimize",
      "num": 3905,
      "name": "scale_100_files_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3905_scale_100_files_optimize.py",
      "read_script": "generator/df-reads-spark/3905_scale_100_files_optimize.sql",
      "description": "100 single-row INSERTs (id=1..100, val=i*7) followed by OPTIMIZE. Tests that OPTIMIZE compaction + reading the compacted file works correctly.",
      "status": "pass",
      "duration_ms": 58,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 58,
      "read_warm_ms": 1,
      "write_cold_ms": 46469,
      "write_warm_ms": 48447,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3906_scale_wide_50_cols",
      "num": 3906,
      "name": "scale_wide_50_cols",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3906_scale_wide_50_cols.py",
      "read_script": "generator/df-reads-spark/3906_scale_wide_50_cols.sql",
      "description": "INSERT 100 rows. c_j = i * j for j=1..49.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "write_cold_ms": 576,
      "write_warm_ms": 594,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3907_scale_wide_100_cols",
      "num": 3907,
      "name": "scale_wide_100_cols",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3907_scale_wide_100_cols.py",
      "read_script": "generator/df-reads-spark/3907_scale_wide_100_cols.sql",
      "description": "INSERT 50 rows. c_j = i * j for j=1..99.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 11,
      "read_warm_ms": 7,
      "write_cold_ms": 835,
      "write_warm_ms": 894,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3908_scale_deep_struct_5",
      "num": 3908,
      "name": "scale_deep_struct_5",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3908_scale_deep_struct_5.py",
      "read_script": "generator/df-reads-spark/3908_scale_deep_struct_5.sql",
      "description": "5-level nested struct. INSERT 50 rows. a=i, b=i*2, c=i*3, d=i*4, e=i*5.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 583,
      "write_warm_ms": 763,
      "tags": [
        "type:integer",
        "type:struct",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:nested-types",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3909_scale_many_partitions_50",
      "num": 3909,
      "name": "scale_many_partitions_50",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3909_scale_many_partitions_50.py",
      "read_script": "generator/df-reads-spark/3909_scale_many_partitions_50.sql",
      "description": "PARTITIONED BY(part) with 50 distinct partitions. INSERT 500 rows (10 per partition). part = i % 50 (values 0..49). val = i * 4.",
      "status": "pass",
      "duration_ms": 81,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 81,
      "read_warm_ms": 21,
      "write_cold_ms": 1235,
      "write_warm_ms": 1461,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/390_interleaved_maintenance",
      "num": 390,
      "name": "interleaved_maintenance",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/390_interleaved_maintenance.py",
      "read_script": "generator/df-reads-spark/390_interleaved_maintenance.sql",
      "description": "Interleaved maintenance operations between engines. CDF enabled. 30 rows inserted individually with timestamp=BASE+id*1s.",
      "status": "pass",
      "duration_ms": 160,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 160,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:change-data-feed",
        "delta:optimize",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3910_scale_many_versions_50",
      "num": 3910,
      "name": "scale_many_versions_50",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3910_scale_many_versions_50.py",
      "read_script": "generator/df-reads-spark/3910_scale_many_versions_50.sql",
      "description": "50 append commits of 2 rows each, totalling 100 rows. id = 1..100. val = i * 3. Tests reading a table with many Delta log versions.",
      "status": "pass",
      "duration_ms": 47,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 47,
      "read_warm_ms": 6,
      "write_cold_ms": 22242,
      "write_warm_ms": 21734,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3911_scale_10k_cdc",
      "num": 3911,
      "name": "scale_10k_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3911_scale_10k_cdc.py",
      "read_script": "generator/df-reads-spark/3911_scale_10k_cdc.sql",
      "description": "CDC enabled. INSERT 10000 rows then UPDATE 5000 (id<=5000) SET val=val+1. val starts as i*4. After update id<=5000: val=i*4+1.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 2562,
      "write_warm_ms": 1891,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3912_scale_10k_dv",
      "num": 3912,
      "name": "scale_10k_dv",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3912_scale_10k_dv.py",
      "read_script": "generator/df-reads-spark/3912_scale_10k_dv.sql",
      "description": "Deletion vectors at scale. INSERT 10000 rows then DELETE 3000 (id<=3000). val = i * 5. Final: 7000 rows (id 3001-10000).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 1788,
      "write_warm_ms": 2497,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3913_scale_many_merges",
      "num": 3913,
      "name": "scale_many_merges",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3913_scale_many_merges.py",
      "read_script": "generator/df-reads-spark/3913_scale_many_merges.sql",
      "description": "INSERT 100 rows (id 1-100, val=i*3) then 10 rounds of MERGE: - Each round: source has 20 rows: 10 existing ids (update val+=10) + 10 new ids - Round k (k=1..10): update ids (k*10-9)..(k*10), insert ids 100+k*10-9..100+k*10",
      "status": "pass",
      "duration_ms": 26,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 26,
      "read_warm_ms": 5,
      "write_cold_ms": 19452,
      "write_warm_ms": 15579,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3914_scale_10k_colmap",
      "num": 3914,
      "name": "scale_10k_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3914_scale_10k_colmap.py",
      "read_script": "generator/df-reads-spark/3914_scale_10k_colmap.sql",
      "description": "Column mapping (name mode) at scale. INSERT 10000 rows. val = i*6.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 554,
      "write_warm_ms": 673,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3915_scale_10k_partition_zorder",
      "num": 3915,
      "name": "scale_10k_partition_zorder",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3915_scale_10k_partition_zorder.py",
      "read_script": "generator/df-reads-spark/3915_scale_10k_partition_zorder.sql",
      "description": "PARTITIONED BY(cat) + INSERT 10000 + ZORDER BY(val). cat = 'c' + str(i % 5) (5 partitions). val = i * 3.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 2016,
      "write_warm_ms": 2622,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3916_scale_etl_insert_update_delete",
      "num": 3916,
      "name": "scale_etl_insert_update_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3916_scale_etl_insert_update_delete.py",
      "read_script": "generator/df-reads-spark/3916_scale_etl_insert_update_delete.sql",
      "description": "val = i*4 initially. Final: 5000 rows.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "write_cold_ms": 4134,
      "write_warm_ms": 3810,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3917_scale_etl_scd_type2",
      "num": 3917,
      "name": "scale_etl_scd_type2",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3917_scale_etl_scd_type2.py",
      "read_script": "generator/df-reads-spark/3917_scale_etl_scd_type2.sql",
      "description": "and inserting new versions (is_current=true). val = i*5. Final: 1200 rows.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 2351,
      "write_warm_ms": 2278,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3918_scale_10k_identity_style",
      "num": 3918,
      "name": "scale_10k_identity_style",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3918_scale_10k_identity_style.py",
      "read_script": "generator/df-reads-spark/3918_scale_10k_identity_style.sql",
      "description": "Sequential id 1-10000 with val=i*3. Plain regular columns (no IDENTITY -- Spark OSS). Tests large sequential scan correctness.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 774,
      "write_warm_ms": 612,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3919_scale_mixed_types_10k",
      "num": 3919,
      "name": "scale_mixed_types_10k",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3919_scale_mixed_types_10k.py",
      "read_script": "generator/df-reads-spark/3919_scale_mixed_types_10k.sql",
      "description": "10 typed columns at 10K rows. val=i*4. byte_val BYTE, short_val SHORT, long_val LONG, float_val FLOAT, amount DECIMAL(12,2)",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "write_cold_ms": 783,
      "write_warm_ms": 829,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/391_coordinated_comprehensive",
      "num": 391,
      "name": "coordinated_comprehensive",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/391_coordinated_comprehensive.py",
      "read_script": "generator/df-reads-spark/391_coordinated_comprehensive.sql",
      "description": "Full coordinated commits scenario. DVs + CDF enabled. Partitioned by region. 60 rows (20 per region x 3 regions). UPDATE status='processing' WHERE amount>100. DELETE WHERE amount<20 AND region='apac'. Final: 58 rows.",
      "status": "pass",
      "duration_ms": 103,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 103,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "dml:update",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3920_scale_string_heavy",
      "num": 3920,
      "name": "scale_string_heavy",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3920_scale_string_heavy.py",
      "read_script": "generator/df-reads-spark/3920_scale_string_heavy.sql",
      "description": "5 STRING columns + INSERT 10000 rows. s1='s'+str(i). s2='tag'+str(i%50). s3='grp'+str(i%10). s4='desc_'+str(i). s5=str(i)+'_end'.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "write_cold_ms": 756,
      "write_warm_ms": 619,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3921_edge_empty_table",
      "num": 3921,
      "name": "edge_empty_table",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3921_edge_empty_table.py",
      "read_script": "generator/df-reads-spark/3921_edge_empty_table.sql",
      "description": "0 rows. Empty table with schema only.",
      "status": "pass",
      "duration_ms": 2,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 2,
      "read_warm_ms": 0,
      "write_cold_ms": 337,
      "write_warm_ms": 316,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3922_edge_single_row",
      "num": 3922,
      "name": "edge_single_row",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3922_edge_single_row.py",
      "read_script": "generator/df-reads-spark/3922_edge_single_row.sql",
      "description": "1 row (id=1, val=42).",
      "status": "pass",
      "duration_ms": 2,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 2,
      "read_warm_ms": 1,
      "write_cold_ms": 635,
      "write_warm_ms": 513,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3923_edge_single_row_update",
      "num": 3923,
      "name": "edge_single_row_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3923_edge_single_row_update.py",
      "read_script": "generator/df-reads-spark/3923_edge_single_row_update.sql",
      "description": "1 row (id=1, val=99 after update from 42).",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "write_cold_ms": 1572,
      "write_warm_ms": 2124,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3924_edge_single_row_delete",
      "num": 3924,
      "name": "edge_single_row_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3924_edge_single_row_delete.py",
      "read_script": "generator/df-reads-spark/3924_edge_single_row_delete.sql",
      "description": "Single row INSERT then DELETE all. Final: 0 rows.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 3,
      "read_warm_ms": 0,
      "write_cold_ms": 1360,
      "write_warm_ms": 1506,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3925_edge_all_null_columns",
      "num": 3925,
      "name": "edge_all_null_columns",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3925_edge_all_null_columns.py",
      "read_script": "generator/df-reads-spark/3925_edge_all_null_columns.sql",
      "description": "100 rows with all nullable columns set to NULL. Only id is non-null. Tests null handling across all supported types.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 692,
      "write_warm_ms": 536,
      "tags": [
        "type:floating",
        "type:integer",
        "type:null-handling",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3926_edge_null_partition_key",
      "num": 3926,
      "name": "edge_null_partition_key",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3926_edge_null_partition_key.py",
      "read_script": "generator/df-reads-spark/3926_edge_null_partition_key.sql",
      "description": "PARTITIONED BY(cat). 100 rows. cat=None when i%5==0, else 'cat'+str(i%5). val = i*3. Tests null partition key handling.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "write_cold_ms": 784,
      "write_warm_ms": 821,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3927_edge_empty_string",
      "num": 3927,
      "name": "edge_empty_string",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3927_edge_empty_string.py",
      "read_script": "generator/df-reads-spark/3927_edge_empty_string.sql",
      "description": "100 rows. val_str='' for i%3==0, None for i%3==1, 'text_'+str(i) otherwise. Tests empty string vs null string distinction.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 564,
      "write_warm_ms": 813,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3928_edge_int_max",
      "num": 3928,
      "name": "edge_int_max",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3928_edge_int_max.py",
      "read_script": "generator/df-reads-spark/3928_edge_int_max.sql",
      "description": "10 rows with INT boundary values. Uses INT_MAX=2147483647, INT_MIN=-2147483648.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 638,
      "write_warm_ms": 692,
      "tags": [
        "type:boundary",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3929_edge_bigint_max",
      "num": 3929,
      "name": "edge_bigint_max",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3929_edge_bigint_max.py",
      "read_script": "generator/df-reads-spark/3929_edge_bigint_max.sql",
      "description": "10 rows with BIGINT boundary values. BIGINT_MAX = 9223372036854775807. BIGINT_MIN = -9223372036854775808.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "write_cold_ms": 526,
      "write_warm_ms": 616,
      "tags": [
        "type:boundary",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/392_dv_cdc_delete",
      "num": 392,
      "name": "dv_cdc_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/392_dv_cdc_delete.py",
      "read_script": "generator/df-reads-spark/392_dv_cdc_delete.sql",
      "description": "DVs + CDF + DELETE. 200 rows, DELETE WHERE id%5=0 (removes 40). Final: 160 rows. value = ROUND(((i*73) % 997) / 10.0, 1). status cycles active/pending/closed.",
      "status": "pass",
      "duration_ms": 39,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 39,
      "read_warm_ms": 10,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3930_edge_decimal_max_precision",
      "num": 3930,
      "name": "edge_decimal_max_precision",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3930_edge_decimal_max_precision.py",
      "read_script": "generator/df-reads-spark/3930_edge_decimal_max_precision.sql",
      "description": "DECIMAL(38,0) with large integer values. INSERT 10 rows. val = Decimal(10**37 + i) for i=1..10.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 678,
      "write_warm_ms": 635,
      "tags": [
        "type:boundary",
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3931_edge_decimal_max_scale",
      "num": 3931,
      "name": "edge_decimal_max_scale",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3931_edge_decimal_max_scale.py",
      "read_script": "generator/df-reads-spark/3931_edge_decimal_max_scale.sql",
      "description": "DECIMAL(38,18) with fractional values. INSERT 10 rows. frac_val = Decimal('0.' + '0'*(i-1) + '1' + '0'*(17-i)) for i=1..10 (sub-unit fractions).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 553,
      "write_warm_ms": 580,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3932_edge_boolean_all_true",
      "num": 3932,
      "name": "edge_boolean_all_true",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3932_edge_boolean_all_true.py",
      "read_script": "generator/df-reads-spark/3932_edge_boolean_all_true.sql",
      "description": "All 100 rows have flag=True.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 644,
      "write_warm_ms": 594,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3933_edge_boolean_all_false",
      "num": 3933,
      "name": "edge_boolean_all_false",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3933_edge_boolean_all_false.py",
      "read_script": "generator/df-reads-spark/3933_edge_boolean_all_false.sql",
      "description": "All 100 rows have flag=False.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 891,
      "write_warm_ms": 684,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3934_edge_date_extreme",
      "num": 3934,
      "name": "edge_date_extreme",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3934_edge_date_extreme.py",
      "read_script": "generator/df-reads-spark/3934_edge_date_extreme.sql",
      "description": "50 rows spanning date range 2020-01-01 to 2024-12-31. dt = date(2020, 1, 1) + timedelta(days=(i-1)*36) for i=1..50.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 622,
      "write_warm_ms": 671,
      "tags": [
        "type:boundary",
        "type:date",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3935_edge_timestamp_microsecond",
      "num": 3935,
      "name": "edge_timestamp_microsecond",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3935_edge_timestamp_microsecond.py",
      "read_script": "generator/df-reads-spark/3935_edge_timestamp_microsecond.sql",
      "description": "100 rows with timestamps differing by exactly 1 microsecond. ts = datetime(2024,1,1,0,0,0, tzinfo=UTC) + timedelta(microseconds=i) for i=1..100.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 627,
      "write_warm_ms": 686,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3936_edge_unicode_cjk",
      "num": 3936,
      "name": "edge_unicode_cjk",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3936_edge_unicode_cjk.py",
      "read_script": "generator/df-reads-spark/3936_edge_unicode_cjk.sql",
      "description": "50 rows with CJK (Chinese/Japanese/Korean) text. text = chr(0x4e00 + i) for i=1..50. (CJK unified ideographs)",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 810,
      "write_warm_ms": 600,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3937_edge_unicode_emoji",
      "num": 3937,
      "name": "edge_unicode_emoji",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3937_edge_unicode_emoji.py",
      "read_script": "generator/df-reads-spark/3937_edge_unicode_emoji.sql",
      "description": "50 rows with emoji characters. text = chr(0x1F600 + i%80) for i=1..50.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 641,
      "write_warm_ms": 502,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3938_edge_special_chars",
      "num": 3938,
      "name": "edge_special_chars",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3938_edge_special_chars.py",
      "read_script": "generator/df-reads-spark/3938_edge_special_chars.sql",
      "description": "50 rows with special characters in strings: newlines, tabs, backslashes.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 863,
      "write_warm_ms": 735,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3939_edge_zero_length_binary",
      "num": 3939,
      "name": "edge_zero_length_binary",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3939_edge_zero_length_binary.py",
      "read_script": "generator/df-reads-spark/3939_edge_zero_length_binary.sql",
      "description": "10 rows with empty BINARY (zero-length byte arrays).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 676,
      "write_warm_ms": 658,
      "tags": [
        "type:binary",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/393_dv_cdc_update",
      "num": 393,
      "name": "dv_cdc_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/393_dv_cdc_update.py",
      "read_script": "generator/df-reads-spark/393_dv_cdc_update.sql",
      "description": "DVs + CDF + UPDATE. 200 rows (all status='open'), UPDATE status='closed' WHERE id<=50. amount = ROUND(((i*47) % 1000) / 10.0, 2). Final: 200 rows (50 closed, 150 open).",
      "status": "pass",
      "duration_ms": 40,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 40,
      "read_warm_ms": 15,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3940_edge_large_binary",
      "num": 3940,
      "name": "edge_large_binary",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3940_edge_large_binary.py",
      "read_script": "generator/df-reads-spark/3940_edge_large_binary.sql",
      "description": "10 rows with ~1KB binary blobs. blob = bytes([i % 256] * 1024).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "write_cold_ms": 734,
      "write_warm_ms": 643,
      "tags": [
        "type:binary",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3941_edge_empty_array",
      "num": 3941,
      "name": "edge_empty_array",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3941_edge_empty_array.py",
      "read_script": "generator/df-reads-spark/3941_edge_empty_array.sql",
      "description": "50 rows with ARRAY<INT>. Alternates: odd ids get empty array [], even ids get [i, i*2].",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 614,
      "write_warm_ms": 666,
      "tags": [
        "type:array",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3942_edge_empty_map",
      "num": 3942,
      "name": "edge_empty_map",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3942_edge_empty_map.py",
      "read_script": "generator/df-reads-spark/3942_edge_empty_map.sql",
      "description": "50 rows with MAP<STRING,INT>. Odd ids: empty map {}. Even ids: {'k': i}.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "write_cold_ms": 641,
      "write_warm_ms": 543,
      "tags": [
        "type:integer",
        "type:map",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3943_edge_delete_reinsert",
      "num": 3943,
      "name": "edge_delete_reinsert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3943_edge_delete_reinsert.py",
      "read_script": "generator/df-reads-spark/3943_edge_delete_reinsert.sql",
      "description": "INSERT 100 rows + DELETE all + INSERT 100 new rows (same ids, new val=i*10). Tests that delete-then-reinsert cycle works correctly.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "write_cold_ms": 1980,
      "write_warm_ms": 2573,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3944_edge_update_to_null",
      "num": 3944,
      "name": "edge_update_to_null",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3944_edge_update_to_null.py",
      "read_script": "generator/df-reads-spark/3944_edge_update_to_null.sql",
      "description": "INSERT 100 rows (val=i) then UPDATE SET val=NULL WHERE id<=50.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 1714,
      "write_warm_ms": 1701,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3945_edge_update_from_null",
      "num": 3945,
      "name": "edge_update_from_null",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3945_edge_update_from_null.py",
      "read_script": "generator/df-reads-spark/3945_edge_update_from_null.sql",
      "description": "INSERT 100 rows (val=NULL) then UPDATE SET val=id. Final: 100 rows (val=id).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 1565,
      "write_warm_ms": 2205,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3946_edge_merge_source_empty",
      "num": 3946,
      "name": "edge_merge_source_empty",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3946_edge_merge_source_empty.py",
      "read_script": "generator/df-reads-spark/3946_edge_merge_source_empty.sql",
      "description": "INSERT 100 rows (val=i*3) then MERGE with empty source. Table unchanged.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 1200,
      "write_warm_ms": 1076,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3947_edge_merge_target_empty",
      "num": 3947,
      "name": "edge_merge_target_empty",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3947_edge_merge_target_empty.py",
      "read_script": "generator/df-reads-spark/3947_edge_merge_target_empty.sql",
      "description": "Empty table + MERGE 50 rows in. val=i*4. Final: 50 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 2265,
      "write_warm_ms": 1505,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3948_edge_overwrite",
      "num": 3948,
      "name": "edge_overwrite",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3948_edge_overwrite.py",
      "read_script": "generator/df-reads-spark/3948_edge_overwrite.sql",
      "description": "INSERT 100 rows then INSERT OVERWRITE 50 new rows (id 1-50, new val=i*5).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 1403,
      "write_warm_ms": 1460,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3949_edge_same_value_all",
      "num": 3949,
      "name": "edge_same_value_all",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3949_edge_same_value_all.py",
      "read_script": "generator/df-reads-spark/3949_edge_same_value_all.sql",
      "description": "100 rows all with val=42. Tests constant column value handling.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "write_cold_ms": 523,
      "write_warm_ms": 625,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/394_dv_cdc_merge",
      "num": 394,
      "name": "dv_cdc_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/394_dv_cdc_merge.py",
      "read_script": "generator/df-reads-spark/394_dv_cdc_merge.sql",
      "description": "DVs + CDF + MERGE. 100 initial rows, MERGE from 120-row source (id 51..170). MATCHED (id 51-100): UPDATE score=source.score+1000. NOT MATCHED (id 101-170): INSERT.",
      "status": "pass",
      "duration_ms": 30,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 30,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3950_edge_monotonic_desc",
      "num": 3950,
      "name": "edge_monotonic_desc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3950_edge_monotonic_desc.py",
      "read_script": "generator/df-reads-spark/3950_edge_monotonic_desc.sql",
      "description": "100 rows with val=101-i (descending: id=1 val=100, id=100 val=1).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 719,
      "write_warm_ms": 643,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3951_cdc_insert_only",
      "num": 3951,
      "name": "cdc_insert_only",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3951_cdc_insert_only.py",
      "read_script": "generator/df-reads-spark/3951_cdc_insert_only.sql",
      "description": "CDC + INSERT 50 (v1) + INSERT 50 (v2). val=i*3. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "write_cold_ms": 1124,
      "write_warm_ms": 1298,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3952_cdc_update_preimage",
      "num": 3952,
      "name": "cdc_update_preimage",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3952_cdc_update_preimage.py",
      "read_script": "generator/df-reads-spark/3952_cdc_update_preimage.sql",
      "description": "CDC + INSERT 100 (val=i*4) + UPDATE SET val=val+100 WHERE id<=50.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 1767,
      "write_warm_ms": 2269,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3953_cdc_delete_only",
      "num": 3953,
      "name": "cdc_delete_only",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3953_cdc_delete_only.py",
      "read_script": "generator/df-reads-spark/3953_cdc_delete_only.sql",
      "description": "CDC + INSERT 100 (val=i*5) + DELETE WHERE id%2=0. Final: 50 rows (odd ids).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 2314,
      "write_warm_ms": 1902,
      "tags": [
        "type:integer",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3954_cdc_merge_all",
      "num": 3954,
      "name": "cdc_merge_all",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3954_cdc_merge_all.py",
      "read_script": "generator/df-reads-spark/3954_cdc_merge_all.sql",
      "description": "CDC + INSERT 100 (val=i*3) + MERGE: update 30 (id 1-30 val+=10), delete 20 (id 31-50), insert 50 new (id 101-150).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "write_cold_ms": 2266,
      "write_warm_ms": 2376,
      "tags": [
        "type:integer",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3955_cdc_schema_evolve",
      "num": 3955,
      "name": "cdc_schema_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3955_cdc_schema_evolve.py",
      "read_script": "generator/df-reads-spark/3955_cdc_schema_evolve.sql",
      "description": "CDC + INSERT 50 (id, val=i*6) + ADD COLUMN extra INT + INSERT 50 (id 51-100, val=i*6, extra=i).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "write_cold_ms": 2064,
      "write_warm_ms": 2181,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3956_cdc_partition",
      "num": 3956,
      "name": "cdc_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3956_cdc_partition.py",
      "read_script": "generator/df-reads-spark/3956_cdc_partition.sql",
      "description": "CDC + PARTITIONED BY(cat) + INSERT 200 (val=i*4, cat='c'+str(i%4)) + UPDATE 50 (id<=50 val+=5) + DELETE 30 (id 51-80).",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "write_cold_ms": 4332,
      "write_warm_ms": 3446,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3957_cdc_optimize",
      "num": 3957,
      "name": "cdc_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3957_cdc_optimize.py",
      "read_script": "generator/df-reads-spark/3957_cdc_optimize.sql",
      "description": "CDC + 10x INSERT 10 + UPDATE 30 (id<=30 val+=5) + OPTIMIZE. val=i*5. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 13,
      "read_warm_ms": 1,
      "write_cold_ms": 9386,
      "write_warm_ms": 8538,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3958_cdc_vacuum",
      "num": 3958,
      "name": "cdc_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3958_cdc_vacuum.py",
      "read_script": "generator/df-reads-spark/3958_cdc_vacuum.sql",
      "description": "CDC + INSERT 100 (val=i*3) + UPDATE 50 (id<=50 val+=10) + VACUUM RETAIN 0.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "write_cold_ms": 13833,
      "write_warm_ms": 14918,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3959_cdc_restore",
      "num": 3959,
      "name": "cdc_restore",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3959_cdc_restore.py",
      "read_script": "generator/df-reads-spark/3959_cdc_restore.sql",
      "description": "CDC + INSERT 50 (v1, val=i*7) + INSERT 50 (v2) + RESTORE to v1.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 11,
      "read_warm_ms": 1,
      "write_cold_ms": 4390,
      "write_warm_ms": 3675,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/395_dv_cdc_delete_update",
      "num": 395,
      "name": "dv_cdc_delete_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/395_dv_cdc_delete_update.py",
      "read_script": "generator/df-reads-spark/395_dv_cdc_delete_update.sql",
      "description": "DVs + CDF + DELETE then UPDATE. 300 rows, DELETE WHERE id%10=0 (30 removed), UPDATE value=value*2 WHERE id%3=0 (among remaining 270). Final: 270 rows.",
      "status": "pass",
      "duration_ms": 40,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 40,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3960_cdc_identity_style",
      "num": 3960,
      "name": "cdc_identity_style",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3960_cdc_identity_style.py",
      "read_script": "generator/df-reads-spark/3960_cdc_identity_style.sql",
      "description": "CDC + sequential id 1-50 + INSERT 50 + UPDATE 20 (id<=20 val+=100). val=i*4. Final: 50 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 2016,
      "write_warm_ms": 1672,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3961_cdc_widen",
      "num": 3961,
      "name": "cdc_widen",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3961_cdc_widen.py",
      "read_script": "generator/df-reads-spark/3961_cdc_widen.sql",
      "description": "CDC + INT val + INSERT 50 + widen val to BIGINT + UPDATE 20 (id<=20 val+=1000). val=i*10. Final: 50 rows.",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "CDF + type widening blocked by Spark OSS (no source table)",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3962_cdc_colmap",
      "num": 3962,
      "name": "cdc_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3962_cdc_colmap.py",
      "read_script": "generator/df-reads-spark/3962_cdc_colmap.sql",
      "description": "CDC + colmap=name + INSERT 50 (val=i*5) + UPDATE 20 (id<=20 val+=50).",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "CDF + column mapping blocked by Spark OSS (no source table)",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3963_cdc_constraint",
      "num": 3963,
      "name": "cdc_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3963_cdc_constraint.py",
      "read_script": "generator/df-reads-spark/3963_cdc_constraint.sql",
      "description": "CDC + CHECK(val>0) + INSERT 100 (val=i*3) + UPDATE 30 (id<=30 val+=10).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 3459,
      "write_warm_ms": 3733,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3964_cdc_many_versions",
      "num": 3964,
      "name": "cdc_many_versions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3964_cdc_many_versions.py",
      "read_script": "generator/df-reads-spark/3964_cdc_many_versions.sql",
      "description": "Round k (k=1..20): insert ids (k*5-4..k*5), update ids k*2-1 and k*2 (val+=10 each time).",
      "status": "pass",
      "duration_ms": 46,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 46,
      "read_warm_ms": 6,
      "write_cold_ms": 33348,
      "write_warm_ms": 37264,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3965_cdc_version_range",
      "num": 3965,
      "name": "cdc_version_range",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3965_cdc_version_range.py",
      "read_script": "generator/df-reads-spark/3965_cdc_version_range.sql",
      "description": "CDC + INSERT 50 (v1, val=i*3) + UPDATE 20 (v2, id<=20 val+=5) + DELETE 10 (v3, id 21-30) + INSERT 30 new (v4, id 51-80).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "write_cold_ms": 4026,
      "write_warm_ms": 4029,
      "tags": [
        "type:integer",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3966_dv_basic_delete",
      "num": 3966,
      "name": "dv_basic_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3966_dv_basic_delete.py",
      "read_script": "generator/df-reads-spark/3966_dv_basic_delete.sql",
      "description": "70 rows (id 31-100). DV delete. val=id*4.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 1568,
      "write_warm_ms": 1951,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3967_dv_multiple_deletes",
      "num": 3967,
      "name": "dv_multiple_deletes",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3967_dv_multiple_deletes.py",
      "read_script": "generator/df-reads-spark/3967_dv_multiple_deletes.sql",
      "description": "40 rows (id 61-100). Three DV delete operations. val=id*5.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 3790,
      "write_warm_ms": 4759,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3968_dv_delete_then_update",
      "num": 3968,
      "name": "dv_delete_then_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3968_dv_delete_then_update.py",
      "read_script": "generator/df-reads-spark/3968_dv_delete_then_update.sql",
      "description": "70 rows (id 31-100). DV delete then update all. val=id*3+10.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 4136,
      "write_warm_ms": 3778,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3969_dv_delete_then_insert",
      "num": 3969,
      "name": "dv_delete_then_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3969_dv_delete_then_insert.py",
      "read_script": "generator/df-reads-spark/3969_dv_delete_then_insert.sql",
      "description": "75 rows (id 51-100 + id 101-125). DV. val=id*6.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 8,
      "read_warm_ms": 1,
      "write_cold_ms": 2841,
      "write_warm_ms": 2877,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/396_evolve_then_update",
      "num": 396,
      "name": "evolve_then_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/396_evolve_then_update.py",
      "read_script": "generator/df-reads-spark/396_evolve_then_update.sql",
      "description": "DVs. 100 rows 3-col, ADD COLUMN priority INT, UPDATE priority=id%5 WHERE id<=50, INSERT 20 rows (id 101-120) with priority=(i*17)%5. Final: 120 rows.",
      "status": "pass",
      "duration_ms": 53,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 53,
      "read_warm_ms": 24,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3970_dv_merge_with_dv",
      "num": 3970,
      "name": "dv_merge_with_dv",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3970_dv_merge_with_dv.py",
      "read_script": "generator/df-reads-spark/3970_dv_merge_with_dv.sql",
      "description": "90 rows (70 after delete + 20 new from MERGE; 20 matched are updates not new rows). id 1-30 deleted. id 31-50: val=id*4+10 (updated). id 51-100: val=id*4. id 101-120: val=id*4 (inserted).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "write_cold_ms": 4516,
      "write_warm_ms": 3826,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3971_dv_partition_delete",
      "num": 3971,
      "name": "dv_partition_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3971_dv_partition_delete.py",
      "read_script": "generator/df-reads-spark/3971_dv_partition_delete.sql",
      "description": "DV + PARTITIONED BY(cat). INSERT 200 rows (cat='c'+str(i%5)). DELETE WHERE cat='c0' AND id<=10. val=i*3.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "write_cold_ms": 2380,
      "write_warm_ms": 2645,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3972_dv_colmap_delete",
      "num": 3972,
      "name": "dv_colmap_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3972_dv_colmap_delete.py",
      "read_script": "generator/df-reads-spark/3972_dv_colmap_delete.sql",
      "description": "DV + colmap=name. INSERT 100 (val=i*5) + DELETE 30 (id<=30). Final: 70 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 1906,
      "write_warm_ms": 2447,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3973_dv_time_travel",
      "num": 3973,
      "name": "dv_time_travel",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3973_dv_time_travel.py",
      "read_script": "generator/df-reads-spark/3973_dv_time_travel.sql",
      "description": "70 rows (current state, id 31-100). DV delete. val=id*4.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 1524,
      "write_warm_ms": 1601,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3974_dv_vacuum",
      "num": 3974,
      "name": "dv_vacuum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3974_dv_vacuum.py",
      "read_script": "generator/df-reads-spark/3974_dv_vacuum.sql",
      "description": "70 rows. DV + VACUUM. id 1-30 deleted. id 31-50: val=id*6+10. id 51-100: val=id*6.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 15405,
      "write_warm_ms": 15425,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3975_dv_scale_10k",
      "num": 3975,
      "name": "dv_scale_10k",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3975_dv_scale_10k.py",
      "read_script": "generator/df-reads-spark/3975_dv_scale_10k.sql",
      "description": "5000 rows (id 5001-10000). DV at scale. val=id*3.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 1810,
      "write_warm_ms": 2500,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3976_vacuum_basic",
      "num": 3976,
      "name": "vacuum_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3976_vacuum_basic.py",
      "read_script": "generator/df-reads-spark/3976_vacuum_basic.sql",
      "description": "INSERT 100 (val=i*4) + UPDATE 50 (id<=50 val+=10) + VACUUM RETAIN 0.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "write_cold_ms": 13961,
      "write_warm_ms": 14829,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3977_vacuum_after_delete",
      "num": 3977,
      "name": "vacuum_after_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3977_vacuum_after_delete.py",
      "read_script": "generator/df-reads-spark/3977_vacuum_after_delete.sql",
      "description": "INSERT 100 (val=i*5) + DELETE 50 (id<=50) + VACUUM RETAIN 0.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 14095,
      "write_warm_ms": 14407,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3978_vacuum_after_optimize",
      "num": 3978,
      "name": "vacuum_after_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3978_vacuum_after_optimize.py",
      "read_script": "generator/df-reads-spark/3978_vacuum_after_optimize.sql",
      "description": "20x INSERT 5 (total 100 rows, val=i*3) + OPTIMIZE + VACUUM RETAIN 0.",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 17,
      "read_warm_ms": 1,
      "write_cold_ms": 25335,
      "write_warm_ms": 23062,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3979_vacuum_cdc",
      "num": 3979,
      "name": "vacuum_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3979_vacuum_cdc.py",
      "read_script": "generator/df-reads-spark/3979_vacuum_cdc.sql",
      "description": "CDC + INSERT 100 (val=i*6) + UPDATE 50 (id<=50 val+=5) + VACUUM RETAIN 0.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 15060,
      "write_warm_ms": 15321,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/397_evolve_then_delete",
      "num": 397,
      "name": "evolve_then_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/397_evolve_then_delete.py",
      "read_script": "generator/df-reads-spark/397_evolve_then_delete.sql",
      "description": "DVs. 100 rows (id 1-100) with 3 cols, ADD COLUMN extra STRING, INSERT 50 rows (id 101-150) with extra set, DELETE WHERE id<=30. Final: 120 rows.",
      "status": "pass",
      "duration_ms": 63,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 63,
      "read_warm_ms": 26,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3980_vacuum_colmap",
      "num": 3980,
      "name": "vacuum_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3980_vacuum_colmap.py",
      "read_script": "generator/df-reads-spark/3980_vacuum_colmap.sql",
      "description": "colmap=name + INSERT 100 (val=i*4) + UPDATE 50 (id<=50 val+=20) + VACUUM RETAIN 0.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 15032,
      "write_warm_ms": 15262,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3981_vacuum_partition",
      "num": 3981,
      "name": "vacuum_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3981_vacuum_partition.py",
      "read_script": "generator/df-reads-spark/3981_vacuum_partition.sql",
      "description": "PARTITIONED BY(cat) + INSERT 200 (val=i*3, cat='c'+str(i%4)) + UPDATE 50 (id<=50 val+=5) + VACUUM RETAIN 0.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "write_cold_ms": 15477,
      "write_warm_ms": 16199,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3982_vacuum_widen",
      "num": 3982,
      "name": "vacuum_widen",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3982_vacuum_widen.py",
      "read_script": "generator/df-reads-spark/3982_vacuum_widen.sql",
      "description": "INT + INSERT 50 (val=i*10) + widen BIGINT + INSERT 50 (id 51-100) + VACUUM RETAIN 0.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "write_cold_ms": 13819,
      "write_warm_ms": 14711,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:vacuum",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3983_vacuum_gencol_style",
      "num": 3983,
      "name": "vacuum_gencol_style",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3983_vacuum_gencol_style.py",
      "read_script": "generator/df-reads-spark/3983_vacuum_gencol_style.sql",
      "description": "Computed gen=val*2 (regular column, not IDENTITY). INSERT 100 (val=i*4, gen=i*8) + UPDATE 50 + VACUUM RETAIN 0. Update id<=50 SET val=val+1, gen=gen+2.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 1,
      "write_cold_ms": 15157,
      "write_warm_ms": 14410,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3984_vacuum_many_files",
      "num": 3984,
      "name": "vacuum_many_files",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3984_vacuum_many_files.py",
      "read_script": "generator/df-reads-spark/3984_vacuum_many_files.sql",
      "description": "50x INSERT 2 (total 100 rows, val=i*5) + OPTIMIZE + VACUUM RETAIN 0.",
      "status": "pass",
      "duration_ms": 29,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 29,
      "read_warm_ms": 1,
      "write_cold_ms": 36584,
      "write_warm_ms": 50422,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3985_vacuum_evolve",
      "num": 3985,
      "name": "vacuum_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3985_vacuum_evolve.py",
      "read_script": "generator/df-reads-spark/3985_vacuum_evolve.sql",
      "description": "INSERT 50 (id, val=i*3) + ADD COLUMN extra INT + INSERT 50 (id 51-100, val=i*3, extra=i) + VACUUM RETAIN 0.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "write_cold_ms": 13932,
      "write_warm_ms": 13711,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3986_restore_basic",
      "num": 3986,
      "name": "restore_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3986_restore_basic.py",
      "read_script": "generator/df-reads-spark/3986_restore_basic.sql",
      "description": "INSERT 50 (v1, val=i*4) + INSERT 50 (v2, id 51-100) + RESTORE v1.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "write_cold_ms": 5295,
      "write_warm_ms": 4465,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3987_restore_after_update",
      "num": 3987,
      "name": "restore_after_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3987_restore_after_update.py",
      "read_script": "generator/df-reads-spark/3987_restore_after_update.sql",
      "description": "INSERT 100 (v1, val=i*5) + UPDATE 50 (v2, id<=50 val+=100) + RESTORE v1.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 11,
      "read_warm_ms": 1,
      "write_cold_ms": 6065,
      "write_warm_ms": 5687,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3988_restore_after_delete",
      "num": 3988,
      "name": "restore_after_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3988_restore_after_delete.py",
      "read_script": "generator/df-reads-spark/3988_restore_after_delete.sql",
      "description": "INSERT 100 (v1, val=i*3) + DELETE 50 (v2, id<=50) + RESTORE v1.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "write_cold_ms": 5462,
      "write_warm_ms": 5356,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3989_restore_after_merge",
      "num": 3989,
      "name": "restore_after_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3989_restore_after_merge.py",
      "read_script": "generator/df-reads-spark/3989_restore_after_merge.sql",
      "description": "INSERT 50 (v1, val=i*6) + MERGE 30 (v2, update 20 id 1-20 val+=10 + insert 10 id 51-60) + RESTORE v1.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "write_cold_ms": 4773,
      "write_warm_ms": 4790,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/398_evolve_then_merge",
      "num": 398,
      "name": "evolve_then_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/398_evolve_then_merge.py",
      "read_script": "generator/df-reads-spark/398_evolve_then_merge.sql",
      "description": "DVs. 100 rows (id 1-100) with 3 cols, ADD COLUMN tag STRING, MERGE from 120-row source (id 1-120): MATCHED->UPDATE tag='merged',value=src.value; NOT MATCHED->INSERT. Final: 120 rows.",
      "status": "pass",
      "duration_ms": 34,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 34,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3990_restore_cdc",
      "num": 3990,
      "name": "restore_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3990_restore_cdc.py",
      "read_script": "generator/df-reads-spark/3990_restore_cdc.sql",
      "description": "CDC + INSERT 50 (v1, val=i*4) + UPDATE 20 (v2, id<=20 val+=50) + RESTORE v1.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 9,
      "read_warm_ms": 1,
      "write_cold_ms": 4761,
      "write_warm_ms": 5578,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3991_gencol_arithmetic",
      "num": 3991,
      "name": "gencol_arithmetic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3991_gencol_arithmetic.py",
      "read_script": "generator/df-reads-spark/3991_gencol_arithmetic.sql",
      "description": "INSERT 100 rows. val=i*3. gen=i*6+1.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 652,
      "write_warm_ms": 524,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3992_gencol_multiple",
      "num": 3992,
      "name": "gencol_multiple",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3992_gencol_multiple.py",
      "read_script": "generator/df-reads-spark/3992_gencol_multiple.sql",
      "description": "3 computed cols: val=i*2. g1=i*4, g2=i*2+100, g3=(i>50 ? 1 : 0). INSERT 100 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 5,
      "read_warm_ms": 1,
      "write_cold_ms": 579,
      "write_warm_ms": 574,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3993_partition_string",
      "num": 3993,
      "name": "partition_string",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3993_partition_string.py",
      "read_script": "generator/df-reads-spark/3993_partition_string.sql",
      "description": "PARTITIONED BY(region). INSERT 200 rows. val=i*3. region='r'+str(i%5). 5 distinct partitions.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "write_cold_ms": 930,
      "write_warm_ms": 606,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3994_partition_int_key",
      "num": 3994,
      "name": "partition_int_key",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3994_partition_int_key.py",
      "read_script": "generator/df-reads-spark/3994_partition_int_key.sql",
      "description": "PARTITIONED BY(bucket). INSERT 200 rows. val=i*4. bucket=i%10. 10 distinct partitions.",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 18,
      "read_warm_ms": 5,
      "write_cold_ms": 407,
      "write_warm_ms": 485,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3995_zorder_basic_int",
      "num": 3995,
      "name": "zorder_basic_int",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3995_zorder_basic_int.py",
      "read_script": "generator/df-reads-spark/3995_zorder_basic_int.sql",
      "description": "INSERT 200 rows + ZORDER BY(val). val=i*5.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 1670,
      "write_warm_ms": 2122,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3996_zorder_multi_col",
      "num": 3996,
      "name": "zorder_multi_col",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3996_zorder_multi_col.py",
      "read_script": "generator/df-reads-spark/3996_zorder_multi_col.sql",
      "description": "INSERT 200 rows + ZORDER BY(val, name). val=i*3. name='n'+str(i%20).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "write_cold_ms": 2096,
      "write_warm_ms": 1834,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3997_truncate_basic",
      "num": 3997,
      "name": "truncate_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3997_truncate_basic.py",
      "read_script": "generator/df-reads-spark/3997_truncate_basic.sql",
      "description": "INSERT 100 (val=i*4) + TRUNCATE (DELETE WHERE 1=1, Spark OSS).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 4,
      "read_warm_ms": 0,
      "write_cold_ms": 1924,
      "write_warm_ms": 1313,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "dml:truncate",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3998_truncate_reinsert",
      "num": 3998,
      "name": "truncate_reinsert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3998_truncate_reinsert.py",
      "read_script": "generator/df-reads-spark/3998_truncate_reinsert.sql",
      "description": "INSERT 100 (val=i*4) + TRUNCATE (DELETE WHERE 1=1) + INSERT 50 (id 1-50, val=i*5).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 1892,
      "write_warm_ms": 1829,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "dml:truncate",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/3999_combo_full_feature",
      "num": 3999,
      "name": "combo_full_feature",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/3999_combo_full_feature.py",
      "read_script": "generator/df-reads-spark/3999_combo_full_feature.sql",
      "description": "INSERT 200 (val=i*3, cat='c'+str(i%4)) + UPDATE 50 (id<=50 val+=10) + DELETE 30 (id 51-80).",
      "status": "skip",
      "duration_ms": 0,
      "error": null,
      "notes": "CDF + column mapping blocked by Spark OSS (no source table)",
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": "spark_oss_limitation",
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/399_evolve_add_then_drop",
      "num": 399,
      "name": "evolve_add_then_drop",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/399_evolve_add_then_drop.py",
      "read_script": "generator/df-reads-spark/399_evolve_add_then_drop.sql",
      "description": "Column mapping mode (required for DROP COLUMN). 50 rows (id 1-50), ADD COLUMN temp STRING, INSERT 20 rows (id 51-70) with temp set, DROP COLUMN temp, INSERT 10 rows (id 71-80). Final: 80 rows, 3 columns.",
      "status": "pass",
      "duration_ms": 77,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 77,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "schema:drop-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/39_iceberg_compat_v2_advanced",
      "num": 39,
      "name": "iceberg_compat_v2_advanced",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/39_iceberg_compat_v2_advanced.py",
      "read_script": "generator/df-reads-spark/39_iceberg_compat_v2_advanced.sql",
      "description": "Iceberg Compatibility V2 Advanced - Clinical Trial Patient Records. 6000 initial + 1000 additional. Partitioned by country. we write a regular delta table with column mapping instead.",
      "status": "pass",
      "duration_ms": 32,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 32,
      "read_warm_ms": 18,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 775,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:partitioning",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/4000_combo_etl_lifecycle",
      "num": 4000,
      "name": "combo_etl_lifecycle",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/4000_combo_etl_lifecycle.py",
      "read_script": "generator/df-reads-spark/4000_combo_etl_lifecycle.sql",
      "description": "val=i*4. - INSERT 500 (id 1-500) - UPDATE 100 (id<=100 val+=10) - DELETE 50 (id 101-150) - MERGE 50: update 25 (id 151-175 val+=5) + insert 25 new (id 501-525) - OPTIMIZE + VACUUM",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-20T13:50:20.656744+00:00",
      "skip_feature": null,
      "skip_cause": null,
      "read_cold_ms": 6,
      "read_warm_ms": 1,
      "write_cold_ms": 16773,
      "write_warm_ms": 18666,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/400_colmap_update_delete",
      "num": 400,
      "name": "colmap_update_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/400_colmap_update_delete.py",
      "read_script": "generator/df-reads-spark/400_colmap_update_delete.sql",
      "description": "Column mapping + DVs. 200 rows, UPDATE status='closed' WHERE score<20, DELETE WHERE category='D' (50 rows). Final: 150 rows.",
      "status": "pass",
      "duration_ms": 57,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 57,
      "read_warm_ms": 18,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:update",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/401_colmap_merge",
      "num": 401,
      "name": "colmap_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/401_colmap_merge.py",
      "read_script": "generator/df-reads-spark/401_colmap_merge.sql",
      "description": "Column mapping + DVs + MERGE. 100 rows (id 1-100), MERGE from 130-row source.",
      "status": "pass",
      "duration_ms": 23,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 23,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/402_colmap_evolve_dml",
      "num": 402,
      "name": "colmap_evolve_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/402_colmap_evolve_dml.py",
      "read_script": "generator/df-reads-spark/402_colmap_evolve_dml.sql",
      "description": "Column mapping + DVs + schema evolution + DML. 100 rows (id 1-100), ADD COLUMN rating INT, UPDATE rating=score%10 WHERE id<=50, INSERT 30 rows (id 101-130) with rating=(i*17)%10. Final: 130 rows.",
      "status": "pass",
      "duration_ms": 52,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 52,
      "read_warm_ms": 19,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/403_cdc_evolve_dml",
      "num": 403,
      "name": "cdc_evolve_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/403_cdc_evolve_dml.py",
      "read_script": "generator/df-reads-spark/403_cdc_evolve_dml.sql",
      "description": "CDC + DVs + schema evolution + DML. 100 rows (id 1-100), ADD COLUMN tag STRING, INSERT 30 rows (id 101-130) with tag set, UPDATE tag='migrated' WHERE id<=50, DELETE WHERE id>90 AND id<=100. Final: 120 rows.",
      "status": "pass",
      "duration_ms": 50,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 50,
      "read_warm_ms": 19,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/404_dv_evolve_delete",
      "num": 404,
      "name": "dv_evolve_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/404_dv_evolve_delete.py",
      "read_script": "generator/df-reads-spark/404_dv_evolve_delete.sql",
      "description": "DVs. 200 rows (id 1-200), DELETE WHERE id%4=0 (50 removed, DVs created), ADD COLUMN extra STRING, INSERT 50 rows (id 201-250) with extra set.",
      "status": "pass",
      "duration_ms": 47,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 47,
      "read_warm_ms": 24,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/405_dv_evolve_update",
      "num": 405,
      "name": "dv_evolve_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/405_dv_evolve_update.py",
      "read_script": "generator/df-reads-spark/405_dv_evolve_update.sql",
      "description": "DVs. 200 rows (id 1-200), DELETE WHERE id<=20 (20 removed), ADD COLUMN flag BOOLEAN, UPDATE flag=true WHERE id>180.",
      "status": "pass",
      "duration_ms": 34,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 34,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/406_cdc_partition_dml",
      "num": 406,
      "name": "cdc_partition_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/406_cdc_partition_dml.py",
      "read_script": "generator/df-reads-spark/406_cdc_partition_dml.sql",
      "description": "CDC + DVs + partitioning + DML. 120 rows (i=1..120, partitioned by region). region = 'US' if i%3=0, 'EU' if i%3=1, 'AP' if i%3=2. UPDATE status='closed' WHERE region='US' (40 rows). DELETE WHERE region='EU' AND id%5=0 (8 rows: i%15=10). Final: 112 rows.",
      "status": "pass",
      "duration_ms": 80,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 80,
      "read_warm_ms": 37,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/407_constraint_update",
      "num": 407,
      "name": "constraint_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/407_constraint_update.py",
      "read_script": "generator/df-reads-spark/407_constraint_update.sql",
      "description": "CHECK constraint + UPDATE interaction. 1. INSERT 100 rows with scores 0-99 2. ALTER TABLE ADD CONSTRAINT score_check CHECK (score >= 0 AND score <= 100) 3. UPDATE SET score = score - 10 WHERE score >= 50",
      "status": "pass",
      "duration_ms": 38,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 38,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/408_constraint_delete",
      "num": 408,
      "name": "constraint_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/408_constraint_delete.py",
      "read_script": "generator/df-reads-spark/408_constraint_delete.sql",
      "description": "CHECK constraint + DELETE interaction. 1. INSERT 100 rows with non-empty names 2. ALTER TABLE ADD CONSTRAINT name_len CHECK (LENGTH(name) > 0) 3. DELETE WHERE id % 3 = 0",
      "status": "pass",
      "duration_ms": 25,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 25,
      "read_warm_ms": 10,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/409_constraint_merge",
      "num": 409,
      "name": "constraint_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/409_constraint_merge.py",
      "read_script": "generator/df-reads-spark/409_constraint_merge.sql",
      "description": "CHECK constraint + MERGE interaction. 1. INSERT 80 rows with positive values 2. ALTER TABLE ADD CONSTRAINT val_positive CHECK (value > 0) 3. MERGE from 100-row CTE (80 updates + 20 inserts)",
      "status": "pass",
      "duration_ms": 21,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 21,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/40_timestamp_ntz_without_timezone",
      "num": 40,
      "name": "timestamp_ntz_without_timezone",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/40_timestamp_ntz_without_timezone.py",
      "read_script": "generator/df-reads-spark/40_timestamp_ntz_without_timezone.sql",
      "description": "35000 rows (30000 batch1 + 5000 batch2)",
      "status": "pass",
      "duration_ms": 23,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 23,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 2120,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp-ntz",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/410_dv_partition_update",
      "num": 410,
      "name": "dv_partition_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/410_dv_partition_update.py",
      "read_script": "generator/df-reads-spark/410_dv_partition_update.sql",
      "description": "Deletion vectors + partitioning + UPDATE + DELETE. 1. INSERT 150 rows across 3 partitions (US, EU, AP) 2. UPDATE amount = amount * 1.1 WHERE region = 'US' 3. DELETE WHERE region = 'EU' AND id % 5 = 0",
      "status": "pass",
      "duration_ms": 65,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 65,
      "read_warm_ms": 33,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/411_dv_partition_merge",
      "num": 411,
      "name": "dv_partition_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/411_dv_partition_merge.py",
      "read_script": "generator/df-reads-spark/411_dv_partition_merge.sql",
      "description": "Deletion vectors + partitioning + MERGE. 1. INSERT 150 rows across 3 partitions (US, EU, AP) 2. MERGE from 180-row CTE (150 updates + 30 inserts)",
      "status": "pass",
      "duration_ms": 21,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 21,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/412_delete_reinsert_keys",
      "num": 412,
      "name": "delete_reinsert_keys",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/412_delete_reinsert_keys.py",
      "read_script": "generator/df-reads-spark/412_delete_reinsert_keys.sql",
      "description": "DELETE then re-INSERT of the same key values. Tests that deletion vectors correctly handle re-inserted keys that were previously deleted. 1. INSERT 100 rows (id 1-100, version_tag=1) 2. DELETE WHERE id <= 30 3. INSERT 30 rows (id 1-30 again, version_tag=2, different name)",
      "status": "pass",
      "duration_ms": 39,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 39,
      "read_warm_ms": 20,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/413_delete_all_reinsert",
      "num": 413,
      "name": "delete_all_reinsert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/413_delete_all_reinsert.py",
      "read_script": "generator/df-reads-spark/413_delete_all_reinsert.sql",
      "description": "50 rows (batch 2 after delete all)",
      "status": "pass",
      "duration_ms": 32,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 32,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/414_update_chain",
      "num": 414,
      "name": "update_chain",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/414_update_chain.py",
      "read_script": "generator/df-reads-spark/414_update_chain.sql",
      "description": "Multiple sequential UPDATEs to the same rows. Tests DV accumulation across chained updates where rows are updated more than once. 1. INSERT 100 rows (all status='new', priority=0) 2. UPDATE SET status='processing' WHERE id <= 50 3. UPDATE SET status='complete' WHERE id <= 25 4...",
      "status": "pass",
      "duration_ms": 38,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 38,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/415_update_all_rows",
      "num": 415,
      "name": "update_all_rows",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/415_update_all_rows.py",
      "read_script": "generator/df-reads-spark/415_update_all_rows.sql",
      "description": "UPDATE all rows (no WHERE clause). Tests DV behavior when every single row in the table gets a deletion vector. Two consecutive full-table updates stress-test DV file management. 1. INSERT 200 rows 2. UPDATE value = value * 2 (all 200 rows) 3. UPDATE name = CONCAT('v2_', name)...",
      "status": "pass",
      "duration_ms": 38,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 38,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/416_merge_delete_clause",
      "num": 416,
      "name": "merge_delete_clause",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/416_merge_delete_clause.py",
      "read_script": "generator/df-reads-spark/416_merge_delete_clause.sql",
      "description": "195 rows (5 deleted where score<10)",
      "status": "pass",
      "duration_ms": 24,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 24,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/417_merge_insert_only",
      "num": 417,
      "name": "merge_insert_only",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/417_merge_insert_only.py",
      "read_script": "generator/df-reads-spark/417_merge_insert_only.sql",
      "description": "MERGE with only WHEN NOT MATCHED THEN INSERT (no MATCHED clause). 1. INSERT 100 rows (id 1-100) 2. MERGE from CTE of 50 rows (id 101-150) with WHEN NOT MATCHED THEN INSERT",
      "status": "pass",
      "duration_ms": 61,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 61,
      "read_warm_ms": 29,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/418_merge_update_only",
      "num": 418,
      "name": "merge_update_only",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/418_merge_update_only.py",
      "read_script": "generator/df-reads-spark/418_merge_update_only.sql",
      "description": "MERGE with only WHEN MATCHED THEN UPDATE (no NOT MATCHED clause). 1. INSERT 100 rows (id 1-100) with tag='original' 2. MERGE from CTE of 100 rows (id 1-100) with WHEN MATCHED THEN UPDATE",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/419_optimize_then_delete",
      "num": 419,
      "name": "optimize_then_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/419_optimize_then_delete.py",
      "read_script": "generator/df-reads-spark/419_optimize_then_delete.sql",
      "description": "OPTIMIZE followed by DELETE. 1. INSERT 500 rows in 5 batches of 100 2. OPTIMIZE to compact data files 3. DELETE WHERE id % 4 = 0 (removes 125 rows)",
      "status": "pass",
      "duration_ms": 47,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 47,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/41_v2_checkpoint_feature_enabled",
      "num": 41,
      "name": "v2_checkpoint_feature_enabled",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/41_v2_checkpoint_feature_enabled.py",
      "read_script": "generator/df-reads-spark/41_v2_checkpoint_feature_enabled.sql",
      "description": "6000 rows (5000 initial + 1000 appended)",
      "status": "pass",
      "duration_ms": 34,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 34,
      "read_warm_ms": 19,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 708,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/420_optimize_then_update",
      "num": 420,
      "name": "optimize_then_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/420_optimize_then_update.py",
      "read_script": "generator/df-reads-spark/420_optimize_then_update.sql",
      "description": "OPTIMIZE followed by UPDATE. 1. INSERT 500 rows in 5 batches of 100 2. OPTIMIZE to compact data files 3. UPDATE SET status='refreshed' WHERE id <= 100 (updates 100 rows)",
      "status": "pass",
      "duration_ms": 52,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 52,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/421_optimize_then_merge",
      "num": 421,
      "name": "optimize_then_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/421_optimize_then_merge.py",
      "read_script": "generator/df-reads-spark/421_optimize_then_merge.sql",
      "description": "OPTIMIZE followed by MERGE. 1. INSERT 300 rows in 3 batches of 100 2. OPTIMIZE to compact data files 3. MERGE from 350-row CTE (300 updates + 50 inserts)",
      "status": "pass",
      "duration_ms": 46,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 46,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/422_dv_cdc_evolve",
      "num": 422,
      "name": "dv_cdc_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/422_dv_cdc_evolve.py",
      "read_script": "generator/df-reads-spark/422_dv_cdc_evolve.sql",
      "description": "Deletion vectors + CDC + schema evolution (three-way interaction): 1. INSERT 100 rows (id 1-100) 2. DELETE WHERE id % 10 = 0 (removes 10 rows) 3. ALTER TABLE ADD COLUMN tag STRING 4. INSERT 30 rows (id 101-130) with tag populated 5. UPDATE SET tag = 'backfill' WHERE id <= 20",
      "status": "pass",
      "duration_ms": 91,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 91,
      "read_warm_ms": 34,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/423_dv_cdc_partition_merge",
      "num": 423,
      "name": "dv_cdc_partition_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/423_dv_cdc_partition_merge.py",
      "read_script": "generator/df-reads-spark/423_dv_cdc_partition_merge.sql",
      "description": "Deletion vectors + CDC + partitioning + MERGE (four-way interaction): 1. INSERT 150 rows across 3 partitions (US, EU, AP) 2. MERGE from 180-row CTE (150 updates + 30 inserts)",
      "status": "pass",
      "duration_ms": 25,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 25,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/424_null_heavy_dml",
      "num": 424,
      "name": "null_heavy_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/424_null_heavy_dml.py",
      "read_script": "generator/df-reads-spark/424_null_heavy_dml.sql",
      "description": "NULL-heavy table with DML operations. All nullable columns are NULL throughout the test to verify correct handling of all-NULL columns during UPDATE and DELETE operations with deletion vectors. 1. INSERT 100 rows (nullable_a and nullable_b always NULL) 2. UPDATE SET name =...",
      "status": "pass",
      "duration_ms": 35,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 35,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/425_null_partition_delete",
      "num": 425,
      "name": "null_partition_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/425_null_partition_delete.py",
      "read_script": "generator/df-reads-spark/425_null_partition_delete.sql",
      "description": "60 rows (DELETE category IS NULL)",
      "status": "pass",
      "duration_ms": 44,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 44,
      "read_warm_ms": 15,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/426_null_in_merge_key",
      "num": 426,
      "name": "null_in_merge_key",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/426_null_in_merge_key.py",
      "read_script": "generator/df-reads-spark/426_null_in_merge_key.sql",
      "description": "90 rows (NULL!=NULL semantics, all 40 source rows inserted)",
      "status": "pass",
      "duration_ms": 51,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 51,
      "read_warm_ms": 25,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/427_bigint_boundaries",
      "num": 427,
      "name": "bigint_boundaries",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/427_bigint_boundaries.py",
      "read_script": "generator/df-reads-spark/427_bigint_boundaries.sql",
      "description": "BIGINT boundary values combined with DML operations: 1. INSERT 100 rows (id 1-100) with deterministic formulas 2. INSERT 5 boundary rows using VALUES (min+1, -1, 0, max-1, max) 3. DELETE WHERE id = 0 (removes 1 row) 4. UPDATE SET name='extreme' WHERE id = -9223372036854775807",
      "status": "pass",
      "duration_ms": 38,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 38,
      "read_warm_ms": 14,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/428_empty_string_values",
      "num": 428,
      "name": "empty_string_values",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/428_empty_string_values.py",
      "read_script": "generator/df-reads-spark/428_empty_string_values.sql",
      "description": "80 rows (DELETE name IS NULL)",
      "status": "pass",
      "duration_ms": 40,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 40,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/429_decimal_full_precision_dml",
      "num": 429,
      "name": "decimal_full_precision_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/429_decimal_full_precision_dml.py",
      "read_script": "generator/df-reads-spark/429_decimal_full_precision_dml.sql",
      "description": "100 rows (no rows have amount<1.0)",
      "status": "pass",
      "duration_ms": 34,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 34,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/42_row_tracking_stable_row_ids",
      "num": 42,
      "name": "row_tracking_stable_row_ids",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/42_row_tracking_stable_row_ids.py",
      "read_script": "generator/df-reads-spark/42_row_tracking_stable_row_ids.sql",
      "description": "5500 rows (5000 initial + 500 refund appended)",
      "status": "pass",
      "duration_ms": 36,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 36,
      "read_warm_ms": 18,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 3519,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/430_single_row_dml_cycle",
      "num": 430,
      "name": "single_row_dml_cycle",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/430_single_row_dml_cycle.py",
      "read_script": "generator/df-reads-spark/430_single_row_dml_cycle.sql",
      "description": "Full DML cycle on a single-row table: 1. INSERT 1 row (id=1) 2. UPDATE the row (value and status) 3. DELETE the row 4. INSERT a new row (id=2)",
      "status": "pass",
      "duration_ms": 25,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 25,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/431_multi_version_insert_update",
      "num": 431,
      "name": "multi_version_insert_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/431_multi_version_insert_update.py",
      "read_script": "generator/df-reads-spark/431_multi_version_insert_update.sql",
      "description": "15 versions alternating INSERT and UPDATE to test multi-version correctness: - 8 INSERT batches (50 rows each, ids 1-400) - 7 UPDATE operations (set status per batch range) - Total: 15 versions (version 0-14)",
      "status": "pass",
      "duration_ms": 210,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 210,
      "read_warm_ms": 62,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/432_multi_version_mixed_dml",
      "num": 432,
      "name": "multi_version_mixed_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/432_multi_version_mixed_dml.py",
      "read_script": "generator/df-reads-spark/432_multi_version_mixed_dml.sql",
      "description": "12 versions of mixed DML (INSERT, UPDATE, DELETE, MERGE) to test long DML chains with interleaved operations.",
      "status": "pass",
      "duration_ms": 95,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 95,
      "read_warm_ms": 31,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/433_constraint_then_evolve",
      "num": 433,
      "name": "constraint_then_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/433_constraint_then_evolve.py",
      "read_script": "generator/df-reads-spark/433_constraint_then_evolve.sql",
      "description": "CHECK constraint + schema evolution + DML: 1. INSERT 80 rows (id 1-80) 2. ALTER TABLE ADD CONSTRAINT score_ok CHECK (score >= 0) 3. ALTER TABLE ADD COLUMN priority INT 4. INSERT 20 rows (id 81-100) with priority populated 5. UPDATE SET priority = 1 WHERE id <= 40 AND score > 50",
      "status": "pass",
      "duration_ms": 62,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 62,
      "read_warm_ms": 22,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/434_dv_constraint_dml",
      "num": 434,
      "name": "dv_constraint_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/434_dv_constraint_dml.py",
      "read_script": "generator/df-reads-spark/434_dv_constraint_dml.sql",
      "description": "Deletion vectors + CHECK constraint + DML: 1. INSERT 100 rows (id 1-100) 2. ALTER TABLE ADD CONSTRAINT val_positive CHECK (value > 0) 3. DELETE WHERE id % 4 = 0 (25 rows removed) 4. UPDATE SET tag = 'v2', value = value + 1.0 WHERE id % 3 = 0",
      "status": "pass",
      "duration_ms": 36,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 36,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/435_cdc_multi_version_dml",
      "num": 435,
      "name": "cdc_multi_version_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/435_cdc_multi_version_dml.py",
      "read_script": "generator/df-reads-spark/435_cdc_multi_version_dml.sql",
      "description": "CDC (Change Data Feed) + 10 versions of mixed DML to test long CDF version history with INSERT, UPDATE, DELETE, and MERGE operations.",
      "status": "pass",
      "duration_ms": 72,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 72,
      "read_warm_ms": 34,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/436_wide_table_dml",
      "num": 436,
      "name": "wide_table_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/436_wide_table_dml.py",
      "read_script": "generator/df-reads-spark/436_wide_table_dml.sql",
      "description": "Wide table (15 columns) + DML operations to test correctness with many columns across UPDATE and DELETE.",
      "status": "pass",
      "duration_ms": 61,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 61,
      "read_warm_ms": 23,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/437_partition_optimize_dml",
      "num": 437,
      "name": "partition_optimize_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/437_partition_optimize_dml.py",
      "read_script": "generator/df-reads-spark/437_partition_optimize_dml.sql",
      "description": "Partition + OPTIMIZE + DML: - INSERT 300 rows in 5 batches across 3 partitions (US, EU, AP) - OPTIMIZE to compact files - DELETE rows where id%5=0 (60 rows removed) - UPDATE rows in US partition to status='post_opt",
      "status": "pass",
      "duration_ms": 31,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 31,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/438_dv_cdc_optimize",
      "num": 438,
      "name": "dv_cdc_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/438_dv_cdc_optimize.py",
      "read_script": "generator/df-reads-spark/438_dv_cdc_optimize.sql",
      "description": "200 rows (DELETE id%10=0, then append 20)",
      "status": "pass",
      "duration_ms": 27,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 27,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/439_insert_overwrite_then_dml",
      "num": 439,
      "name": "insert_overwrite_then_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/439_insert_overwrite_then_dml.py",
      "read_script": "generator/df-reads-spark/439_insert_overwrite_then_dml.sql",
      "description": "INSERT OVERWRITE followed by DML operations: - INSERT OVERWRITE seeds the table with 200 rows - UPDATE first 50 rows to status='processed' - DELETE rows where id>180 (removes 20 rows)",
      "status": "pass",
      "duration_ms": 21,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 21,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/43_row_tracking_commit_versions",
      "num": 43,
      "name": "row_tracking_commit_versions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/43_row_tracking_commit_versions.py",
      "read_script": "generator/df-reads-spark/43_row_tracking_commit_versions.sql",
      "description": "5500 rows (5000 initial + 500 appended)",
      "status": "pass",
      "duration_ms": 258,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 258,
      "read_warm_ms": 115,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 11240,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/440_interleaved_evolve_dml",
      "num": 440,
      "name": "interleaved_evolve_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/440_interleaved_evolve_dml.py",
      "read_script": "generator/df-reads-spark/440_interleaved_evolve_dml.sql",
      "description": "Interleaved ALTER TABLE ADD COLUMN + DML operations: - INSERT 100 rows with 3 columns - ALTER ADD COLUMN cat STRING - UPDATE cat for first 50 rows - ALTER ADD COLUMN priority INT - UPDATE priority for all surviving rows - DELETE rows where id%10=0 - INSERT 20 new rows with all 5...",
      "status": "pass",
      "duration_ms": 56,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 56,
      "read_warm_ms": 15,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/441_partition_constraint_dml",
      "num": 441,
      "name": "partition_constraint_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/441_partition_constraint_dml.py",
      "read_script": "generator/df-reads-spark/441_partition_constraint_dml.sql",
      "description": "Partition + CHECK constraint + DML: - INSERT 120 rows across 3 partitions (US, EU, AP) - ALTER TABLE ADD CONSTRAINT score_range CHECK (score >= 0 AND score <= 100) - UPDATE US rows (score = score - 5 WHERE score >= 5) - DELETE EU rows where score < 20",
      "status": "pass",
      "duration_ms": 40,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 40,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/442_cdc_colmap_merge",
      "num": 442,
      "name": "cdc_colmap_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/442_cdc_colmap_merge.py",
      "read_script": "generator/df-reads-spark/442_cdc_colmap_merge.sql",
      "description": "CDC + column mapping (name mode) + MERGE. Three-way combo never tested. - INSERT 100 rows - MERGE from 120-row CTE (id 1-120): - MATCHED (id 1-100): UPDATE SET price=source.price, status='merged' - NOT MATCHED (id 101-120): INSERT all columns",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/443_cdc_constraint_dml",
      "num": 443,
      "name": "cdc_constraint_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/443_cdc_constraint_dml.py",
      "read_script": "generator/df-reads-spark/443_cdc_constraint_dml.sql",
      "description": "CDC + CHECK constraint + DML. Never combined before. - INSERT 100 rows - ALTER TABLE ADD CONSTRAINT score_valid CHECK (score >= 0 AND score <= 100) - UPDATE SET score = score - 5 WHERE score >= 50 - DELETE WHERE score < 5",
      "status": "pass",
      "duration_ms": 31,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 31,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/444_dv_cdc_constraint",
      "num": 444,
      "name": "dv_cdc_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/444_dv_cdc_constraint.py",
      "read_script": "generator/df-reads-spark/444_dv_cdc_constraint.sql",
      "description": "DV + CDC + CHECK constraint. Three-way combo never tested. - INSERT 100 rows - ALTER TABLE ADD CONSTRAINT val_pos CHECK (value > 0) - DELETE WHERE id % 4 = 0 (25 rows removed) - UPDATE SET tag = 'checked' WHERE id % 3 = 0 (of surviving rows)",
      "status": "pass",
      "duration_ms": 29,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 29,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/445_colmap_partition_dml",
      "num": 445,
      "name": "colmap_partition_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/445_colmap_partition_dml.py",
      "read_script": "generator/df-reads-spark/445_colmap_partition_dml.sql",
      "description": "Column mapping (name mode) + partitioning + DML. Never combined. - INSERT 150 rows across 3 partitions (US, EU, AP) - UPDATE amount * 1.5 for US partition - DELETE EU rows where id % 5 = 0",
      "status": "pass",
      "duration_ms": 39,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 39,
      "read_warm_ms": 15,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/446_optimize_schema_evolve",
      "num": 446,
      "name": "optimize_schema_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/446_optimize_schema_evolve.py",
      "read_script": "generator/df-reads-spark/446_optimize_schema_evolve.sql",
      "description": "OPTIMIZE + schema evolution (ALTER TABLE ADD COLUMN). Never combined in SQL. - INSERT 300 rows in 3 batches of 100 - OPTIMIZE (compacts the 3 data files) - ALTER TABLE ADD COLUMN extra STRING - INSERT 50 rows (id 301-350) with extra column - UPDATE SET extra = 'backfill' WHERE...",
      "status": "pass",
      "duration_ms": 41,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 41,
      "read_warm_ms": 18,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/447_optimize_cdc",
      "num": 447,
      "name": "optimize_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/447_optimize_cdc.py",
      "read_script": "generator/df-reads-spark/447_optimize_cdc.sql",
      "description": "OPTIMIZE + CDC in SQL. Tests that OPTIMIZE produces no CDF rows. - INSERT 300 rows in 6 batches of 50 each (creates 6 small files) - UPDATE first 50 rows - OPTIMIZE (should NOT emit CDF rows) - INSERT 50 more rows",
      "status": "pass",
      "duration_ms": 66,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 66,
      "read_warm_ms": 15,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/448_merge_large_scale",
      "num": 448,
      "name": "merge_large_scale",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/448_merge_large_scale.py",
      "read_script": "generator/df-reads-spark/448_merge_large_scale.sql",
      "description": "Large-scale MERGE (1000 rows + 1200-row MERGE). Tests MERGE at scale in SQL. - INSERT 1000 rows - MERGE from 1200-row CTE (id 1-1200): - MATCHED (id 1-1000): UPDATE SET score = score + 1000, status = 'updated' - NOT MATCHED (id 1001-1200): INSERT all columns",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/449_delete_compound_predicate",
      "num": 449,
      "name": "delete_compound_predicate",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/449_delete_compound_predicate.py",
      "read_script": "generator/df-reads-spark/449_delete_compound_predicate.sql",
      "description": "DELETE with compound AND/OR predicates. Tests complex predicate pushdown. - INSERT 500 rows - DELETE WHERE (category='A' AND score<20) OR (category='B' AND NOT active) OR (id>480)",
      "status": "pass",
      "duration_ms": 25,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 25,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/44_vacuum_protocol_check_enabled",
      "num": 44,
      "name": "vacuum_protocol_check_enabled",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/44_vacuum_protocol_check_enabled.py",
      "read_script": "generator/df-reads-spark/44_vacuum_protocol_check_enabled.sql",
      "description": "61775 rows (80000 initial - is_available=false - rating<3 - VID-0000000)",
      "status": "pass",
      "duration_ms": 31,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 31,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 5584,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:vacuum",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/450_update_case_expression",
      "num": 450,
      "name": "update_case_expression",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/450_update_case_expression.py",
      "read_script": "generator/df-reads-spark/450_update_case_expression.sql",
      "description": "UPDATE with CASE expression in SET clause. Tests complex UPDATE expressions. - INSERT 200 rows - UPDATE SET grade = CASE WHEN score>=90 THEN 'A' ... END (all rows) - UPDATE SET status = CASE WHEN grade IN ('A','B') THEN 'honor' ... END (all rows)",
      "status": "pass",
      "duration_ms": 20,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 20,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/451_merge_self_dedup",
      "num": 451,
      "name": "merge_self_dedup",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/451_merge_self_dedup.py",
      "read_script": "generator/df-reads-spark/451_merge_self_dedup.sql",
      "description": "MERGE where source has recomputed values, updating only rows where the source value exceeds the target value. Tests conditional MERGE with a WHEN MATCHED AND <condition> clause. - INSERT 100 rows with target formula values - MERGE from 100-row CTE with source formula values: -...",
      "status": "pass",
      "duration_ms": 23,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 23,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/452_timestamp_dml",
      "num": 452,
      "name": "timestamp_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/452_timestamp_dml.py",
      "read_script": "generator/df-reads-spark/452_timestamp_dml.sql",
      "description": "TIMESTAMP columns with DML operations: - INSERT 100 rows with TIMESTAMP column using arrow_cast microsecond encoding - UPDATE rows with timestamp predicate (event_ts < threshold) - DELETE rows with timestamp predicate (event_ts > threshold)",
      "status": "pass",
      "duration_ms": 36,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 36,
      "read_warm_ms": 15,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/453_boolean_dml",
      "num": 453,
      "name": "boolean_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/453_boolean_dml.py",
      "read_script": "generator/df-reads-spark/453_boolean_dml.sql",
      "description": "BOOLEAN columns as DML predicates and update values: - INSERT 200 rows with two boolean columns (active, verified) - UPDATE verified=true WHERE active=true AND score>50 - DELETE WHERE active=false AND verified=false AND score<20",
      "status": "pass",
      "duration_ms": 28,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 28,
      "read_warm_ms": 14,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/454_struct_dml",
      "num": 454,
      "name": "struct_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/454_struct_dml.py",
      "read_script": "generator/df-reads-spark/454_struct_dml.sql",
      "description": "Nested STRUCT columns with DML operations: - INSERT 100 rows with a STRUCT<age: INT, city: STRING> column - UPDATE non-struct column (value) for id<=30 - DELETE rows where id%7=0 - Verifies struct values are preserved through UPDATE/DELETE operations",
      "status": "pass",
      "duration_ms": 25,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 25,
      "read_warm_ms": 14,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "delta:deletion-vectors",
        "scale:nested-types",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/455_array_dml",
      "num": 455,
      "name": "array_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/455_array_dml.py",
      "read_script": "generator/df-reads-spark/455_array_dml.sql",
      "description": "String tags column (simulating array-like data) with DML operations: - INSERT 100 rows with a tags STRING column containing comma-separated values - UPDATE tags='gold' WHERE score>80 - DELETE WHERE tags='green' AND score<20 - Tests tag-based filtering and update through DML",
      "status": "pass",
      "duration_ms": 24,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 24,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/456_multi_table_merge",
      "num": 456,
      "name": "multi_table_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/456_multi_table_merge.py",
      "read_script": "generator/df-reads-spark/456_multi_table_merge.sql",
      "description": "MERGE with conditional update logic: - INSERT 200 rows with category column - MERGE from a 250-row CTE source - WHEN MATCHED AND target.category != 'D' THEN UPDATE (skip category D rows) - WHEN NOT MATCHED THEN INSERT - Tests selective MERGE with predicate-guarded updates",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/457_dv_no_dv_comparison",
      "num": 457,
      "name": "dv_no_dv_comparison",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/457_dv_no_dv_comparison.py",
      "read_script": "generator/df-reads-spark/457_dv_no_dv_comparison.sql",
      "description": "Table WITHOUT deletion vectors (full file rewrites for DML): - INSERT 100 rows - UPDATE first 30 rows (full rewrite, no DVs) - DELETE last 20 rows (full rewrite, no DVs) - Verifies non-DV writes produce correct results - All other tests in this series use...",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/458_partition_multi_col",
      "num": 458,
      "name": "partition_multi_col",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/458_partition_multi_col.py",
      "read_script": "generator/df-reads-spark/458_partition_multi_col.sql",
      "description": "100 rows (DELETE EU/2025)",
      "status": "pass",
      "duration_ms": 50,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 50,
      "read_warm_ms": 32,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/459_insert_overwrite_partition",
      "num": 459,
      "name": "insert_overwrite_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/459_insert_overwrite_partition.py",
      "read_script": "generator/df-reads-spark/459_insert_overwrite_partition.sql",
      "description": "50 rows (INSERT OVERWRITE replaced all rows)",
      "status": "pass",
      "duration_ms": 47,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 47,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/45_variant_data_type_basic",
      "num": 45,
      "name": "variant_data_type_basic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/45_variant_data_type_basic.py",
      "read_script": "generator/df-reads-spark/45_variant_data_type_basic.sql",
      "description": "25000 rows (22000 initial + 3000 payment events)",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 1105,
      "tags": [
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/460_delete_then_optimize",
      "num": 460,
      "name": "delete_then_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/460_delete_then_optimize.py",
      "read_script": "generator/df-reads-spark/460_delete_then_optimize.sql",
      "description": "DELETE creating deletion vectors, then OPTIMIZE to materialize them: - INSERT 1000 rows in 10 batches of 100 (creates 10 data files) - DELETE rows where id%3=0 (creates DVs on each data file) - OPTIMIZE compacts files and materializes DVs into clean data files - Verifies...",
      "status": "pass",
      "duration_ms": 35,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 35,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/461_update_then_optimize",
      "num": 461,
      "name": "update_then_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/461_update_then_optimize.py",
      "read_script": "generator/df-reads-spark/461_update_then_optimize.sql",
      "description": "UPDATE creating deletion vectors, then OPTIMIZE to compact: - INSERT 500 rows in 5 batches of 100 (creates 5 data files) - UPDATE first 200 rows (creates DVs + new data files for updated rows) - OPTIMIZE compacts all files into fewer, clean files - Verifies correct values after...",
      "status": "pass",
      "duration_ms": 23,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 23,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/462_constraint_drop_insert",
      "num": 462,
      "name": "constraint_drop_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/462_constraint_drop_insert.py",
      "read_script": "generator/df-reads-spark/462_constraint_drop_insert.sql",
      "description": "Constraint lifecycle: ADD CONSTRAINT then DROP CONSTRAINT then insert violating data. 1. INSERT 50 rows with score = (i*53)%100 (range [0, 99]) 2. ALTER TABLE ADD CONSTRAINT score_bound CHECK (score >= 0 AND score <= 100) 3. INSERT 30 more valid rows (id 51-80) 4. ALTER TABLE...",
      "status": "pass",
      "duration_ms": 33,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 33,
      "read_warm_ms": 14,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/463_evolve_rename_dml",
      "num": 463,
      "name": "evolve_rename_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/463_evolve_rename_dml.py",
      "read_script": "generator/df-reads-spark/463_evolve_rename_dml.sql",
      "description": "RENAME COLUMN then DML using the new column name. Tests column mapping after rename. 1. INSERT 100 rows with old_name column 2. ALTER TABLE RENAME COLUMN old_name TO display_name 3. UPDATE SET display_name = CONCAT('renamed_', CAST(id AS STRING)) WHERE id <= 50 4. DELETE WHERE...",
      "status": "pass",
      "duration_ms": 23,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 23,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "schema:rename-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/464_evolve_multi_add",
      "num": 464,
      "name": "evolve_multi_add",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/464_evolve_multi_add.py",
      "read_script": "generator/df-reads-spark/464_evolve_multi_add.sql",
      "description": "Multiple ALTER ADD COLUMN operations interleaved with INSERTs. Tests multi-step schema growth from 2 columns to 6 columns. 1. INSERT 50 rows (2 cols: id, name) 2. ALTER ADD COLUMN val1 INT 3. INSERT 30 rows (id 51-80) with val1 4. ALTER ADD COLUMN val2 DOUBLE 5. INSERT 20 rows...",
      "status": "pass",
      "duration_ms": 51,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 51,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/465_partition_five_regions",
      "num": 465,
      "name": "partition_five_regions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/465_partition_five_regions.py",
      "read_script": "generator/df-reads-spark/465_partition_five_regions.sql",
      "description": "5-region partition + DML across all partitions. 1. INSERT 250 rows across 5 partitions (NA, EU, AP, SA, AF -- 50 each) 2. UPDATE SET value = value * 2 WHERE region = 'NA' OR region = 'SA' 3. DELETE WHERE region = 'AF' AND id % 5 = 0",
      "status": "pass",
      "duration_ms": 27,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 27,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/466_dv_cdc_partition_evolve",
      "num": 466,
      "name": "dv_cdc_partition_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/466_dv_cdc_partition_evolve.py",
      "read_script": "generator/df-reads-spark/466_dv_cdc_partition_evolve.sql",
      "description": "138 rows (120 - 12 deleted + 30 new)",
      "status": "pass",
      "duration_ms": 70,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 70,
      "read_warm_ms": 23,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/467_merge_three_clause",
      "num": 467,
      "name": "merge_three_clause",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/467_merge_three_clause.py",
      "read_script": "generator/df-reads-spark/467_merge_three_clause.sql",
      "description": "MERGE with all 3 clause types: MATCHED UPDATE, MATCHED DELETE, NOT MATCHED INSERT. 1. INSERT 200 rows with score = (i*53)%100, status = 'active' 2. MERGE from 250-row CTE: WHEN MATCHED AND target.score < 10 THEN DELETE WHEN MATCHED THEN UPDATE SET status = 'verified', score =...",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/468_cdc_dv_merge_partition",
      "num": 468,
      "name": "cdc_dv_merge_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/468_cdc_dv_merge_partition.py",
      "read_script": "generator/df-reads-spark/468_cdc_dv_merge_partition.sql",
      "description": "Four-way: CDC + DV + MERGE + partition. 1. INSERT 200 rows across 4 partitions (W, X, Y, Z -- 50 each) 2. MERGE from 250-row CTE: WHEN MATCHED THEN UPDATE; WHEN NOT MATCHED THEN INSERT",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/469_constraint_not_null",
      "num": 469,
      "name": "constraint_not_null",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/469_constraint_not_null.py",
      "read_script": "generator/df-reads-spark/469_constraint_not_null.sql",
      "description": "NOT NULL constraint + DML. Tests NOT NULL enforcement during UPDATE. 1. INSERT 100 rows with all non-null values 2. UPDATE SET score = NULL WHERE id <= 20 (score is nullable, should work) 3. DELETE WHERE id % 4 = 0",
      "status": "pass",
      "duration_ms": 21,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 21,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/46_variant_parquet_shredding",
      "num": 46,
      "name": "variant_parquet_shredding",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/46_variant_parquet_shredding.py",
      "read_script": "generator/df-reads-spark/46_variant_parquet_shredding.sql",
      "description": "15000 rows (12000 initial + 3000 Books appended)",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 1003,
      "tags": [
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/470_many_small_inserts",
      "num": 470,
      "name": "many_small_inserts",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/470_many_small_inserts.py",
      "read_script": "generator/df-reads-spark/470_many_small_inserts.sql",
      "description": "150 rows (DELETE batch_num<=5)",
      "status": "pass",
      "duration_ms": 107,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 107,
      "read_warm_ms": 26,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/471_optimize_partition",
      "num": 471,
      "name": "optimize_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/471_optimize_partition.py",
      "read_script": "generator/df-reads-spark/471_optimize_partition.sql",
      "description": "125 rows (150 initial - 25 where id%6=0)",
      "status": "pass",
      "duration_ms": 24,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 24,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/472_cdc_delete_update_merge",
      "num": 472,
      "name": "cdc_delete_update_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/472_cdc_delete_update_merge.py",
      "read_script": "generator/df-reads-spark/472_cdc_delete_update_merge.sql",
      "description": "230 rows (200 initial - 20 where id%10=0 + 50 inserted ids 201-250)",
      "status": "pass",
      "duration_ms": 39,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 39,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/473_colmap_rename_merge",
      "num": 473,
      "name": "colmap_rename_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/473_colmap_rename_merge.py",
      "read_script": "generator/df-reads-spark/473_colmap_rename_merge.sql",
      "description": "120 rows (100 initial + 20 inserted from ids 101-120)",
      "status": "pass",
      "duration_ms": 23,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 23,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:rename-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/474_partition_evolve_merge",
      "num": 474,
      "name": "partition_evolve_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/474_partition_evolve_merge.py",
      "read_script": "generator/df-reads-spark/474_partition_evolve_merge.sql",
      "description": "150 rows (120 initial + 30 inserted from ids 121-150)",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/475_dv_cdc_delete_reinsert",
      "num": 475,
      "name": "dv_cdc_delete_reinsert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/475_dv_cdc_delete_reinsert.py",
      "read_script": "generator/df-reads-spark/475_dv_cdc_delete_reinsert.sql",
      "description": "100 rows (100 initial, DELETE id<=20, reinsert ids 1-20 with version_tag=2)",
      "status": "pass",
      "duration_ms": 23,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 23,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/476_constraint_evolve_merge",
      "num": 476,
      "name": "constraint_evolve_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/476_constraint_evolve_merge.py",
      "read_script": "generator/df-reads-spark/476_constraint_evolve_merge.sql",
      "description": "100 rows (80 initial + 20 inserted from ids 81-100)",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/477_partition_constraint_merge",
      "num": 477,
      "name": "partition_constraint_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/477_partition_constraint_merge.py",
      "read_script": "generator/df-reads-spark/477_partition_constraint_merge.sql",
      "description": "150 rows (120 initial + 30 inserted from ids 121-150)",
      "status": "pass",
      "duration_ms": 22,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 22,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/478_colmap_cdc_evolve",
      "num": 478,
      "name": "colmap_cdc_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/478_colmap_cdc_evolve.py",
      "read_script": "generator/df-reads-spark/478_colmap_cdc_evolve.sql",
      "description": "150 rows (100 initial + 50 inserted ids 101-150)",
      "status": "pass",
      "duration_ms": 33,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 33,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/479_delete_between_range",
      "num": 479,
      "name": "delete_between_range",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/479_delete_between_range.py",
      "read_script": "generator/df-reads-spark/479_delete_between_range.sql",
      "description": "399 rows (500 initial - 101 where id BETWEEN 100 AND 200)",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/47_variant_combined_with_features",
      "num": 47,
      "name": "variant_combined_with_features",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/47_variant_combined_with_features.py",
      "read_script": "generator/df-reads-spark/47_variant_combined_with_features.sql",
      "description": "24900 rows (20000 initial - 100 deleted + 5000 appended)",
      "status": "pass",
      "duration_ms": 35,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 35,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 4544,
      "tags": [
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/480_update_string_ops",
      "num": 480,
      "name": "update_string_ops",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/480_update_string_ops.py",
      "read_script": "generator/df-reads-spark/480_update_string_ops.sql",
      "description": "UPDATE with string operations (CONCAT). Tests string manipulation in SET clauses. 1. INSERT 100 rows with first_name, last_name, empty full_name and email 2. UPDATE SET full_name = CONCAT(first_name, '_', last_name) 3. UPDATE SET email = CONCAT(first_name, '.', last_name...",
      "status": "pass",
      "duration_ms": 29,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 29,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/481_merge_selective_update",
      "num": 481,
      "name": "merge_selective_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/481_merge_selective_update.py",
      "read_script": "generator/df-reads-spark/481_merge_selective_update.sql",
      "description": "200 rows (no inserts/deletes, only tier updates)",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/482_dv_multi_delete",
      "num": 482,
      "name": "dv_multi_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/482_dv_multi_delete.py",
      "read_script": "generator/df-reads-spark/482_dv_multi_delete.sql",
      "description": "143 rows (500 - id%2=0, then id%3=0, then id%7=0 from remaining)",
      "status": "pass",
      "duration_ms": 25,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 25,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/483_update_arithmetic",
      "num": 483,
      "name": "update_arithmetic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/483_update_arithmetic.py",
      "read_script": "generator/df-reads-spark/483_update_arithmetic.sql",
      "description": "UPDATE with arithmetic expressions. Tests complex SET expressions computing multiple derived columns in a single UPDATE. 1. INSERT 100 rows with a, b populated, computed columns zeroed 2. UPDATE SET sum_ab=a+b, product_ab=a*b, ratio=ROUND(a/b, 4)",
      "status": "pass",
      "duration_ms": 31,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 31,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/484_partition_null_update",
      "num": 484,
      "name": "partition_null_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/484_partition_null_update.py",
      "read_script": "generator/df-reads-spark/484_partition_null_update.sql",
      "description": "114 rows (120 initial - 6 AP rows where id%5=0)",
      "status": "pass",
      "duration_ms": 40,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 40,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/485_cdc_dv_update_chain",
      "num": 485,
      "name": "cdc_dv_update_chain",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/485_cdc_dv_update_chain.py",
      "read_script": "generator/df-reads-spark/485_cdc_dv_update_chain.sql",
      "description": "100 rows (ids 1-10: counter=3/v3, ids 11-25: counter=2/v2, ids 26-50: counter=1/v1, ids 51-100: counter=0/v0)",
      "status": "pass",
      "duration_ms": 23,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 23,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/486_colmap_dv_optimize",
      "num": 486,
      "name": "colmap_dv_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/486_colmap_dv_optimize.py",
      "read_script": "generator/df-reads-spark/486_colmap_dv_optimize.sql",
      "description": "290 rows (300 - 60 where id%5=0 + 50 inserted ids 301-350)",
      "status": "pass",
      "duration_ms": 38,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 38,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/487_evolve_constraint_delete",
      "num": 487,
      "name": "evolve_constraint_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/487_evolve_constraint_delete.py",
      "read_script": "generator/df-reads-spark/487_evolve_constraint_delete.sql",
      "description": "97 rows (100 initial - 3 where priority=0 AND value<10.0)",
      "status": "pass",
      "duration_ms": 25,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 25,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/488_merge_partition_evolve",
      "num": 488,
      "name": "merge_partition_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/488_merge_partition_evolve.py",
      "read_script": "generator/df-reads-spark/488_merge_partition_evolve.sql",
      "description": "150 rows (120 initial updated with flag=true + 30 inserted ids 121-150 with flag=false)",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/489_dv_cdc_colmap",
      "num": 489,
      "name": "dv_cdc_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/489_dv_cdc_colmap.py",
      "read_script": "generator/df-reads-spark/489_dv_cdc_colmap.sql",
      "description": "175 rows (200 initial - 25 where id%8=0)",
      "status": "pass",
      "duration_ms": 36,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 36,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/48_writer_atomic_log_entry_creation",
      "num": 48,
      "name": "writer_atomic_log_entry_creation",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/48_writer_atomic_log_entry_creation.py",
      "read_script": "generator/df-reads-spark/48_writer_atomic_log_entry_creation.sql",
      "description": "55000 rows (5 pipeline batches)",
      "status": "pass",
      "duration_ms": 25,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 25,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 3194,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/490_optimize_constraint",
      "num": 490,
      "name": "optimize_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/490_optimize_constraint.py",
      "read_script": "generator/df-reads-spark/490_optimize_constraint.sql",
      "description": "197 rows (200 - 33 where id%6=0 + 30 inserted ids 201-230)",
      "status": "pass",
      "duration_ms": 25,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 25,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/491_merge_cdc_constraint",
      "num": 491,
      "name": "merge_cdc_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/491_merge_cdc_constraint.py",
      "read_script": "generator/df-reads-spark/491_merge_cdc_constraint.sql",
      "description": "100 rows (80 initial + 20 inserted ids 81-100)",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/492_five_way_combo",
      "num": 492,
      "name": "five_way_combo",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/492_five_way_combo.py",
      "read_script": "generator/df-reads-spark/492_five_way_combo.sql",
      "description": "165 rows (150 - 15 where id%10=0 + 30 inserted ids 151-180)",
      "status": "pass",
      "duration_ms": 48,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 48,
      "read_warm_ms": 21,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/493_dv_cdc_optimize_dml",
      "num": 493,
      "name": "dv_cdc_optimize_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/493_dv_cdc_optimize_dml.py",
      "read_script": "generator/df-reads-spark/493_dv_cdc_optimize_dml.sql",
      "description": "210 rows (200 - 40 where id%5=0 + 50 inserted ids 201-250)",
      "status": "pass",
      "duration_ms": 30,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 30,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/494_colmap_constraint_evolve",
      "num": 494,
      "name": "colmap_constraint_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/494_colmap_constraint_evolve.py",
      "read_script": "generator/df-reads-spark/494_colmap_constraint_evolve.sql",
      "description": "95 rows (100 initial - 5 where score<5)",
      "status": "pass",
      "duration_ms": 34,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 34,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/495_partition_optimize_merge",
      "num": 495,
      "name": "partition_optimize_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/495_partition_optimize_merge.py",
      "read_script": "generator/df-reads-spark/495_partition_optimize_merge.sql",
      "description": "180 rows (150 initial updated amounts + 30 inserted ids 151-180)",
      "status": "pass",
      "duration_ms": 35,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 35,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/496_evolve_dv_cdc_merge",
      "num": 496,
      "name": "evolve_dv_cdc_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/496_evolve_dv_cdc_merge.py",
      "read_script": "generator/df-reads-spark/496_evolve_dv_cdc_merge.sql",
      "description": "108 rows (120 after MERGE - 12 where id%10=0)",
      "status": "pass",
      "duration_ms": 26,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 26,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/497_large_insert_delete",
      "num": 497,
      "name": "large_insert_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/497_large_insert_delete.py",
      "read_script": "generator/df-reads-spark/497_large_insert_delete.sql",
      "description": "3334 rows (5000 - 1666 where id%3=0)",
      "status": "pass",
      "duration_ms": 58,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 58,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/498_merge_delete_insert_combo",
      "num": 498,
      "name": "merge_delete_insert_combo",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/498_merge_delete_insert_combo.py",
      "read_script": "generator/df-reads-spark/498_merge_delete_insert_combo.sql",
      "description": "220 rows (200 - 10 deleted by MERGE + 30 inserted ids 201-230)",
      "status": "pass",
      "duration_ms": 42,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 42,
      "read_warm_ms": 20,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/499_colmap_partition_merge_evolve",
      "num": 499,
      "name": "colmap_partition_merge_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/499_colmap_partition_merge_evolve.py",
      "read_script": "generator/df-reads-spark/499_colmap_partition_merge_evolve.sql",
      "description": "150 rows (120 initial updated + 30 inserted ids 121-150)",
      "status": "pass",
      "duration_ms": 25,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:24:19.000181+00:00",
      "read_cold_ms": 25,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/49_writer_metadata_data_file_consistency",
      "num": 49,
      "name": "writer_metadata_data_file_consistency",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/49_writer_metadata_data_file_consistency.py",
      "read_script": "generator/df-reads-spark/49_writer_metadata_data_file_consistency.sql",
      "description": "50000 rows (3 phases totalling 50000)",
      "status": "pass",
      "duration_ms": 42,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 42,
      "read_warm_ms": 21,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 2970,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/500_comprehensive_all_features",
      "num": 500,
      "name": "comprehensive_all_features",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/500_comprehensive_all_features.py",
      "read_script": "generator/df-reads-spark/500_comprehensive_all_features.sql",
      "description": "Steps: 1. INSERT 200 rows (4 regions: US/EU/AP/SA, 50 each) 2. ADD CONSTRAINT score_ok CHECK (score >= 0 AND score <= 100) 3. DELETE WHERE id % 10 = 0 (20 rows removed via DVs) 4. OPTIMIZE 5. ADD COLUMN extra STRING 6. MERGE from 220-row CTE: MATCHED -> extra='merged'; NOT...",
      "status": "pass",
      "duration_ms": 267,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 267,
      "read_warm_ms": 47,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/501_update_delete_same_rows",
      "num": 501,
      "name": "update_delete_same_rows",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/501_update_delete_same_rows.py",
      "read_script": "generator/df-reads-spark/501_update_delete_same_rows.sql",
      "description": "UPDATE then DELETE targeting overlapping rows. DV stacking on same row set.",
      "status": "pass",
      "duration_ms": 30,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 30,
      "read_warm_ms": 14,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/502_delete_where_false",
      "num": 502,
      "name": "delete_where_false",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/502_delete_where_false.py",
      "read_script": "generator/df-reads-spark/502_delete_where_false.sql",
      "description": "DELETE WHERE false (no-op). Verifies engine handles zero-match DELETE.",
      "status": "pass",
      "duration_ms": 32,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 32,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/503_update_noop",
      "num": 503,
      "name": "update_noop",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/503_update_noop.py",
      "read_script": "generator/df-reads-spark/503_update_noop.sql",
      "description": "UPDATE that matches zero rows. Tests no-op UPDATE behavior. Steps: 1. INSERT 100 rows: score=(i*53)%100, tag='original' 2. UPDATE SET tag='changed' WHERE score > 200 (no-op, max score is 99)",
      "status": "pass",
      "duration_ms": 30,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 30,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/504_merge_zero_matches",
      "num": 504,
      "name": "merge_zero_matches",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/504_merge_zero_matches.py",
      "read_script": "generator/df-reads-spark/504_merge_zero_matches.sql",
      "description": "MERGE where source and target have zero key overlap. All source rows go through NOT MATCHED path.",
      "status": "pass",
      "duration_ms": 29,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 29,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/505_merge_full_match",
      "num": 505,
      "name": "merge_full_match",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/505_merge_full_match.py",
      "read_script": "generator/df-reads-spark/505_merge_full_match.sql",
      "description": "MERGE where every source row matches a target row. Zero NOT MATCHED rows.",
      "status": "pass",
      "duration_ms": 36,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 36,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/506_cdc_optimize_partition",
      "num": 506,
      "name": "cdc_optimize_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/506_cdc_optimize_partition.py",
      "read_script": "generator/df-reads-spark/506_cdc_optimize_partition.sql",
      "description": "CDC + OPTIMIZE + partition combo. Steps: 1. INSERT 60 rows (ids 1-60, 3 regions: US/EU/AP by i%3) 2. INSERT 60 rows (ids 61-120) 3. INSERT 60 rows (ids 121-180) 4. UPDATE SET amount=ROUND(amount*1.5,1) WHERE region='US' 5. OPTIMIZE 6. INSERT 30 rows (ids 181-210)",
      "status": "pass",
      "duration_ms": 57,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 57,
      "read_warm_ms": 43,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/507_constraint_partition_evolve",
      "num": 507,
      "name": "constraint_partition_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/507_constraint_partition_evolve.py",
      "read_script": "generator/df-reads-spark/507_constraint_partition_evolve.sql",
      "description": "Constraint + partition + schema evolution. Steps: 1. INSERT 120 rows (3 regions: US/EU/AP by i%3): score=(i*53)%100 2. ADD CONSTRAINT score_ok CHECK (score >= 0 AND score <= 100) 3. ADD COLUMN tag STRING 4. UPDATE SET tag='tagged' WHERE score > 60",
      "status": "pass",
      "duration_ms": 37,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 37,
      "read_warm_ms": 20,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/508_colmap_cdc_merge_dml",
      "num": 508,
      "name": "colmap_cdc_merge_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/508_colmap_cdc_merge_dml.py",
      "read_script": "generator/df-reads-spark/508_colmap_cdc_merge_dml.sql",
      "description": "Column mapping + CDC + MERGE + subsequent DELETE. Steps: 1. INSERT 100 rows: price=ROUND((i*61)%500/10.0,1), status='new' 2. MERGE from 120-row CTE: MATCHED -> UPDATE price=source.price, status='merged'; NOT MATCHED (id 101-120) -> INSERT status='inserted",
      "status": "pass",
      "duration_ms": 30,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 30,
      "read_warm_ms": 18,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/509_dv_partition_optimize_merge",
      "num": 509,
      "name": "dv_partition_optimize_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/509_dv_partition_optimize_merge.py",
      "read_script": "generator/df-reads-spark/509_dv_partition_optimize_merge.sql",
      "description": "DV + partition + OPTIMIZE + MERGE. Steps: 1. INSERT 150 rows in 3 batches (50 each): value=ROUND((i*41)%400/10.0,1) 2. DELETE WHERE id%5=0 (30 rows removed via DVs) 3. OPTIMIZE 4. MERGE from 160-row CTE (id 1-160): MATCHED -> UPDATE value (new formula i*67);",
      "status": "pass",
      "duration_ms": 47,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 47,
      "read_warm_ms": 25,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/50_writer_checkpoint_metadata_cleanup",
      "num": 50,
      "name": "writer_checkpoint_metadata_cleanup",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/50_writer_checkpoint_metadata_cleanup.py",
      "read_script": "generator/df-reads-spark/50_writer_checkpoint_metadata_cleanup.sql",
      "description": "Demonstrates checkpoint creation and old log file cleanup. amount DECIMAL(18,2), balance_after DECIMAL(18,2), merchant_name STRING, merchant_category STRING, timestamp TIMESTAMP, status STRING, channel STRING",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 502,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/510_cdc_colmap_constraint_evolve",
      "num": 510,
      "name": "cdc_colmap_constraint_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/510_cdc_colmap_constraint_evolve.py",
      "read_script": "generator/df-reads-spark/510_cdc_colmap_constraint_evolve.sql",
      "description": "CDC + column mapping + constraint + schema evolution. Steps: 1. INSERT 100 rows: score=(i*53)%100 2. ADD CONSTRAINT score_ok CHECK (score >= 0 AND score <= 100) 3. ADD COLUMN extra STRING 4. UPDATE SET extra='filled' WHERE score > 50 5. DELETE WHERE score < 5 (removes 5 rows...",
      "status": "pass",
      "duration_ms": 30,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 30,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/511_large_merge_update",
      "num": 511,
      "name": "large_merge_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/511_large_merge_update.py",
      "read_script": "generator/df-reads-spark/511_large_merge_update.sql",
      "description": "Large-scale MERGE with UPDATE only (2000 rows, full overlap).",
      "status": "pass",
      "duration_ms": 32,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 32,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/512_large_delete",
      "num": 512,
      "name": "large_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/512_large_delete.py",
      "read_script": "generator/df-reads-spark/512_large_delete.sql",
      "description": "Large-scale DELETE (10000 rows, 90% deleted). Mass deletion vector creation.",
      "status": "pass",
      "duration_ms": 24,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 24,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/513_twenty_version_stress",
      "num": 513,
      "name": "twenty_version_stress",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/513_twenty_version_stress.py",
      "read_script": "generator/df-reads-spark/513_twenty_version_stress.sql",
      "description": "20+ versions of mixed DML: INSERT, UPDATE, DELETE. Steps:",
      "status": "pass",
      "duration_ms": 37,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 37,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/514_date_column_dml",
      "num": 514,
      "name": "date_column_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/514_date_column_dml.py",
      "read_script": "generator/df-reads-spark/514_date_column_dml.sql",
      "description": "DATE columns with DML using date predicates. Steps: 1. INSERT 100 rows: event_date = days_since_epoch(19723 + i) 2. UPDATE SET status='old' WHERE event_date < 2024-02-20 (i < 50 -> ids 1-49) 3. DELETE WHERE event_date > 2024-03-31 (i > 90 -> ids 91-100)",
      "status": "pass",
      "duration_ms": 37,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 37,
      "read_warm_ms": 18,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/515_multiple_type_columns",
      "num": 515,
      "name": "multiple_type_columns",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/515_multiple_type_columns.py",
      "read_script": "generator/df-reads-spark/515_multiple_type_columns.sql",
      "description": "Many column types in one table with DML operations. bool_col BOOLEAN, dec_col DECIMAL(10,4), ts_col TIMESTAMP",
      "status": "pass",
      "duration_ms": 31,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 31,
      "read_warm_ms": 20,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/516_partition_three_col",
      "num": 516,
      "name": "partition_three_col",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/516_partition_three_col.py",
      "read_script": "generator/df-reads-spark/516_partition_three_col.sql",
      "description": "Three-column partitioning (year, month, region) with DML operations.",
      "status": "pass",
      "duration_ms": 61,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 61,
      "read_warm_ms": 22,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/517_cdc_dv_delete_reinsert_merge",
      "num": 517,
      "name": "cdc_dv_delete_reinsert_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/517_cdc_dv_delete_reinsert_merge.py",
      "read_script": "generator/df-reads-spark/517_cdc_dv_delete_reinsert_merge.sql",
      "description": "CDC + DV + delete-reinsert + MERGE. Complex lifecycle. Steps: 1. INSERT 100 rows (gen=1) 2. DELETE WHERE id <= 20 3. INSERT 20 rows (id 1-20, gen=2) 4. MERGE from 110-row CTE: WHEN MATCHED UPDATE gen=3, WHEN NOT MATCHED INSERT gen=3",
      "status": "pass",
      "duration_ms": 31,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 31,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/518_evolve_three_adds",
      "num": 518,
      "name": "evolve_three_adds",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/518_evolve_three_adds.py",
      "read_script": "generator/df-reads-spark/518_evolve_three_adds.sql",
      "description": "Three sequential ALTER TABLE ADD COLUMN operations with DML after each.",
      "status": "pass",
      "duration_ms": 33,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 33,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/519_colmap_partition_evolve_merge",
      "num": 519,
      "name": "colmap_partition_evolve_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/519_colmap_partition_evolve_merge.py",
      "read_script": "generator/df-reads-spark/519_colmap_partition_evolve_merge.sql",
      "description": "Column mapping + partitioning + schema evolution + MERGE. Steps: 1. INSERT 120 rows across 3 regions 2. ADD COLUMN priority INT 3. MERGE from 150-row CTE: MATCHED UPDATE priority, NOT MATCHED INSERT 4. DELETE WHERE region='EU' AND priority=0",
      "status": "pass",
      "duration_ms": 46,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 46,
      "read_warm_ms": 23,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/51_writer_version_requirements_matrix",
      "num": 51,
      "name": "writer_version_requirements_matrix",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/51_writer_version_requirements_matrix.py",
      "read_script": "generator/df-reads-spark/51_writer_version_requirements_matrix.sql",
      "description": "Insurance company policy tracking with CDC, column mapping, and deletion vectors. policy_type STRING, coverage_amount DECIMAL(18,2), premium_amount DECIMAL(10,2), deductible DECIMAL(10,2), effective_date DATE, expiration_date DATE, status STRING, agent_id STRING, region STRING...",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 524,
      "tags": [
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/520_optimize_cdc_constraint",
      "num": 520,
      "name": "optimize_cdc_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/520_optimize_cdc_constraint.py",
      "read_script": "generator/df-reads-spark/520_optimize_cdc_constraint.sql",
      "description": "OPTIMIZE + CDC + constraint. Three-way feature interaction. Steps: 1. INSERT 200 rows in 4 batches of 50 (tag=batch_1..4) 2. ADD CONSTRAINT val_pos CHECK (value > 0) 3. DELETE WHERE id % 8 = 0 (removes 25 rows) 4. OPTIMIZE 5. INSERT 30 rows (id 201-230, tag='batch_5')",
      "status": "pass",
      "duration_ms": 23,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 23,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/521_merge_chain",
      "num": 521,
      "name": "merge_chain",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/521_merge_chain.py",
      "read_script": "generator/df-reads-spark/521_merge_chain.sql",
      "description": "Two sequential MERGEs on the same table. Steps: 1. INSERT 100 rows: score=(i*53)%100, round=0 2. MERGE from 120-row CTE: MATCHED update score+100 round=1, NOT MATCHED INSERT round=1 3. MERGE from 130-row CTE: MATCHED update score+100 round=2, NOT MATCHED INSERT round=2",
      "status": "pass",
      "duration_ms": 35,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 35,
      "read_warm_ms": 20,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/522_update_chain_different_cols",
      "num": 522,
      "name": "update_chain_different_cols",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/522_update_chain_different_cols.py",
      "read_script": "generator/df-reads-spark/522_update_chain_different_cols.sql",
      "description": "Three UPDATEs each modifying different columns on overlapping row ranges.",
      "status": "pass",
      "duration_ms": 34,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 34,
      "read_warm_ms": 18,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/523_delete_then_merge",
      "num": 523,
      "name": "delete_then_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/523_delete_then_merge.py",
      "read_script": "generator/df-reads-spark/523_delete_then_merge.sql",
      "description": "DELETE followed by MERGE. Deleted rows re-inserted by MERGE's NOT MATCHED branch.",
      "status": "pass",
      "duration_ms": 34,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 34,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/524_merge_then_delete",
      "num": 524,
      "name": "merge_then_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/524_merge_then_delete.py",
      "read_script": "generator/df-reads-spark/524_merge_then_delete.sql",
      "description": "MERGE followed by DELETE. DELETE operates on data just modified by MERGE.",
      "status": "pass",
      "duration_ms": 27,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 27,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/525_partition_delete_all_one",
      "num": 525,
      "name": "partition_delete_all_one",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/525_partition_delete_all_one.py",
      "read_script": "generator/df-reads-spark/525_partition_delete_all_one.sql",
      "description": "DELETE all rows from a single partition, then UPDATE a different partition.",
      "status": "pass",
      "duration_ms": 26,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 26,
      "read_warm_ms": 10,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/526_cdc_dv_colmap_partition",
      "num": 526,
      "name": "cdc_dv_colmap_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/526_cdc_dv_colmap_partition.py",
      "read_script": "generator/df-reads-spark/526_cdc_dv_colmap_partition.sql",
      "description": "Steps: 1. INSERT 120 rows: i 1-40 -> US, i 41-80 -> EU, i 81-120 -> AP 2. UPDATE SET amount=amount+100 WHERE region='US' 3. DELETE WHERE region='EU' AND id%5=0 (removes 8 rows)",
      "status": "pass",
      "duration_ms": 25,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 25,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/527_constraint_merge_update",
      "num": 527,
      "name": "constraint_merge_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/527_constraint_merge_update.py",
      "read_script": "generator/df-reads-spark/527_constraint_merge_update.sql",
      "description": "CHECK constraint + MERGE + subsequent UPDATE. Steps: 1. INSERT 100 rows: value=ROUND((1+(i*47)%500)/10.0,1), status='active' 2. ADD CONSTRAINT val_pos CHECK (value > 0) 3. MERGE from 120-row CTE: MATCHED update value=source.value, NOT MATCHED INSERT",
      "status": "pass",
      "duration_ms": 27,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 27,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/528_evolve_partition_cdc",
      "num": 528,
      "name": "evolve_partition_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/528_evolve_partition_cdc.py",
      "read_script": "generator/df-reads-spark/528_evolve_partition_cdc.sql",
      "description": "Schema evolution (ADD COLUMN) + Partitioning + CDC. Steps: 1. INSERT 120 rows across 3 regions (US, EU, AP), 40 each 2. ADD COLUMN priority INT 3. INSERT 30 rows (id 121-150) with priority=(i%3)+1 4. UPDATE SET priority=1 WHERE region='US' AND priority IS NULL",
      "status": "pass",
      "duration_ms": 27,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 27,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/529_dv_cdc_optimize_merge",
      "num": 529,
      "name": "dv_cdc_optimize_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/529_dv_cdc_optimize_merge.py",
      "read_script": "generator/df-reads-spark/529_dv_cdc_optimize_merge.sql",
      "description": "DV + CDC + OPTIMIZE + MERGE. Tests MERGE after OPTIMIZE materializes DVs.",
      "status": "pass",
      "duration_ms": 28,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 28,
      "read_warm_ms": 10,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/52_writer_append_only_enforcement",
      "num": 52,
      "name": "writer_append_only_enforcement",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/52_writer_append_only_enforcement.py",
      "read_script": "generator/df-reads-spark/52_writer_append_only_enforcement.sql",
      "description": "Append-only gaming achievements log. No DELETE/UPDATE/MERGE allowed. achievement_name STRING, achievement_type STRING, achievement_tier STRING, points_earned INT, earned_timestamp TIMESTAMP, game_session_id STRING, game_version STRING, platform STRING, is_rare BOOLEAN,",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 519,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/530_colmap_constraint_merge",
      "num": 530,
      "name": "colmap_constraint_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/530_colmap_constraint_merge.py",
      "read_script": "generator/df-reads-spark/530_colmap_constraint_merge.sql",
      "description": "Column Mapping + CHECK constraint + MERGE. Steps: 1. INSERT 80 rows: score=(i*53)%100, label='original' 2. ADD CONSTRAINT score_ok CHECK (score >= 0 AND score <= 100) 3. MERGE from 100-row CTE: MATCHED update score+label='merged', NOT MATCHED INSERT label='merged",
      "status": "pass",
      "duration_ms": 33,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 33,
      "read_warm_ms": 18,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/531_update_set_from_id",
      "num": 531,
      "name": "update_set_from_id",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/531_update_set_from_id.py",
      "read_script": "generator/df-reads-spark/531_update_set_from_id.sql",
      "description": "UPDATE SET column values derived from id using mathematical expressions.",
      "status": "pass",
      "duration_ms": 26,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 26,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/532_delete_modular",
      "num": 532,
      "name": "delete_modular",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/532_delete_modular.py",
      "read_script": "generator/df-reads-spark/532_delete_modular.sql",
      "description": "DELETE with multiple modular predicates in sequence. Steps: 1. INSERT 1000 rows 2. DELETE WHERE id%2=0 (removes 500) 3. DELETE WHERE id%3=0 (removes ~167 odd ids divisible by 3) 4. DELETE WHERE id%5=0 (removes ~67 remaining divisible by 5)",
      "status": "pass",
      "duration_ms": 25,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 25,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/533_partition_insert_new",
      "num": 533,
      "name": "partition_insert_new",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/533_partition_insert_new.py",
      "read_script": "generator/df-reads-spark/533_partition_insert_new.sql",
      "description": "INSERT rows into a new partition value that did not exist at CREATE time.",
      "status": "pass",
      "duration_ms": 31,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 31,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/534_cdc_schema_evolve_merge",
      "num": 534,
      "name": "cdc_schema_evolve_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/534_cdc_schema_evolve_merge.py",
      "read_script": "generator/df-reads-spark/534_cdc_schema_evolve_merge.sql",
      "description": "CDC + schema evolution (ADD COLUMN) + MERGE. Steps: 1. INSERT 100 rows (no tag column yet) 2. ADD COLUMN tag STRING 3. MERGE from 120-row CTE: MATCHED update tag='merged', NOT MATCHED INSERT tag='new",
      "status": "pass",
      "duration_ms": 26,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 26,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/535_optimize_delete_optimize",
      "num": 535,
      "name": "optimize_delete_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/535_optimize_delete_optimize.py",
      "read_script": "generator/df-reads-spark/535_optimize_delete_optimize.sql",
      "description": "OPTIMIZE then DELETE then OPTIMIZE again. Steps: 1. INSERT 500 rows in 5 batches of 100 2. OPTIMIZE (first compaction) 3. DELETE WHERE id%3=0 (~166 removed via DVs) 4. OPTIMIZE (second compaction, materializes DVs)",
      "status": "pass",
      "duration_ms": 28,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 28,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/536_merge_update_specific_cols",
      "num": 536,
      "name": "merge_update_specific_cols",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/536_merge_update_specific_cols.py",
      "read_script": "generator/df-reads-spark/536_merge_update_specific_cols.sql",
      "description": "MERGE that only updates specific columns (not all). Steps: 1. INSERT 100 rows: score=(i*53)%100, category by i%4, status='active' 2. MERGE from 100-row CTE: MATCHED UPDATE SET score=source.score+500",
      "status": "pass",
      "duration_ms": 29,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 29,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/537_dv_cdc_partition_delete_update",
      "num": 537,
      "name": "dv_cdc_partition_delete_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/537_dv_cdc_partition_delete_update.py",
      "read_script": "generator/df-reads-spark/537_dv_cdc_partition_delete_update.sql",
      "description": "DV + CDC + partition + combined DML. Steps: 1. INSERT 150 rows (3 regions, 50 each) 2. DELETE WHERE region='US' AND id%5=0 (10 rows removed) 3. UPDATE SET status='processed', amount=amount*2 WHERE region='EU",
      "status": "pass",
      "duration_ms": 34,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 34,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/538_constraint_two_checks",
      "num": 538,
      "name": "constraint_two_checks",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/538_constraint_two_checks.py",
      "read_script": "generator/df-reads-spark/538_constraint_two_checks.sql",
      "description": "Two independent CHECK constraints followed by DML. Steps: 1. INSERT 100 rows: score=(i*53)%100, price=ROUND((1+(i*47)%500)/10.0,1) 2. ADD CONSTRAINT score_ok CHECK (score >= 0 AND score <= 100) 3. ADD CONSTRAINT price_pos CHECK (price > 0) 4. UPDATE SET score=score-5 WHERE...",
      "status": "pass",
      "duration_ms": 37,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 37,
      "read_warm_ms": 19,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/539_evolve_rename_add",
      "num": 539,
      "name": "evolve_rename_add",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/539_evolve_rename_add.py",
      "read_script": "generator/df-reads-spark/539_evolve_rename_add.sql",
      "description": "RENAME COLUMN then ADD COLUMN with DML. Steps: 1. INSERT 100 rows 2. RENAME COLUMN old_name TO display_name 3. ADD COLUMN priority INT; UPDATE SET priority=id%5 4. DELETE WHERE priority=0 AND id%10=0 (removes 10 rows)",
      "status": "pass",
      "duration_ms": 30,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 30,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "schema:rename-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/53_writer_column_invariants_not_null",
      "num": 53,
      "name": "writer_column_invariants_not_null",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/53_writer_column_invariants_not_null.py",
      "read_script": "generator/df-reads-spark/53_writer_column_invariants_not_null.sql",
      "description": "E-commerce product catalog with CHECK constraints. brand STRING, price DECIMAL(10,2), cost DECIMAL(10,2), stock_quantity INT, reorder_level INT, average_rating DECIMAL(3,2), review_count INT, weight_kg DECIMAL(8,3), is_active BOOLEAN, created_date DATE, last_updated DATE",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 512,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/540_insert_overwrite_then_merge",
      "num": 540,
      "name": "insert_overwrite_then_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/540_insert_overwrite_then_merge.py",
      "read_script": "generator/df-reads-spark/540_insert_overwrite_then_merge.sql",
      "description": "INSERT OVERWRITE then MERGE. Steps: 1. INSERT OVERWRITE 100 rows: tag='base' 2. MERGE from 120-row CTE: MATCHED update tag='merged', NOT MATCHED INSERT tag='new",
      "status": "pass",
      "duration_ms": 30,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 30,
      "read_warm_ms": 14,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/541_merge_delete_reinsert",
      "num": 541,
      "name": "merge_delete_reinsert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/541_merge_delete_reinsert.py",
      "read_script": "generator/df-reads-spark/541_merge_delete_reinsert.sql",
      "description": "MERGE that deletes rows then re-inserts them with different gen.",
      "status": "pass",
      "duration_ms": 33,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 33,
      "read_warm_ms": 15,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/542_cdc_partition_optimize_merge",
      "num": 542,
      "name": "cdc_partition_optimize_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/542_cdc_partition_optimize_merge.py",
      "read_script": "generator/df-reads-spark/542_cdc_partition_optimize_merge.sql",
      "description": "CDC + partition + OPTIMIZE + MERGE. Steps: 1. INSERT 60 rows (batch 1, 3 regions) 2. INSERT 60 rows (batch 2, 3 regions) 3. OPTIMIZE 4. MERGE from 150-row CTE: MATCHED update status='post', NOT MATCHED INSERT status='new",
      "status": "pass",
      "duration_ms": 59,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 59,
      "read_warm_ms": 25,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/543_colmap_optimize_evolve",
      "num": 543,
      "name": "colmap_optimize_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/543_colmap_optimize_evolve.py",
      "read_script": "generator/df-reads-spark/543_colmap_optimize_evolve.sql",
      "description": "Column mapping + OPTIMIZE + ADD COLUMN. Steps: 1. INSERT 200 rows in 4 batches of 50 2. OPTIMIZE 3. ADD COLUMN extra STRING 4. INSERT 50 rows (id 201-250) with extra=CONCAT('ext_',id) 5. UPDATE SET extra='backfill' WHERE id<=50",
      "status": "pass",
      "duration_ms": 34,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 34,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/544_constraint_cdc_partition",
      "num": 544,
      "name": "constraint_cdc_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/544_constraint_cdc_partition.py",
      "read_script": "generator/df-reads-spark/544_constraint_cdc_partition.sql",
      "description": "Constraint + CDC + partition. Steps: 1. INSERT 120 rows (3 regions, 40 each): score=(i*53)%100 2. ADD CONSTRAINT score_ok CHECK (score >= 0 AND score <= 100) 3. UPDATE SET score=score-10 WHERE region='US' AND score>=50 4. DELETE WHERE region='EU' AND score<10 (removes 3 rows)",
      "status": "pass",
      "duration_ms": 27,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 27,
      "read_warm_ms": 15,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/545_dv_constraint_evolve_merge",
      "num": 545,
      "name": "dv_constraint_evolve_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/545_dv_constraint_evolve_merge.py",
      "read_script": "generator/df-reads-spark/545_dv_constraint_evolve_merge.sql",
      "description": "DV + constraint + schema evolution + MERGE. Steps: 1. INSERT 100 rows: value=ROUND((1+(i*47)%500)/10.0,1) 2. ADD CONSTRAINT val_pos CHECK (value > 0) 3. ADD COLUMN tag STRING 4. MERGE from 120-row CTE: MATCHED update tag='merged', NOT MATCHED INSERT tag='tag_<id>",
      "status": "pass",
      "duration_ms": 29,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 29,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/546_partition_colmap_constraint",
      "num": 546,
      "name": "partition_colmap_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/546_partition_colmap_constraint.py",
      "read_script": "generator/df-reads-spark/546_partition_colmap_constraint.sql",
      "description": "Partition + column mapping + constraint. Steps: 1. INSERT 120 rows (3 regions, 40 each): amount=ROUND((1+(i*67)%500)/10.0,2) 2. ADD CONSTRAINT amt_pos CHECK (amount > 0) 3. UPDATE SET amount=amount+10 WHERE region='US' 4. DELETE WHERE region='AP' AND amount<5.0 (removes 4 rows)",
      "status": "pass",
      "duration_ms": 26,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 26,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/547_merge_partition_cdc_dml",
      "num": 547,
      "name": "merge_partition_cdc_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/547_merge_partition_cdc_dml.py",
      "read_script": "generator/df-reads-spark/547_merge_partition_cdc_dml.sql",
      "description": "MERGE + partition + CDC + additional DML. Steps: 1. INSERT 100 rows: score=(i*31)%100, status='new', region by i%3 2. MERGE from 120-row CTE: MATCHED update status='merged', NOT MATCHED INSERT status='inserted' 3. UPDATE SET score=score+100 WHERE region='US",
      "status": "pass",
      "duration_ms": 57,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 57,
      "read_warm_ms": 38,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/548_optimize_colmap_cdc",
      "num": 548,
      "name": "optimize_colmap_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/548_optimize_colmap_cdc.py",
      "read_script": "generator/df-reads-spark/548_optimize_colmap_cdc.sql",
      "description": "OPTIMIZE + column mapping + CDC. Steps: 1. INSERT 200 rows in 4 batches of 50 (tag='init') 2. UPDATE SET tag='updated' WHERE id<=50 3. OPTIMIZE 4. INSERT 30 rows (id 201-230, tag='init')",
      "status": "pass",
      "duration_ms": 31,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 31,
      "read_warm_ms": 18,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/549_evolve_optimize_delete",
      "num": 549,
      "name": "evolve_optimize_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/549_evolve_optimize_delete.py",
      "read_script": "generator/df-reads-spark/549_evolve_optimize_delete.sql",
      "description": "Schema evolution + OPTIMIZE + DELETE. Steps: 1. INSERT 200 rows in 4 batches of 50 2. ADD COLUMN priority INT; UPDATE SET priority=id%5 3. OPTIMIZE 4. DELETE WHERE priority=0 (removes 40 rows)",
      "status": "pass",
      "duration_ms": 29,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 29,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/54_writer_check_constraints_validation",
      "num": 54,
      "name": "writer_check_constraints_validation",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/54_writer_check_constraints_validation.py",
      "read_script": "generator/df-reads-spark/54_writer_check_constraints_validation.sql",
      "description": "Travel booking system with CHECK constraints. customer_name STRING, hotel_name STRING, destination_city STRING, destination_country STRING, check_in_date DATE, check_out_date DATE, num_guests INT, room_type STRING, room_capacity INT, total_amount DECIMAL(10,2), deposit_amount...",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 542,
      "tags": [
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/550_cdc_constraint_merge_partition",
      "num": 550,
      "name": "cdc_constraint_merge_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/550_cdc_constraint_merge_partition.py",
      "read_script": "generator/df-reads-spark/550_cdc_constraint_merge_partition.sql",
      "description": "CDC + constraint + MERGE + partition. Steps: 1. INSERT 120 rows (3 regions, 40 each): value=ROUND((1+(i*47)%500)/10.0,1) 2. ADD CONSTRAINT val_pos CHECK (value > 0) 3. MERGE from 150-row CTE (using i*53): MATCHED update value, NOT MATCHED INSERT",
      "status": "pass",
      "duration_ms": 37,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 37,
      "read_warm_ms": 22,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/551_delete_update_merge_chain",
      "num": 551,
      "name": "delete_update_merge_chain",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/551_delete_update_merge_chain.py",
      "read_script": "generator/df-reads-spark/551_delete_update_merge_chain.sql",
      "description": "DELETE then UPDATE then MERGE. Three sequential DML types. Steps: 1. INSERT 200 rows: status='active' 2. DELETE WHERE id%5=0 (40 rows removed) 3. UPDATE SET status='updated' WHERE id<=80 4. MERGE from 50-row CTE (ids 201-250): NOT MATCHED INSERT status='new",
      "status": "pass",
      "duration_ms": 35,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 35,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/552_merge_with_aggregated_source",
      "num": 552,
      "name": "merge_with_aggregated_source",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/552_merge_with_aggregated_source.py",
      "read_script": "generator/df-reads-spark/552_merge_with_aggregated_source.sql",
      "description": "MERGE where source has computed totals. Steps: 1. INSERT 100 rows: total=ROUND((i*47)%500/10.0,1), count=1 2. MERGE from 100-row CTE: MATCHED update total=target.total+source.total, count=2",
      "status": "pass",
      "duration_ms": 24,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 24,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/553_partition_five_insert_optimize",
      "num": 553,
      "name": "partition_five_insert_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/553_partition_five_insert_optimize.py",
      "read_script": "generator/df-reads-spark/553_partition_five_insert_optimize.sql",
      "description": "Five INSERT batches into a partitioned table then OPTIMIZE. Steps: 1. INSERT 5 batches of 30 rows each (ids 1-150, 3 regions) 2. OPTIMIZE 3. DELETE WHERE id%6=0 (25 rows removed)",
      "status": "pass",
      "duration_ms": 49,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 49,
      "read_warm_ms": 19,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/554_colmap_rename_drop",
      "num": 554,
      "name": "colmap_rename_drop",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/554_colmap_rename_drop.py",
      "read_script": "generator/df-reads-spark/554_colmap_rename_drop.sql",
      "description": "Column mapping with RENAME COLUMN and DROP COLUMN. (col_a renamed to display_name, col_c dropped)",
      "status": "pass",
      "duration_ms": 35,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 35,
      "read_warm_ms": 18,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:drop-column",
        "schema:rename-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/555_cdc_dv_all_dml",
      "num": 555,
      "name": "cdc_dv_all_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/555_cdc_dv_all_dml.py",
      "read_script": "generator/df-reads-spark/555_cdc_dv_all_dml.sql",
      "description": "Steps: 1. INSERT 100 rows (gen=1) 2. UPDATE SET gen=2 WHERE id<=30 3. DELETE WHERE id>90 (removes 10 rows) 4. MERGE from 50-row CTE (ids 91-140): NOT MATCHED INSERT gen=3",
      "status": "pass",
      "duration_ms": 25,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 25,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/556_constraint_not_null_dml",
      "num": 556,
      "name": "constraint_not_null_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/556_constraint_not_null_dml.py",
      "read_script": "generator/df-reads-spark/556_constraint_not_null_dml.sql",
      "description": "NOT NULL columns + CHECK constraints + DML. Steps: 1. INSERT 100 rows: score=(i*53)%100, value=ROUND((i*47)%500/10.0,1) 2. ADD CONSTRAINT score_range CHECK (score >= 0 AND score <= 100) 3. ADD CONSTRAINT val_pos CHECK (value >= 0) 4. UPDATE SET score=score-5 WHERE score>=50 AND...",
      "status": "pass",
      "duration_ms": 31,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 31,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/557_partition_evolve_constraint_cdc",
      "num": 557,
      "name": "partition_evolve_constraint_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/557_partition_evolve_constraint_cdc.py",
      "read_script": "generator/df-reads-spark/557_partition_evolve_constraint_cdc.sql",
      "description": "Partition + schema evolution + constraint + CDC. Steps: 1. INSERT 120 rows (3 regions): score=(i*53)%100 2. ADD CONSTRAINT score_ok CHECK (score >= 0) 3. ADD COLUMN priority INT; UPDATE SET priority=1 WHERE score>60 4. DELETE WHERE region='AP' AND score<15 (removes 6 rows)",
      "status": "pass",
      "duration_ms": 49,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 49,
      "read_warm_ms": 28,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/558_optimize_partition_merge_cdc",
      "num": 558,
      "name": "optimize_partition_merge_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/558_optimize_partition_merge_cdc.py",
      "read_script": "generator/df-reads-spark/558_optimize_partition_merge_cdc.sql",
      "description": "OPTIMIZE + partition + MERGE + CDC. Steps: 1. INSERT 3 batches of 50 rows (ids 1-150) 2. OPTIMIZE 3. MERGE from 180-row CTE: MATCHED update status='merged', NOT MATCHED INSERT status='new",
      "status": "pass",
      "duration_ms": 59,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 59,
      "read_warm_ms": 24,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/559_colmap_cdc_dv_evolve_partition",
      "num": 559,
      "name": "colmap_cdc_dv_evolve_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/559_colmap_cdc_dv_evolve_partition.py",
      "read_script": "generator/df-reads-spark/559_colmap_cdc_dv_evolve_partition.sql",
      "description": "Steps: 1. INSERT 120 rows (3 regions) 2. DELETE WHERE id%10=0 (12 rows removed) 3. ADD COLUMN tag STRING 4. INSERT 30 rows (ids 121-150) with tag='batch2' 5. UPDATE SET tag='filled' WHERE region='US' AND tag IS NULL",
      "status": "pass",
      "duration_ms": 60,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 60,
      "read_warm_ms": 37,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/55_writer_generated_columns_computed",
      "num": 55,
      "name": "writer_generated_columns_computed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/55_writer_generated_columns_computed.py",
      "read_script": "generator/df-reads-spark/55_writer_generated_columns_computed.sql",
      "description": "Retail invoices with computed columns. customer_name STRING, salesperson_id STRING, salesperson_name STRING, invoice_date DATE, subtotal DECIMAL(12,2), tax_rate DECIMAL(5,4), sales_tax DECIMAL(12,2), discount_percentage DECIMAL(5,2), discount_amount DECIMAL(12,2), total_amount...",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 521,
      "tags": [
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/560_all_features_stress",
      "num": 560,
      "name": "all_features_stress",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/560_all_features_stress.py",
      "read_script": "generator/df-reads-spark/560_all_features_stress.sql",
      "description": "Grand stress test with nearly every Delta feature. Steps: 1. INSERT 200 rows (4 regions, 50 each): score=(i*53)%100 2. ADD CONSTRAINT score_ok CHECK (score >= 0 AND score <= 100) 3. DELETE WHERE id%10=0 (20 removed, 180 remain) 4. OPTIMIZE 5. ADD COLUMN extra STRING",
      "status": "pass",
      "duration_ms": 81,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 81,
      "read_warm_ms": 37,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/561_update_multiple_where",
      "num": 561,
      "name": "update_multiple_where",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/561_update_multiple_where.py",
      "read_script": "generator/df-reads-spark/561_update_multiple_where.sql",
      "description": "UPDATE with complex compound WHERE (AND + OR). Steps: 1. INSERT 200 rows: score=(i*53)%100, category by i%4, active=(i%2=0) 2. UPDATE SET category='X' WHERE (score>80 AND active=true) OR (score<10 AND category='D')",
      "status": "pass",
      "duration_ms": 30,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 30,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/562_delete_in_list",
      "num": 562,
      "name": "delete_in_list",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/562_delete_in_list.py",
      "read_script": "generator/df-reads-spark/562_delete_in_list.sql",
      "description": "DELETE WHERE id IN list. Steps: 1. INSERT 100 rows 2. DELETE WHERE id IN (1, 5, 10, 25, 50, 75, 99, 100)",
      "status": "pass",
      "duration_ms": 32,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 32,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/563_merge_with_case_update",
      "num": 563,
      "name": "merge_with_case_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/563_merge_with_case_update.py",
      "read_script": "generator/df-reads-spark/563_merge_with_case_update.sql",
      "description": "MERGE with CASE expression in UPDATE SET. Steps: 1. INSERT 100 rows: score=(i*53)%100, grade='ungraded' 2. MERGE from 100-row CTE: MATCHED update grade based on score CASE expression",
      "status": "pass",
      "duration_ms": 38,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 38,
      "read_warm_ms": 20,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/564_partition_evolve_delete_all",
      "num": 564,
      "name": "partition_evolve_delete_all",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/564_partition_evolve_delete_all.py",
      "read_script": "generator/df-reads-spark/564_partition_evolve_delete_all.sql",
      "description": "Partition + schema evolution + DELETE all from one partition + re-INSERT.",
      "status": "pass",
      "duration_ms": 56,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 56,
      "read_warm_ms": 25,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/565_cdc_merge_delete_chain",
      "num": 565,
      "name": "cdc_merge_delete_chain",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/565_cdc_merge_delete_chain.py",
      "read_script": "generator/df-reads-spark/565_cdc_merge_delete_chain.sql",
      "description": "CDC + MERGE then DELETE. Steps: 1. INSERT 100 rows: status='new' 2. MERGE from 120-row CTE: MATCHED update status='merged', NOT MATCHED INSERT status='added' 3. DELETE WHERE status='added' AND id%5=0 (removes 4 rows: 105,110,115,120)",
      "status": "pass",
      "duration_ms": 36,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 36,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/566_constraint_evolve_cdc_dml",
      "num": 566,
      "name": "constraint_evolve_cdc_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/566_constraint_evolve_cdc_dml.py",
      "read_script": "generator/df-reads-spark/566_constraint_evolve_cdc_dml.sql",
      "description": "Constraint + schema evolution + CDC + DML. Steps: 1. INSERT 100 rows: score=(i*53)%100 2. ADD CONSTRAINT score_ok CHECK (score >= 0 AND score <= 100) 3. ADD COLUMN tag STRING; UPDATE SET tag='a' WHERE score>=50 4. DELETE WHERE score<5 (removes 5 rows)",
      "status": "pass",
      "duration_ms": 27,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 27,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/567_colmap_dv_delete_update",
      "num": 567,
      "name": "colmap_dv_delete_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/567_colmap_dv_delete_update.py",
      "read_script": "generator/df-reads-spark/567_colmap_dv_delete_update.sql",
      "description": "Column mapping + DV + DELETE + UPDATE. Steps: 1. INSERT 200 rows: tag='v1' 2. DELETE WHERE id%5=0 (40 removed) 3. UPDATE SET tag='v2' WHERE id<=100",
      "status": "pass",
      "duration_ms": 32,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 32,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/568_optimize_evolve_merge",
      "num": 568,
      "name": "optimize_evolve_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/568_optimize_evolve_merge.py",
      "read_script": "generator/df-reads-spark/568_optimize_evolve_merge.sql",
      "description": "OPTIMIZE + schema evolution + MERGE. Steps: 1. INSERT 200 rows in 4 batches of 50 2. OPTIMIZE 3. ADD COLUMN tag STRING 4. MERGE from 220-row CTE: MATCHED update tag='m', NOT MATCHED INSERT tag='n",
      "status": "pass",
      "duration_ms": 28,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 28,
      "read_warm_ms": 10,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/569_partition_cdc_colmap_merge",
      "num": 569,
      "name": "partition_cdc_colmap_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/569_partition_cdc_colmap_merge.py",
      "read_script": "generator/df-reads-spark/569_partition_cdc_colmap_merge.sql",
      "description": "Partition + CDC + column mapping + MERGE. Steps: 1. INSERT 120 rows (3 regions, 40 each): amount=ROUND(i*2.51,2) 2. MERGE from 150-row CTE: MATCHED update amount=ROUND(i*4.13,2), NOT MATCHED INSERT",
      "status": "pass",
      "duration_ms": 53,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 53,
      "read_warm_ms": 22,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/56_writer_default_columns_values",
      "num": 56,
      "name": "writer_default_columns_values",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/56_writer_default_columns_values.py",
      "read_script": "generator/df-reads-spark/56_writer_default_columns_values.sql",
      "description": "Support ticketing system with default column values. customer_name STRING, customer_email STRING, subject STRING, description STRING, category STRING, priority STRING, status STRING, assigned_agent STRING, created_date DATE, created_timestamp TIMESTAMP,",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 502,
      "tags": [
        "type:date",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/570_constraint_dv_optimize",
      "num": 570,
      "name": "constraint_dv_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/570_constraint_dv_optimize.py",
      "read_script": "generator/df-reads-spark/570_constraint_dv_optimize.sql",
      "description": "Constraint + DV + OPTIMIZE. Steps: 1. INSERT 200 rows: value=ROUND((1+(i*47)%500)/10.0,1), status='active' 2. ADD CONSTRAINT val_pos CHECK (value > 0) 3. DELETE WHERE id%4=0 (50 rows via DVs) 4. OPTIMIZE 5. INSERT 30 rows (ids 201-230)",
      "status": "pass",
      "duration_ms": 31,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 31,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/571_merge_partition_delete_insert",
      "num": 571,
      "name": "merge_partition_delete_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/571_merge_partition_delete_insert.py",
      "read_script": "generator/df-reads-spark/571_merge_partition_delete_insert.sql",
      "description": "MERGE with DELETE clause on partitioned table + subsequent INSERT.",
      "status": "pass",
      "duration_ms": 52,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 52,
      "read_warm_ms": 39,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/572_cdc_constraint_evolve_merge",
      "num": 572,
      "name": "cdc_constraint_evolve_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/572_cdc_constraint_evolve_merge.py",
      "read_script": "generator/df-reads-spark/572_cdc_constraint_evolve_merge.sql",
      "description": "CDC + constraint + schema evolution + MERGE. Steps: 1. INSERT 80 rows: value=ROUND((1+(i*47)%500)/10.0,1) 2. ADD CONSTRAINT val_pos CHECK (value > 0) 3. ADD COLUMN extra STRING 4. MERGE from 100-row CTE: MATCHED update extra='m', NOT MATCHED INSERT extra='n",
      "status": "pass",
      "duration_ms": 28,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 28,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/573_dv_partition_evolve_delete",
      "num": 573,
      "name": "dv_partition_evolve_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/573_dv_partition_evolve_delete.py",
      "read_script": "generator/df-reads-spark/573_dv_partition_evolve_delete.sql",
      "description": "DV + partition + schema evolution + DELETE. Tests that schema evolution on a partitioned DV table works correctly with DELETE and UPDATE on the new column.",
      "status": "pass",
      "duration_ms": 93,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 93,
      "read_warm_ms": 50,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/574_colmap_optimize_merge_dml",
      "num": 574,
      "name": "colmap_optimize_merge_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/574_colmap_optimize_merge_dml.py",
      "read_script": "generator/df-reads-spark/574_colmap_optimize_merge_dml.sql",
      "description": "198 rows (220 after MERGE - 22 deleted). Schema: id BIGINT, name STRING, value DOUBLE, status STRING. Steps: 1. INSERT 200 rows (4 batches of 50): id=i, name=rec_i, value=round(i*3.17,2), status=v1 2. OPTIMIZE 3. MERGE from 220-row source: ids 1-200 -> status=v2; ids 201-220 ->...",
      "status": "pass",
      "duration_ms": 32,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 32,
      "read_warm_ms": 14,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/575_cdc_dv_colmap_evolve",
      "num": 575,
      "name": "cdc_dv_colmap_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/575_cdc_dv_colmap_evolve.py",
      "read_script": "generator/df-reads-spark/575_cdc_dv_colmap_evolve.sql",
      "description": "118 rows. Schema: id BIGINT, name STRING, amount DOUBLE, tag STRING. Steps: 1. INSERT 100 rows: id=i, name=rec_i, amount=round(i*2.51,2) 2. DELETE WHERE id%8=0 (removes 12 rows: 8,16,...,96) 3. ADD COLUMN tag STRING 4. INSERT 30 rows (ids 101-130): tag=t{j} for j=1..30",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/576_partition_constraint_optimize",
      "num": 576,
      "name": "partition_constraint_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/576_partition_constraint_optimize.py",
      "read_script": "generator/df-reads-spark/576_partition_constraint_optimize.sql",
      "description": "163 rows. Schema: id BIGINT, name STRING, score INT, region STRING. Steps: 1. INSERT 150 rows (3 batches of 50): score=(i*53)%100, region=[US,EU,AP][i%3] 2. ADD CONSTRAINT score_ok CHECK (score>=0 AND score<=100) 3. DELETE WHERE score<5 (removes 7 rows: ids...",
      "status": "pass",
      "duration_ms": 40,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 40,
      "read_warm_ms": 19,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/577_merge_evolve_cdc_dml",
      "num": 577,
      "name": "merge_evolve_cdc_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/577_merge_evolve_cdc_dml.py",
      "read_script": "generator/df-reads-spark/577_merge_evolve_cdc_dml.sql",
      "description": "114 rows. Schema: id BIGINT, name STRING, value DOUBLE, priority INT. Steps: 1. INSERT 100 rows: value=round(i*3.17,2) 2. ADD COLUMN priority INT 3. MERGE from 120-row source: ids 1-100 -> UPDATE priority=(i%5)+1; ids 101-120 -> INSERT 4. UPDATE SET value=value*2 WHERE priority>3",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/578_colmap_constraint_partition_dml",
      "num": 578,
      "name": "colmap_constraint_partition_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/578_colmap_constraint_partition_dml.py",
      "read_script": "generator/df-reads-spark/578_colmap_constraint_partition_dml.sql",
      "description": "119 rows. Schema: id BIGINT, name STRING, value DOUBLE, region STRING. Steps: 1. INSERT 120 rows: value=round((1+(i*67)%500)/10.0,2), region=[US,EU,AP][i%3] 2. ADD CONSTRAINT val_pos CHECK (value>0) 3. UPDATE SET value=value+5 WHERE region=US (40 rows)",
      "status": "pass",
      "duration_ms": 40,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 40,
      "read_warm_ms": 19,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/579_optimize_evolve_cdc_partition",
      "num": 579,
      "name": "optimize_evolve_cdc_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/579_optimize_evolve_cdc_partition.py",
      "read_script": "generator/df-reads-spark/579_optimize_evolve_cdc_partition.sql",
      "description": "150 rows. Schema: id BIGINT, name STRING, value DOUBLE, region STRING, extra STRING. Steps: 1. INSERT 120 rows (2 batches of 60): value=round(i*3.17,2), region=[US,EU,AP][i%3] 2. OPTIMIZE 3. ADD COLUMN extra STRING 4. INSERT 30 rows (ids 121-150): extra=e{j}",
      "status": "pass",
      "duration_ms": 35,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 35,
      "read_warm_ms": 20,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/57_writer_identity_columns_auto",
      "num": 57,
      "name": "writer_identity_columns_auto",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/57_writer_identity_columns_auto.py",
      "read_script": "generator/df-reads-spark/57_writer_identity_columns_auto.sql",
      "description": "900 rows (800 initial with updates applied inline + 100 new EXPRESS/PENDING). sender_address STRING, recipient_name STRING, recipient_address STRING, origin_city STRING, destination_city STRING, weight_kg DECIMAL(8,2), service_type STRING, status STRING, shipped_date DATE,",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 525,
      "tags": [
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/580_five_way_merge_stress",
      "num": 580,
      "name": "five_way_merge_stress",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/580_five_way_merge_stress.py",
      "read_script": "generator/df-reads-spark/580_five_way_merge_stress.sql",
      "description": "160 rows. Schema: id BIGINT, name STRING, score INT, status STRING, region STRING. Steps: 1. INSERT 150 rows: score=(i*53)%100, status=new, region=[US,EU,AP][i%3] 2. ADD CONSTRAINT score_ok CHECK (score>=0 AND score<=100) 3. DELETE WHERE id%10=0 (removes 15 rows: 10,20,...,150)",
      "status": "pass",
      "duration_ms": 40,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 40,
      "read_warm_ms": 20,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/581_merge_three_clause_partition",
      "num": 581,
      "name": "merge_three_clause_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/581_merge_three_clause_partition.py",
      "read_script": "generator/df-reads-spark/581_merge_three_clause_partition.sql",
      "description": "165 rows. Schema: id BIGINT, name STRING, score INT, status STRING, region STRING. Steps: 1. INSERT 150 rows: score=(i*53)%100, status=active, region=[US,EU,AP][i%3] 2. MERGE from 180-row source (ids 1-180): - MATCHED AND score<10 -> DELETE (15 rows deleted...",
      "status": "pass",
      "duration_ms": 39,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 39,
      "read_warm_ms": 24,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/582_cdc_dv_constraint_delete",
      "num": 582,
      "name": "cdc_dv_constraint_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/582_cdc_dv_constraint_delete.py",
      "read_script": "generator/df-reads-spark/582_cdc_dv_constraint_delete.sql",
      "description": "75 rows. Schema: id BIGINT, name STRING, value DOUBLE, tag STRING. Steps: 1. INSERT 100 rows: value=round((1+(i*47)%500)/10.0,1), tag=init 2. ADD CONSTRAINT val_pos CHECK (value>0) 3. DELETE WHERE id%4=0 (removes 25 rows) 4. UPDATE SET tag=checked WHERE id%3=0 (among surviving)",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/583_colmap_evolve_rename_merge",
      "num": 583,
      "name": "colmap_evolve_rename_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/583_colmap_evolve_rename_merge.py",
      "read_script": "generator/df-reads-spark/583_colmap_evolve_rename_merge.sql",
      "description": "120 rows. Schema: id BIGINT, display_col STRING, value DOUBLE, extra INT. Steps: 1. INSERT 100 rows: old_col=val_i, value=round(i*1.5,1) 2. RENAME COLUMN old_col TO display_col 3. ADD COLUMN extra INT 4. MERGE from 120-row source: ids 1-100 -> UPDATE extra=i%10; ids 101-120 ->...",
      "status": "pass",
      "duration_ms": 22,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 22,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "schema:rename-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/584_partition_delete_update_insert",
      "num": 584,
      "name": "partition_delete_update_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/584_partition_delete_update_insert.py",
      "read_script": "generator/df-reads-spark/584_partition_delete_update_insert.sql",
      "description": "140 rows (40 US + 70 EU + 30 AP). Schema: id BIGINT, name STRING, value DOUBLE, region STRING. Steps: 1. INSERT 120 rows: value=round(i*1.1,1), region=[US,EU,AP][i%3] 2. DELETE WHERE region=AP AND id%4=0 3. UPDATE SET value=value*2 WHERE region=US",
      "status": "pass",
      "duration_ms": 29,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 29,
      "read_warm_ms": 14,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/585_optimize_constraint_cdc_partition",
      "num": 585,
      "name": "optimize_constraint_cdc_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/585_optimize_constraint_cdc_partition.py",
      "read_script": "generator/df-reads-spark/585_optimize_constraint_cdc_partition.sql",
      "description": "134 rows. Schema: id BIGINT, name STRING, score INT, region STRING. Steps: 1. INSERT 120 rows (2 batches of 60): score=(i*53)%100, region=[US,EU,AP][i%3] 2. ADD CONSTRAINT score_ok CHECK (score>=0 AND score<=100) 3. OPTIMIZE 4. DELETE WHERE score<5 (removes 6 rows...",
      "status": "pass",
      "duration_ms": 34,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 34,
      "read_warm_ms": 20,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/586_merge_cdc_partition_evolve",
      "num": 586,
      "name": "merge_cdc_partition_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/586_merge_cdc_partition_evolve.py",
      "read_script": "generator/df-reads-spark/586_merge_cdc_partition_evolve.sql",
      "description": "150 rows. Schema: id BIGINT, name STRING, value DOUBLE, region STRING, flag BOOLEAN. Steps: 1. INSERT 120 rows: value=round(i*1.1,1), region=[US,EU,AP][i%3] 2. ADD COLUMN flag BOOLEAN 3. MERGE from 150-row source: ids 1-120 -> UPDATE flag=true; ids 121-150 -> INSERT flag=false",
      "status": "pass",
      "duration_ms": 34,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 34,
      "read_warm_ms": 31,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/587_colmap_dv_cdc_constraint",
      "num": 587,
      "name": "colmap_dv_cdc_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/587_colmap_dv_cdc_constraint.py",
      "read_script": "generator/df-reads-spark/587_colmap_dv_cdc_constraint.sql",
      "description": "80 rows. Schema: id BIGINT, name STRING, value DOUBLE, status STRING. Steps: 1. INSERT 100 rows: value=round((1+(i*47)%500)/10.0,1), status=new 2. ADD CONSTRAINT val_pos CHECK (value>0) 3. DELETE WHERE id%5=0 (removes 20 rows) 4. UPDATE SET status=checked WHERE id<=40",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/588_large_multi_batch_insert",
      "num": 588,
      "name": "large_multi_batch_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/588_large_multi_batch_insert.py",
      "read_script": "generator/df-reads-spark/588_large_multi_batch_insert.sql",
      "description": "1500 rows. Schema: id BIGINT, name STRING, batch INT, value DOUBLE. Steps: 1. INSERT 2000 rows in 20 batches of 100 (batch 1-20) 2. DELETE WHERE batch<=5 (removes 500 rows) 3. UPDATE SET value=value*2 WHERE batch>=16 (batches 16-20 = 500 rows doubled)",
      "status": "pass",
      "duration_ms": 25,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 25,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:many-batches",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/589_merge_delete_clause_cdc",
      "num": 589,
      "name": "merge_delete_clause_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/589_merge_delete_clause_cdc.py",
      "read_script": "generator/df-reads-spark/589_merge_delete_clause_cdc.sql",
      "description": "190 rows. Schema: id BIGINT, name STRING, score INT, status STRING. Steps: 1. INSERT 200 rows: score=(i*53)%100, status=active 2. MERGE from 100-row source (ids 1-100): - MATCHED AND score<10 -> DELETE - MATCHED -> UPDATE status=checked",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/58_reader_version_requirements_matrix",
      "num": 58,
      "name": "reader_version_requirements_matrix",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/58_reader_version_requirements_matrix.py",
      "read_script": "generator/df-reads-spark/58_reader_version_requirements_matrix.sql",
      "description": "650 rows (600 initial + 50 new admissions, ids 601-650). last_name STRING, date_of_birth DATE, blood_type STRING, admission_date DATE, discharge_date DATE (nullable), primary_diagnosis STRING, secondary_diagnoses STRING (nullable), attending_physician STRING, department STRING...",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 526,
      "tags": [
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/590_evolve_constraint_optimize_merge",
      "num": 590,
      "name": "evolve_constraint_optimize_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/590_evolve_constraint_optimize_merge.py",
      "read_script": "generator/df-reads-spark/590_evolve_constraint_optimize_merge.sql",
      "description": "220 rows. Schema: id BIGINT, name STRING, value DOUBLE, tag STRING. Steps: 1. INSERT 200 rows (4 batches of 50): value=round((1+(i*47)%500)/10.0,1) 2. ADD CONSTRAINT val_pos CHECK (value>0) 3. ADD COLUMN tag STRING 4. OPTIMIZE 5. MERGE from 220-row source: ids 1-200 -> UPDATE...",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:optimize",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/591_partition_three_region_merge",
      "num": 591,
      "name": "partition_three_region_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/591_partition_three_region_merge.py",
      "read_script": "generator/df-reads-spark/591_partition_three_region_merge.sql",
      "description": "120 rows. Schema: id BIGINT, name STRING, amount DOUBLE, region STRING. Steps: 1. INSERT 90 rows: amount=round(i*2.5,1), region=[US,EU,AP][i%3] 2. MERGE from 120-row source (ids 1-120, amount=round(i*3.0,1)): - MATCHED -> UPDATE amount=source.amount",
      "status": "pass",
      "duration_ms": 34,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 34,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/592_cdc_dv_optimize_delete_update",
      "num": 592,
      "name": "cdc_dv_optimize_delete_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/592_cdc_dv_optimize_delete_update.py",
      "read_script": "generator/df-reads-spark/592_cdc_dv_optimize_delete_update.sql",
      "description": "190 rows. Schema: id BIGINT, name STRING, value DOUBLE, status STRING. Steps: 1. INSERT 200 rows (4 batches of 50): value=round(i*0.9,1), status=new 2. DELETE WHERE id%5=0 (removes 40 rows) 3. OPTIMIZE 4. UPDATE SET status=post WHERE id<=50 (among surviving)",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/593_colmap_partition_delete_merge",
      "num": 593,
      "name": "colmap_partition_delete_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/593_colmap_partition_delete_merge.py",
      "read_script": "generator/df-reads-spark/593_colmap_partition_delete_merge.sql",
      "description": "130 rows. Schema: id BIGINT, name STRING, value DOUBLE, region STRING. Steps: 1. INSERT 120 rows: value=round(i*1.3,1), region=[US,EU,AP][i%3] 2. DELETE WHERE region=EU AND id%5=0 EU ids (i%3=1): 1,4,7,...; EU ids divisible by 5: 10,25,40,55,70,85,100,115 = 8 rows",
      "status": "pass",
      "duration_ms": 42,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 42,
      "read_warm_ms": 18,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/594_constraint_two_evolve",
      "num": 594,
      "name": "constraint_two_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/594_constraint_two_evolve.py",
      "read_script": "generator/df-reads-spark/594_constraint_two_evolve.sql",
      "description": "80 rows. Schema: id BIGINT, name STRING, score INT, priority INT, tag STRING. Steps: 1. INSERT 80 rows: score=(i*53)%100 2. ADD CONSTRAINT score_ok CHECK (score>=0 AND score<=100) 3. ADD COLUMN priority INT 4. ADD CONSTRAINT pri_ok CHECK (priority>=0 OR priority IS NULL)",
      "status": "pass",
      "duration_ms": 20,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 20,
      "read_warm_ms": 14,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/595_optimize_merge_delete_chain",
      "num": 595,
      "name": "optimize_merge_delete_chain",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/595_optimize_merge_delete_chain.py",
      "read_script": "generator/df-reads-spark/595_optimize_merge_delete_chain.sql",
      "description": "316 rows. Schema: id BIGINT, name STRING, value DOUBLE, status STRING. Steps: 1. INSERT 300 rows (3 batches of 100): value=round(i*0.8,1), status=v1 2. OPTIMIZE 3. MERGE from 320-row source: ids 1-300 -> UPDATE status=v2; ids 301-320 -> INSERT status=new",
      "status": "pass",
      "duration_ms": 21,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 21,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/596_cdc_colmap_partition_merge_evolve",
      "num": 596,
      "name": "cdc_colmap_partition_merge_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/596_cdc_colmap_partition_merge_evolve.py",
      "read_script": "generator/df-reads-spark/596_cdc_colmap_partition_merge_evolve.sql",
      "description": "150 rows. Schema: id BIGINT, name STRING, value DOUBLE, region STRING, flag BOOLEAN. Steps: 1. INSERT 120 rows: value=round(i*1.1,1), region=[US,EU,AP][i%3] 2. ADD COLUMN flag BOOLEAN 3. MERGE from 150-row source: ids 1-120 -> UPDATE flag=true; ids 121-150 -> INSERT flag=false",
      "status": "pass",
      "duration_ms": 36,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 36,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/597_dv_partition_constraint_cdc",
      "num": 597,
      "name": "dv_partition_constraint_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/597_dv_partition_constraint_cdc.py",
      "read_script": "generator/df-reads-spark/597_dv_partition_constraint_cdc.sql",
      "description": "114 rows (exact). Schema: id BIGINT, name STRING, score INT, region STRING. Steps: 1. INSERT 120 rows: score=(i*53)%100, region=[US,EU,AP][i%3] 2. ADD CONSTRAINT score_ok CHECK (score>=0 AND score<=100) 3. DELETE WHERE score<5 (removes 6 rows: 17,34,51,68,100,117)",
      "status": "pass",
      "duration_ms": 33,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 33,
      "read_warm_ms": 15,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/598_colmap_evolve_optimize_dml",
      "num": 598,
      "name": "colmap_evolve_optimize_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/598_colmap_evolve_optimize_dml.py",
      "read_script": "generator/df-reads-spark/598_colmap_evolve_optimize_dml.sql",
      "description": "180 rows. Schema: id BIGINT, name STRING, value DOUBLE, extra STRING. Steps: 1. INSERT 200 rows (4 batches of 50): value=round(i*1.2,1) 2. ADD COLUMN extra STRING 3. UPDATE SET extra=set WHERE id<=100 4. OPTIMIZE 5. DELETE WHERE id%10=0 (removes 20 rows: 10,20,...,200)",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/599_merge_cdc_dv_colmap_constraint",
      "num": 599,
      "name": "merge_cdc_dv_colmap_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/599_merge_cdc_dv_colmap_constraint.py",
      "read_script": "generator/df-reads-spark/599_merge_cdc_dv_colmap_constraint.sql",
      "description": "108 rows. Schema: id BIGINT, name STRING, value DOUBLE, status STRING. Steps: 1. INSERT 100 rows: value=round((1+(i*47)%500)/10.0,1), status=new 2. ADD CONSTRAINT val_pos CHECK (value>0) 3. MERGE from 120-row source: ids 1-100 -> UPDATE status=merged; ids 101-120 -> INSERT...",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/59_schema_all_primitive_types",
      "num": 59,
      "name": "schema_all_primitive_types",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/59_schema_all_primitive_types.py",
      "read_script": "generator/df-reads-spark/59_schema_all_primitive_types.sql",
      "description": "50 rows (5 hand-crafted + 45 generated, sensor_id 1001-1050). reading_count INT, temperature_celsius FLOAT, latitude DOUBLE, longitude DOUBLE, voltage DECIMAL(8,4), location_name STRING, firmware_data BINARY, is_active BOOLEAN, installation_date DATE,",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 528,
      "tags": [
        "type:binary",
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/600_ultimate_comprehensive",
      "num": 600,
      "name": "ultimate_comprehensive",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/600_ultimate_comprehensive.py",
      "read_script": "generator/df-reads-spark/600_ultimate_comprehensive.sql",
      "description": "200 rows. Schema: id BIGINT, name STRING, score INT, region STRING, extra STRING. Steps: 1. INSERT 200 rows: score=(i*53)%100, region=[US,EU,AP,SA][i%4] 2. ADD CONSTRAINT score_ok CHECK (score>=0 AND score<=100) 3. DELETE WHERE id%10=0 (removes 20 rows)",
      "status": "pass",
      "duration_ms": 82,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 82,
      "read_warm_ms": 25,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/601_struct_update",
      "num": 601,
      "name": "struct_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/601_struct_update.py",
      "read_script": "generator/df-reads-spark/601_struct_update.sql",
      "description": "86 rows. Schema: id BIGINT, profile STRUCT<age INT, city STRING>, value DOUBLE, status STRING. Steps: 1. INSERT 100 rows: profile.age=20+(i%40), city=[NYC,LON,TOK,PAR][i%4], value=round((i*59)%500/10.0,1), status=active 2. UPDATE SET value=value*2, status=updated WHERE id<=40",
      "status": "pass",
      "duration_ms": 26,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 26,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/602_struct_merge",
      "num": 602,
      "name": "struct_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/602_struct_merge.py",
      "read_script": "generator/df-reads-spark/602_struct_merge.sql",
      "description": "100 rows. Schema: id BIGINT, info STRUCT<label STRING, score INT>, tag STRING. Steps: 1. INSERT 80 rows: info.label=l_i, info.score=(i*31)%100, tag=orig 2. MERGE from 100-row source: ids 1-80 -> UPDATE tag=merged; ids 81-100 -> INSERT tag=src",
      "status": "pass",
      "duration_ms": 24,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 24,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/603_struct_cdc",
      "num": 603,
      "name": "struct_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/603_struct_cdc.py",
      "read_script": "generator/df-reads-spark/603_struct_cdc.sql",
      "description": "90 rows. Schema: id BIGINT, meta STRUCT<source STRING, version INT>, value DOUBLE. Steps: 1. INSERT 100 rows: meta.source=gen, meta.version=1, value=round((i*41)%500/10.0,1) 2. UPDATE SET value=value*2 WHERE id<=30 3. DELETE WHERE id>90 (removes ids 91-100 = 10 rows)",
      "status": "pass",
      "duration_ms": 24,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 24,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/604_timestamp_merge",
      "num": 604,
      "name": "timestamp_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/604_timestamp_merge.py",
      "read_script": "generator/df-reads-spark/604_timestamp_merge.sql",
      "description": "120 rows. Schema: id BIGINT, name STRING, event_ts TIMESTAMP, status STRING. Steps: 1. INSERT 100 rows: event_ts=us(1704067200000000 + i*3600000000), status=active 2. MERGE from 120-row source: ids 1-100 -> UPDATE status=merged; ids 101-120 -> INSERT status=new",
      "status": "pass",
      "duration_ms": 24,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 24,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/605_timestamp_cdc",
      "num": 605,
      "name": "timestamp_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/605_timestamp_cdc.py",
      "read_script": "generator/df-reads-spark/605_timestamp_cdc.sql",
      "description": "80 rows. Schema: id BIGINT, name STRING, created_ts TIMESTAMP, value DOUBLE. Steps: 1. INSERT 100 rows: created_ts=us(1704067200000000+i*86400000000), value=round((i*37)%200/10.0,1) 2. UPDATE SET value=value*3 WHERE id<=25 3. DELETE WHERE id>80 (removes 20 rows)",
      "status": "pass",
      "duration_ms": 22,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 22,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/606_date_merge",
      "num": 606,
      "name": "date_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/606_date_merge.py",
      "read_script": "generator/df-reads-spark/606_date_merge.sql",
      "description": "120 rows. Schema: id BIGINT, name STRING, event_date DATE, score INT. Steps: 1. INSERT 100 rows: event_date=epoch+19723+i days, score=(i*47)%100 2. MERGE from 120-row source (score=(i*47)%100+10): ids 1-100 -> UPDATE score; ids 101-120 -> INSERT",
      "status": "pass",
      "duration_ms": 23,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 23,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/607_date_partition",
      "num": 607,
      "name": "date_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/607_date_partition.py",
      "read_script": "generator/df-reads-spark/607_date_partition.sql",
      "description": "114 rows. Schema: id BIGINT, name STRING, value DOUBLE, event_month STRING. Steps: 1. INSERT 120 rows: value=round((i*43)%300/10.0,1), event_month=[2024-01,2024-02,2024-03,2024-04][i%4] 2. UPDATE SET value=value*2 WHERE event_month=2024-01 3. DELETE WHERE event_month=2024-04 AND...",
      "status": "pass",
      "duration_ms": 63,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 63,
      "read_warm_ms": 36,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/608_decimal_merge",
      "num": 608,
      "name": "decimal_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/608_decimal_merge.py",
      "read_script": "generator/df-reads-spark/608_decimal_merge.sql",
      "description": "120 rows. Schema: id BIGINT, name STRING, amount DECIMAL(15,6), price DECIMAL(10,2). Steps: 1. INSERT 100 rows: amount=round((i*47.123456)%1000,6), price=round((i*19.99)%500,2) 2. MERGE from 120-row CTE: MATCHED -> amount=round((i*47.123456)%1000+0.000001,6)",
      "status": "pass",
      "duration_ms": 34,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 34,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/609_decimal_cdc",
      "num": 609,
      "name": "decimal_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/609_decimal_cdc.py",
      "read_script": "generator/df-reads-spark/609_decimal_cdc.sql",
      "description": "90 rows. Schema: id BIGINT, amount DECIMAL(18,8), label STRING. Steps: 1. INSERT 100 rows: amount=round(i*31.41592653/100.0,8), label=lbl_{i} 2. UPDATE amount+0.00000001 WHERE id<=50 3. DELETE WHERE id%10=0 (removes 10 rows)",
      "status": "pass",
      "duration_ms": 36,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 36,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/60_schema_struct_type_nested",
      "num": 60,
      "name": "schema_struct_type_nested",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/60_schema_struct_type_nested.py",
      "read_script": "generator/df-reads-spark/60_schema_struct_type_nested.sql",
      "description": "50 rows (5 fixed + 45 generated, order_id 1001-1050). customer STRUCT<customer_id BIGINT, name STRING, email STRING, phone STRING, loyalty_tier STRING>, shipping_address STRUCT<street STRING, city STRING, state STRING, zip_code STRING, country STRING,",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 562,
      "tags": [
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:nested-types",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/610_decimal_partition",
      "num": 610,
      "name": "decimal_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/610_decimal_partition.py",
      "read_script": "generator/df-reads-spark/610_decimal_partition.sql",
      "description": "112 rows. Schema: id BIGINT, name STRING, amount DECIMAL(12,4), category STRING. Steps: 1. INSERT 120 rows: category=[X,Y,Z][i%3], amount=round(((i*67)%1000)/10.0,4) 2. UPDATE amount+100 WHERE category='X' (i%3=0) 3. DELETE WHERE category='Z' AND id%5=0 (removes 8 rows)",
      "status": "pass",
      "duration_ms": 82,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 82,
      "read_warm_ms": 34,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/611_no_dv_merge",
      "num": 611,
      "name": "no_dv_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/611_no_dv_merge.py",
      "read_script": "generator/df-reads-spark/611_no_dv_merge.sql",
      "description": "96 rows. Schema: id BIGINT, name STRING, value DOUBLE, status STRING. Steps: 1. INSERT 100 rows: value=round(((i*53)%400)/10.0,1), status=orig 2. MERGE from 120-row CTE: MATCHED ids 1-100 -> status=merged NOT MATCHED ids 101-120 -> INSERT status=new",
      "status": "pass",
      "duration_ms": 38,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 38,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/612_no_dv_cdc",
      "num": 612,
      "name": "no_dv_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/612_no_dv_cdc.py",
      "read_script": "generator/df-reads-spark/612_no_dv_cdc.sql",
      "description": "80 rows. Schema: id BIGINT, name STRING, value DOUBLE, tag STRING. Steps: 1. INSERT 100 rows: value=round(((i*29)%300)/10.0,1), tag=v1 2. UPDATE tag=v2 WHERE id<=30 3. DELETE WHERE id>80 (removes 20 rows)",
      "status": "pass",
      "duration_ms": 43,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 43,
      "read_warm_ms": 18,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/613_no_dv_partition",
      "num": 613,
      "name": "no_dv_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/613_no_dv_partition.py",
      "read_script": "generator/df-reads-spark/613_no_dv_partition.sql",
      "description": "80 rows. Schema: id BIGINT, name STRING, amount DOUBLE, region STRING. Steps: 1. INSERT 90 rows: region=[US,EU,AP][i%3], amount=round(((i*61)%500)/10.0,1) 2. UPDATE amount*2 WHERE region=US (i%3=0) 3. DELETE WHERE region=EU AND id<=30 (removes 10 rows: 1,4,7,10,13,16,19,22,25,28)",
      "status": "pass",
      "duration_ms": 48,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 48,
      "read_warm_ms": 23,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/614_not_null_merge",
      "num": 614,
      "name": "not_null_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/614_not_null_merge.py",
      "read_script": "generator/df-reads-spark/614_not_null_merge.sql",
      "description": "75 rows. Schema: id BIGINT NOT NULL, name STRING NOT NULL, score INT NOT NULL, tag STRING NOT NULL. Steps: 1. INSERT 80 rows: score=(i*41)%100, tag=orig 2. MERGE from 100-row CTE: MATCHED ids 1-80 -> tag=merged NOT MATCHED ids 81-100 -> INSERT tag=src",
      "status": "pass",
      "duration_ms": 22,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 22,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/615_not_null_evolve",
      "num": 615,
      "name": "not_null_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/615_not_null_evolve.py",
      "read_script": "generator/df-reads-spark/615_not_null_evolve.sql",
      "description": "130 rows. Schema: id BIGINT NOT NULL, name STRING NOT NULL, value DOUBLE NOT NULL, extra STRING. Steps: 1. INSERT 100 rows: value=round(((i*37)%200)/10.0,1), extra=NULL 2. ADD COLUMN extra STRING (existing rows get NULL) 3. INSERT 30 more rows (101-130) with extra=x_{i}",
      "status": "pass",
      "duration_ms": 31,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 31,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/616_not_null_cdc",
      "num": 616,
      "name": "not_null_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/616_not_null_cdc.py",
      "read_script": "generator/df-reads-spark/616_not_null_cdc.sql",
      "description": "80 rows. Schema: id BIGINT NOT NULL, name STRING NOT NULL, amount DOUBLE NOT NULL, status STRING NOT NULL. Steps: 1. INSERT 100 rows: amount=round(((i*43)%300)/10.0,1), status=pending 2. UPDATE status=processed WHERE id<=40 3. DELETE WHERE id>80 (removes 20 rows)",
      "status": "pass",
      "duration_ms": 40,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 40,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/617_insert_overwrite_merge",
      "num": 617,
      "name": "insert_overwrite_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/617_insert_overwrite_merge.py",
      "read_script": "generator/df-reads-spark/617_insert_overwrite_merge.sql",
      "description": "120 rows. Schema: id BIGINT, name STRING, value DOUBLE, gen INT. Steps: 1. INSERT 50 rows (gen=1) 2. INSERT OVERWRITE 100 rows (gen=2) 3. MERGE from 120-row CTE: all -> gen=3 4. UPDATE value*2 WHERE gen=3 AND id<=50",
      "status": "pass",
      "duration_ms": 46,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 46,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/618_insert_overwrite_cdc",
      "num": 618,
      "name": "insert_overwrite_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/618_insert_overwrite_cdc.py",
      "read_script": "generator/df-reads-spark/618_insert_overwrite_cdc.sql",
      "description": "80 rows. Schema: id BIGINT, name STRING, value DOUBLE, tag STRING. Steps: 1. INSERT 50 rows (tag=v1) 2. INSERT OVERWRITE 80 rows (tag=v2) 3. UPDATE tag=v3 WHERE id<=20",
      "status": "pass",
      "duration_ms": 51,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 51,
      "read_warm_ms": 10,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "dml:insert",
        "dml:overwrite",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/619_rename_cdc",
      "num": 619,
      "name": "rename_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/619_rename_cdc.py",
      "read_script": "generator/df-reads-spark/619_rename_cdc.sql",
      "description": "90 rows. Schema: id BIGINT, display_name STRING, value DOUBLE. (col renamed from old_name) Steps: 1. INSERT 100 rows: display_name=item_{i}, value=round(((i*59)%400)/10.0,1) 2. RENAME old_name TO display_name (column mapping) 3. UPDATE display_name=renamed_{i} WHERE id<=40",
      "status": "pass",
      "duration_ms": 36,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 36,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/61_schema_struct_field_metadata",
      "num": 61,
      "name": "schema_struct_field_metadata",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/61_schema_struct_field_metadata.py",
      "read_script": "generator/df-reads-spark/61_schema_struct_field_metadata.sql",
      "description": "400 rows (i=1..400). trader_info STRUCT<trader_id STRING, trader_name STRING, desk STRING, authorization_level INT>, security STRUCT<symbol STRING, security_type STRING, exchange STRING, currency STRING>, trade_details STRUCT<quantity BIGINT, price DECIMAL(12,4), total_value...",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 516,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:struct",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/620_drop_column_dml",
      "num": 620,
      "name": "drop_column_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/620_drop_column_dml.py",
      "read_script": "generator/df-reads-spark/620_drop_column_dml.sql",
      "description": "86 rows. Schema: id BIGINT, name STRING, value DOUBLE, status STRING. (temp_col dropped) Steps: 1. INSERT 100 rows: value=round(((i*53)%400)/10.0,1), status=active, temp_col exists 2. DROP COLUMN temp_col 3. UPDATE status=post_drop WHERE id<=50 4. DELETE WHERE id%7=0 (removes 14...",
      "status": "pass",
      "duration_ms": 34,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 34,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:drop-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/621_rename_merge_cdc",
      "num": 621,
      "name": "rename_merge_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/621_rename_merge_cdc.py",
      "read_script": "generator/df-reads-spark/621_rename_merge_cdc.sql",
      "description": "120 rows. Schema: id BIGINT, display STRING, score INT, status STRING. (col_a renamed to display) Steps: 1. INSERT 100 rows: display=item_{i}, score=(i*53)%100, status=active 2. RENAME col_a -> display (column mapping) 3. MERGE from 120-row CTE:",
      "status": "pass",
      "duration_ms": 36,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 36,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/622_drop_merge",
      "num": 622,
      "name": "drop_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/622_drop_merge.py",
      "read_script": "generator/df-reads-spark/622_drop_merge.sql",
      "description": "120 rows. Schema: id BIGINT, name STRING, score INT, status STRING. (temp column dropped) Steps: 1. INSERT 100 rows: score=(i*53)%100, status=active, temp DOUBLE exists 2. DROP COLUMN temp 3. MERGE from 120-row CTE:",
      "status": "pass",
      "duration_ms": 49,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 49,
      "read_warm_ms": 19,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:drop-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/623_struct_partition",
      "num": 623,
      "name": "struct_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/623_struct_partition.py",
      "read_script": "generator/df-reads-spark/623_struct_partition.sql",
      "description": "84 rows. Schema: id BIGINT, info STRUCT<score INT, label STRING>, value DOUBLE, region STRING. Steps: 1. INSERT 90 rows: region=[US,EU,AP][i%3], info.score=(i*53)%100, info.label=L{i%10} value=round(((i*59)%500)/10.0,1) 2. UPDATE value+50 WHERE region=US (i%3=0)",
      "status": "pass",
      "duration_ms": 71,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 71,
      "read_warm_ms": 21,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/624_struct_evolve",
      "num": 624,
      "name": "struct_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/624_struct_evolve.py",
      "read_script": "generator/df-reads-spark/624_struct_evolve.sql",
      "description": "100 rows. Schema: id BIGINT, profile STRUCT<age INT, city STRING>, value DOUBLE, status STRING, extra INT. Steps: 1. INSERT 80 rows: profile.age=20+(i%40), profile.city=NYC/LON/TOK/PAR, status=active, extra=NULL 2. ADD COLUMN extra INT 3. INSERT 20 rows (81-100) with...",
      "status": "pass",
      "duration_ms": 42,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 42,
      "read_warm_ms": 19,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/625_timestamp_partition",
      "num": 625,
      "name": "timestamp_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/625_timestamp_partition.py",
      "read_script": "generator/df-reads-spark/625_timestamp_partition.sql",
      "description": "113 rows. Schema: id BIGINT, created_at TIMESTAMP, value DOUBLE, status STRING, month STRING. Steps: 1. INSERT 120 rows: month=2024-01/02/03 (40 each), created_at=base+i*6h, value=round(((i*59)%500)/10.0,1) 2. UPDATE value*2 WHERE month=2024-01 (ids 1-40)",
      "status": "pass",
      "duration_ms": 41,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 41,
      "read_warm_ms": 18,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/626_decimal_constraint",
      "num": 626,
      "name": "decimal_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/626_decimal_constraint.py",
      "read_script": "generator/df-reads-spark/626_decimal_constraint.sql",
      "description": "90 rows. Schema: id BIGINT, name STRING, amount DECIMAL(12,2), score INT. Steps: 1. INSERT 100 rows: amount=(1+(i*47)%999)/10, score=(i*53)%100 2. ADD CONSTRAINT amount_positive (amount > 0) 3. UPDATE amount+10.50 WHERE score>=50 4. DELETE WHERE score<10 (removes 10 rows)",
      "status": "pass",
      "duration_ms": 41,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 41,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/627_decimal_evolve",
      "num": 627,
      "name": "decimal_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/627_decimal_evolve.py",
      "read_script": "generator/df-reads-spark/627_decimal_evolve.sql",
      "description": "90 rows. Schema: id BIGINT, name STRING, price DECIMAL(10,2), score INT, extra DECIMAL(10,2). Steps: 1. INSERT 100 rows: price=(1+(i*47)%999)/10, score=(i*53)%100, extra=NULL 2. ADD COLUMN extra DECIMAL(10,2) 3. UPDATE extra=round(price*0.15,2) WHERE score>=40",
      "status": "pass",
      "duration_ms": 38,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 38,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/628_not_null_partition",
      "num": 628,
      "name": "not_null_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/628_not_null_partition.py",
      "read_script": "generator/df-reads-spark/628_not_null_partition.sql",
      "description": "110 rows. Schema: id BIGINT NOT NULL, name STRING NOT NULL, score INT, value DOUBLE, region STRING. Steps: 1. INSERT 120 rows: region=US(1-40)/EU(41-80)/AP(81-120), score=(i*53)%100, value=round(((i*59)%500)/10.0,1) 2. UPDATE score+100 WHERE region=EU",
      "status": "pass",
      "duration_ms": 35,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 35,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/629_not_null_constraint",
      "num": 629,
      "name": "not_null_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/629_not_null_constraint.py",
      "read_script": "generator/df-reads-spark/629_not_null_constraint.sql",
      "description": "93 rows. Schema: id BIGINT NOT NULL, name STRING NOT NULL, score INT, value DOUBLE. Steps: 1. INSERT 100 rows: score=(i*53)%100, value=round(((i*59)%500)/10.0,1) 2. ADD CONSTRAINT score_range (score>=0 AND score<=200) 3. UPDATE score+50 WHERE id<=60",
      "status": "pass",
      "duration_ms": 32,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 32,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/62_schema_array_type_elements",
      "num": 62,
      "name": "schema_array_type_elements",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/62_schema_array_type_elements.py",
      "read_script": "generator/df-reads-spark/62_schema_array_type_elements.sql",
      "description": "100 rows (5 manual + 95 generated, user_id 100001-100100). favorite_genres ARRAY<STRING>, watched_show_ids ARRAY<BIGINT>, ratings ARRAY<INT>, device_types ARRAY<STRING>, watch_history_dates ARRAY<DATE>, preferred_languages ARRAY<STRING>, member_since DATE",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 519,
      "tags": [
        "type:date",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/630_insert_overwrite_partition",
      "num": 630,
      "name": "insert_overwrite_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/630_insert_overwrite_partition.py",
      "read_script": "generator/df-reads-spark/630_insert_overwrite_partition.sql",
      "description": "53 rows. Schema: id BIGINT, name STRING, score INT, region STRING. Steps: 1. INSERT 90 rows (30 per US/EU/AP) 2. INSERT OVERWRITE 60 rows (20 per region): name=ow_{i}, score=(i*53)%100+100 3. UPDATE score+300 WHERE region=US (ids 1-20) 4. DELETE WHERE region=EU AND id%3=0...",
      "status": "pass",
      "duration_ms": 37,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 37,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/631_merge_update_delete_chain",
      "num": 631,
      "name": "merge_update_delete_chain",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/631_merge_update_delete_chain.py",
      "read_script": "generator/df-reads-spark/631_merge_update_delete_chain.sql",
      "description": "218 rows. Schema: id BIGINT, name STRING, score INT, region STRING. Steps: 1. INSERT 200 rows: region=[US,EU,AP][i%3], score=(i*53)%100 2. MERGE from 220-row CTE: MATCHED -> score+100, name=m_{i} NOT MATCHED ids 201-220 -> INSERT name=m_{i} 3. UPDATE score+500 WHERE region=US",
      "status": "pass",
      "duration_ms": 37,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 37,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/632_update_merge_update",
      "num": 632,
      "name": "update_merge_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/632_update_merge_update.py",
      "read_script": "generator/df-reads-spark/632_update_merge_update.sql",
      "description": "120 rows. Schema: id BIGINT, name STRING, score INT, status STRING. Steps: 1. INSERT 100 rows: score=(i*53)%100, status=v0 2. UPDATE status=v1 WHERE id<=50 3. MERGE from 120-row CTE: MATCHED -> score+200, status=v2 NOT MATCHED ids 101-120 -> INSERT status=v2",
      "status": "pass",
      "duration_ms": 33,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 33,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "dml:insert",
        "dml:merge",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/633_delete_merge_delete",
      "num": 633,
      "name": "delete_merge_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/633_delete_merge_delete.py",
      "read_script": "generator/df-reads-spark/633_delete_merge_delete.sql",
      "description": "168 rows. Schema: id BIGINT, name STRING, score INT, tag STRING. Steps: 1. INSERT 200 rows: score=(i*53)%100, tag=base 2. DELETE WHERE id%5=0 (removes 40 rows) 3. MERGE from 180-row CTE (ids 1-180): MATCHED survivors -> tag=merged, score+=100 NOT MATCHED (ids deleted in step 2...",
      "status": "pass",
      "duration_ms": 34,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 34,
      "read_warm_ms": 18,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/634_one_row_all_features",
      "num": 634,
      "name": "one_row_all_features",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/634_one_row_all_features.py",
      "read_script": "generator/df-reads-spark/634_one_row_all_features.sql",
      "description": "1 row. Schema: id BIGINT, name STRING, score INT, status STRING. Steps: 1. INSERT 1 row: id=1, score=53, status=new 2. UPDATE score=999, status=updated WHERE id=1 3. DELETE WHERE id=1 4. INSERT 1 row: id=2, score=6, status=fresh",
      "status": "pass",
      "duration_ms": 21,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 21,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/635_two_row_merge",
      "num": 635,
      "name": "two_row_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/635_two_row_merge.py",
      "read_script": "generator/df-reads-spark/635_two_row_merge.sql",
      "description": "3 rows. Schema: id BIGINT, name STRING, score INT, tag STRING. Steps: 1. INSERT 2 rows: id=1 score=53, id=2 score=6 2. MERGE from 3-row CTE: 2 matched score+100 tag=merged, 1 new id=3 score=59 tag=new",
      "status": "pass",
      "duration_ms": 27,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 27,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/636_power_of_two_rows",
      "num": 636,
      "name": "power_of_two_rows",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/636_power_of_two_rows.py",
      "read_script": "generator/df-reads-spark/636_power_of_two_rows.sql",
      "description": "240 rows. Schema: id BIGINT, name STRING, score INT, value DOUBLE. Steps: 1. INSERT 256 rows: score=(i*53)%100, value=round(((i*59)%500)/10.0,1) 2. DELETE WHERE id%16=0 (removes 16 rows) 3. UPDATE score+1000 WHERE id%8=1 (updates 32 rows)",
      "status": "pass",
      "duration_ms": 43,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 43,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/637_thousand_row_merge",
      "num": 637,
      "name": "thousand_row_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/637_thousand_row_merge.py",
      "read_script": "generator/df-reads-spark/637_thousand_row_merge.sql",
      "description": "1000 rows. Schema: id BIGINT, name STRING, score INT, status STRING. Steps: 1. INSERT 1000 rows: score=(i*53)%100, status=active 2. MERGE from 1000-row CTE: all matched -> score=score+1000",
      "status": "pass",
      "duration_ms": 34,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 34,
      "read_warm_ms": 15,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/638_no_dv_evolve_merge",
      "num": 638,
      "name": "no_dv_evolve_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/638_no_dv_evolve_merge.py",
      "read_script": "generator/df-reads-spark/638_no_dv_evolve_merge.sql",
      "description": "120 rows. Schema: id BIGINT, name STRING, score INT, status STRING, tag STRING. Steps: 1. INSERT 100 rows: score=(i*53)%100, status=active, tag=NULL 2. ADD COLUMN tag STRING 3. MERGE from 120-row CTE:",
      "status": "pass",
      "duration_ms": 40,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 40,
      "read_warm_ms": 19,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/639_no_dv_constraint",
      "num": 639,
      "name": "no_dv_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/639_no_dv_constraint.py",
      "read_script": "generator/df-reads-spark/639_no_dv_constraint.sql",
      "description": "93 rows. Schema: id BIGINT, name STRING, score INT, value DOUBLE. Steps: 1. INSERT 100 rows: score=(i*53)%100, value=round(((i*59)%500)/10.0,1) 2. ADD CONSTRAINT score_ok (score>=0 AND score<=200) 3. UPDATE score+50 WHERE id<=40 4. DELETE WHERE score<15 (removes 7 rows)",
      "status": "pass",
      "duration_ms": 41,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 41,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/63_schema_map_type_key_value",
      "num": 63,
      "name": "schema_map_type_key_value",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/63_schema_map_type_key_value.py",
      "read_script": "generator/df-reads-spark/63_schema_map_type_key_value.sql",
      "description": "50 rows (5 manual + 45 generated, service_id SVC-001..SVC-050). config_properties MAP<STRING,STRING>, feature_flags MAP<STRING,BOOLEAN>, resource_limits MAP<STRING,INT>, performance_metrics MAP<STRING,DOUBLE>, last_updated TIMESTAMP",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 506,
      "tags": [
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/640_rename_drop_merge",
      "num": 640,
      "name": "rename_drop_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/640_rename_drop_merge.py",
      "read_script": "generator/df-reads-spark/640_rename_drop_merge.sql",
      "description": "120 rows. Schema: id BIGINT, display STRING, score INT, status STRING. (col_a renamed, col_b dropped) Steps: 1. INSERT 100 rows: col_a=item_{i}, col_b=..., score=(i*53)%100, status=active 2. RENAME col_a -> display 3. DROP col_b 4. MERGE from 120-row CTE:",
      "status": "pass",
      "duration_ms": 39,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 39,
      "read_warm_ms": 18,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/641_struct_colmap",
      "num": 641,
      "name": "struct_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/641_struct_colmap.py",
      "read_script": "generator/df-reads-spark/641_struct_colmap.sql",
      "description": "84 rows. Schema: id BIGINT, info STRUCT<label STRING, rank INT>, score INT, status STRING. Steps: 1. INSERT 100 rows: info.label=lbl_{i}, info.rank=(i*37)%50, score=(i*53)%100, status=active 2. UPDATE status=promoted WHERE score>=70 3. DELETE WHERE id%6=0 (removes 16 rows)",
      "status": "pass",
      "duration_ms": 42,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 42,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/642_struct_constraint",
      "num": 642,
      "name": "struct_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/642_struct_constraint.py",
      "read_script": "generator/df-reads-spark/642_struct_constraint.sql",
      "description": "86 rows. Schema: id BIGINT, profile STRUCT<city STRING, tier INT>, score INT, status STRING. Steps: 1. INSERT 100 rows: profile.city=NYC/LON/TOK/PAR, profile.tier=(i%5)+1, score=(i*47)%100, status=active 2. ADD CONSTRAINT score_non_neg (score>=0)",
      "status": "pass",
      "duration_ms": 46,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 46,
      "read_warm_ms": 18,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/643_timestamp_constraint",
      "num": 643,
      "name": "timestamp_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/643_timestamp_constraint.py",
      "read_script": "generator/df-reads-spark/643_timestamp_constraint.sql",
      "description": "90 rows. Schema: id BIGINT, created_at TIMESTAMP, val INT, label STRING. Steps: 1. INSERT 100 rows: created_at=base+i*1h, val=((i*61)%100)+1, label=normal 2. ADD CONSTRAINT val_positive (val>0) 3. UPDATE label=flagged WHERE val<=20 4. DELETE WHERE id%10=0 (removes 10 rows)",
      "status": "pass",
      "duration_ms": 35,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 35,
      "read_warm_ms": 15,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/644_timestamp_evolve",
      "num": 644,
      "name": "timestamp_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/644_timestamp_evolve.py",
      "read_script": "generator/df-reads-spark/644_timestamp_evolve.sql",
      "description": "89 rows. Schema: id BIGINT, ts TIMESTAMP, value DOUBLE, extra STRING. Steps: 1. INSERT 100 rows: ts=base+i*2h, value=round(((i*43)%500)/10.0,1), extra=NULL 2. ADD COLUMN extra STRING 3. UPDATE extra=enriched WHERE id<=40 4. DELETE WHERE id%9=0 (removes 11 rows)",
      "status": "pass",
      "duration_ms": 40,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 40,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/645_decimal_colmap",
      "num": 645,
      "name": "decimal_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/645_decimal_colmap.py",
      "read_script": "generator/df-reads-spark/645_decimal_colmap.sql",
      "description": "84 rows. Schema: id BIGINT, amount DECIMAL(15,6), label STRING, status STRING. Steps: 1. INSERT 100 rows: amount=round(i*1234.567891,6), label=dec_{i}, status=open 2. UPDATE status=adjusted WHERE amount>50000 3. DELETE WHERE id%6=0 (removes 16 rows)",
      "status": "pass",
      "duration_ms": 33,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 33,
      "read_warm_ms": 15,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/646_decimal_cdc_merge",
      "num": 646,
      "name": "decimal_cdc_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/646_decimal_cdc_merge.py",
      "read_script": "generator/df-reads-spark/646_decimal_cdc_merge.sql",
      "description": "100 rows. Schema: id BIGINT, amount DECIMAL(15,6), name STRING, status STRING. Steps: 1. INSERT 80 rows: amount=round(i*99.123456,6), status=initial 2. MERGE from 100-row CTE:",
      "status": "pass",
      "duration_ms": 43,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 43,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/647_no_dv_optimize",
      "num": 647,
      "name": "no_dv_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/647_no_dv_optimize.py",
      "read_script": "generator/df-reads-spark/647_no_dv_optimize.sql",
      "description": "200 rows. Schema: id BIGINT, name STRING, score INT, batch INT. Steps: 1. INSERT 4 batches of 50 rows each (total 200 rows) 2. UPDATE score=score+100 WHERE id<=50 (batch 1) 3. OPTIMIZE (compaction)",
      "status": "pass",
      "duration_ms": 48,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 48,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/648_no_dv_evolve_cdc",
      "num": 648,
      "name": "no_dv_evolve_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/648_no_dv_evolve_cdc.py",
      "read_script": "generator/df-reads-spark/648_no_dv_evolve_cdc.sql",
      "description": "114 rows. Schema: id BIGINT, value DOUBLE, tag STRING. Steps: 1. INSERT 100 rows: value=round(((i*67)%500)/10.0,1), tag=NULL 2. ADD COLUMN tag STRING 3. INSERT 30 rows (101-130) with tag=t_{i} 4. UPDATE tag=backfill WHERE id<=50 5. DELETE WHERE id%8=0 (removes 16 rows)",
      "status": "pass",
      "duration_ms": 44,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 44,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/649_insert_overwrite_evolve",
      "num": 649,
      "name": "insert_overwrite_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/649_insert_overwrite_evolve.py",
      "read_script": "generator/df-reads-spark/649_insert_overwrite_evolve.sql",
      "description": "100 rows. Schema: id BIGINT, name STRING, value DOUBLE, extra STRING. Steps: 1. INSERT 50 rows 2. INSERT OVERWRITE 80 rows (name=ow_{i}, extra=NULL) 3. ADD COLUMN extra STRING 4. INSERT 20 rows (81-100) with extra=e_{i}",
      "status": "pass",
      "duration_ms": 43,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 43,
      "read_warm_ms": 18,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/64_schema_column_metadata_extended",
      "num": 64,
      "name": "schema_column_metadata_extended",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/64_schema_column_metadata_extended.py",
      "read_script": "generator/df-reads-spark/64_schema_column_metadata_extended.sql",
      "description": "500 rows (i=1..500). account_number STRING, ssn_last_four STRING, transaction_type STRING, amount DECIMAL(18,2), currency STRING, transaction_date DATE, created_by STRING, reviewed_by STRING (nullable), review_date DATE (nullable), regulatory_category STRING, risk_score INT...",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 532,
      "tags": [
        "type:date",
        "type:decimal",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/650_not_null_merge_cdc",
      "num": 650,
      "name": "not_null_merge_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/650_not_null_merge_cdc.py",
      "read_script": "generator/df-reads-spark/650_not_null_merge_cdc.sql",
      "description": "100 rows. Schema: id BIGINT NOT NULL, name STRING NOT NULL, score INT, status STRING. Steps: 1. INSERT 80 rows: score=(i*59)%100, status=active 2. MERGE from 100-row CTE:",
      "status": "pass",
      "duration_ms": 32,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 32,
      "read_warm_ms": 14,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/651_rename_partition",
      "num": 651,
      "name": "rename_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/651_rename_partition.py",
      "read_script": "generator/df-reads-spark/651_rename_partition.sql",
      "description": "100 rows. Schema: id BIGINT, new_name STRING, value DOUBLE, region STRING. Steps: 1. INSERT 119 rows (range 1-119): region=[US,EU,AP][i%3], value=round(((i*53)%1000)/10.0,1) 2. RENAME old_name -> new_name 3. UPDATE value*2 WHERE region=US (i%3=0)",
      "status": "pass",
      "duration_ms": 73,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 73,
      "read_warm_ms": 23,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/652_rename_constraint",
      "num": 652,
      "name": "rename_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/652_rename_constraint.py",
      "read_script": "generator/df-reads-spark/652_rename_constraint.sql",
      "description": "100 rows. Schema: id BIGINT, label STRING, score INT, status STRING. Steps: 1. INSERT 100 rows: label=lbl_{i}, score=(i*47)%100, status=pending 2. RENAME old_label -> label (column mapping) 3. ADD CONSTRAINT score_valid (score>=0 AND score<100) 4. UPDATE status=top WHERE...",
      "status": "pass",
      "duration_ms": 39,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 39,
      "read_warm_ms": 10,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/653_drop_partition",
      "num": 653,
      "name": "drop_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/653_drop_partition.py",
      "read_script": "generator/df-reads-spark/653_drop_partition.sql",
      "description": "100 rows. Schema: id BIGINT, keep_val DOUBLE, region STRING. (drop_col removed) Steps: 1. INSERT 119 rows (range 1-119): region=[US,EU,AP][i%3], keep_val and drop_col 2. DROP COLUMN drop_col 3. UPDATE keep_val*1.5 WHERE region=EU (i%3=1) 4. DELETE WHERE id%6=0 (removes 19 rows)",
      "status": "pass",
      "duration_ms": 70,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 70,
      "read_warm_ms": 19,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:drop-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/654_drop_cdc",
      "num": 654,
      "name": "drop_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/654_drop_cdc.py",
      "read_script": "generator/df-reads-spark/654_drop_cdc.sql",
      "description": "85 rows. Schema: id BIGINT, value DOUBLE, status STRING. (drop_me column removed) Steps: 1. INSERT 100 rows: value=round(((i*61)%500)/10.0,1), status=active, drop_me=... 2. DROP COLUMN drop_me 3. UPDATE status=modified WHERE id<=30 4. DELETE WHERE id>85 (removes 15 rows)",
      "status": "pass",
      "duration_ms": 38,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 38,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:drop-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/655_multi_rename",
      "num": 655,
      "name": "multi_rename",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/655_multi_rename.py",
      "read_script": "generator/df-reads-spark/655_multi_rename.sql",
      "description": "86 rows. Schema: id BIGINT, alpha STRING, beta STRING, value DOUBLE. Steps: 1. INSERT 100 rows: col_a=a_{i}, col_b=b_{i}, value=round(((i*41)%500)/10.0,1) 2. RENAME col_a -> alpha 3. RENAME col_b -> beta 4. UPDATE value*3 WHERE id<=30 5. DELETE WHERE id%7=0 (removes 14 rows)",
      "status": "pass",
      "duration_ms": 42,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 42,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/656_delete_not_in",
      "num": 656,
      "name": "delete_not_in",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/656_delete_not_in.py",
      "read_script": "generator/df-reads-spark/656_delete_not_in.sql",
      "description": "61 rows. Schema: id BIGINT, name STRING, score INT, status STRING. Steps: 1. INSERT 100 rows: score=(i*53)%100, status=active 2. DELETE WHERE id<20 OR id>80 (removes 39 rows)",
      "status": "pass",
      "duration_ms": 38,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 38,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/657_update_between",
      "num": 657,
      "name": "update_between",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/657_update_between.py",
      "read_script": "generator/df-reads-spark/657_update_between.sql",
      "description": "200 rows. Schema: id BIGINT, name STRING, score INT, status STRING. Steps: 1. INSERT 200 rows: score=(i*53)%100, status=initial 2. UPDATE status=mid WHERE id BETWEEN 50 AND 150 3. UPDATE status=low WHERE score BETWEEN 0 AND 20 (overwrites some mid)",
      "status": "pass",
      "duration_ms": 38,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 38,
      "read_warm_ms": 18,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/658_merge_multiple_matched",
      "num": 658,
      "name": "merge_multiple_matched",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/658_merge_multiple_matched.py",
      "read_script": "generator/df-reads-spark/658_merge_multiple_matched.sql",
      "description": "200 rows. Schema: id BIGINT, name STRING, score INT, tier STRING. Steps: 1. INSERT 200 rows: score=(i*53)%100, tier=none 2. MERGE with two WHEN MATCHED clauses: score>=80 -> tier=gold score>=50 AND score<80 -> tier=silver (score<50 rows untouched: tier=none)",
      "status": "pass",
      "duration_ms": 34,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 34,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/659_delete_multi_condition",
      "num": 659,
      "name": "delete_multi_condition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/659_delete_multi_condition.py",
      "read_script": "generator/df-reads-spark/659_delete_multi_condition.sql",
      "description": "170 rows. Schema: id BIGINT, name STRING, score INT, category STRING. Steps: 1. INSERT 200 rows: score=(i*53)%100, category=[A,B,C,D][i%4] 2. DELETE WHERE (score>90) OR (category=D AND id>150)",
      "status": "pass",
      "duration_ms": 40,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 40,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/65_schema_deeply_nested_complex",
      "num": 65,
      "name": "schema_deeply_nested_complex",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/65_schema_deeply_nested_complex.py",
      "read_script": "generator/df-reads-spark/65_schema_deeply_nested_complex.sql",
      "description": "3 rows: alice_explorer (user_id 100001), bob_photographer (100002), carol_foodie (100003). posts ARRAY<STRUCT<...deeply nested with media, comments, analytics>>, social_graph STRUCT<followers ARRAY<...>, following ARRAY<BIGINT>, blocked_users ARRAY<BIGINT>>,",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 541,
      "tags": [
        "type:array",
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:map",
        "type:string",
        "type:struct",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "scale:nested-types",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/660_merge_insert_overwrite",
      "num": 660,
      "name": "merge_insert_overwrite",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/660_merge_insert_overwrite.py",
      "read_script": "generator/df-reads-spark/660_merge_insert_overwrite.sql",
      "description": "80 rows. Schema: id BIGINT, name STRING, value DOUBLE, tag STRING. Steps: 1. INSERT 100 rows (tag=seed) 2. MERGE from 120-row CTE (120 rows after merge) 3. INSERT OVERWRITE 80 rows (replaces everything, tag=overwritten)",
      "status": "pass",
      "duration_ms": 46,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 46,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "dml:insert",
        "dml:merge",
        "dml:overwrite",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/661_struct_optimize",
      "num": 661,
      "name": "struct_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/661_struct_optimize.py",
      "read_script": "generator/df-reads-spark/661_struct_optimize.sql",
      "description": "180 rows. Schema: id BIGINT, info STRUCT<score INT, label STRING>, amount DOUBLE, status STRING. Steps: 1. INSERT 200 rows in 4 batches: info.score=(i*37)%100, info.label=L{i%10}, amount=round(((i*59)%500)/10.0,1), status=active 2. OPTIMIZE (compaction)",
      "status": "pass",
      "duration_ms": 52,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 52,
      "read_warm_ms": 19,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/662_struct_dv_cdc",
      "num": 662,
      "name": "struct_dv_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/662_struct_dv_cdc.py",
      "read_script": "generator/df-reads-spark/662_struct_dv_cdc.sql",
      "description": "86 rows. Schema: id BIGINT, meta STRUCT<tag STRING, priority INT>, value DOUBLE, status STRING. Steps: 1. INSERT 100 rows: meta.tag=t{i%5}, meta.priority=(i*13)%10, value=round(((i*59)%500)/10.0,1), status=new 2. DELETE WHERE id%7=0 (removes 14 rows)",
      "status": "pass",
      "duration_ms": 39,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 39,
      "read_warm_ms": 14,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/663_timestamp_merge_cdc",
      "num": 663,
      "name": "timestamp_merge_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/663_timestamp_merge_cdc.py",
      "read_script": "generator/df-reads-spark/663_timestamp_merge_cdc.sql",
      "description": "120 rows. Schema: id BIGINT, created_at TIMESTAMP, updated_at TIMESTAMP, value DOUBLE, status STRING. Steps: 1. INSERT 100 rows: created_at=base+i*1h, updated_at=created_at, value=round(((i*43)%500)/10.0,1) 2. MERGE from 120-row CTE:",
      "status": "pass",
      "duration_ms": 34,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 34,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/664_decimal_constraint_partition",
      "num": 664,
      "name": "decimal_constraint_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/664_decimal_constraint_partition.py",
      "read_script": "generator/df-reads-spark/664_decimal_constraint_partition.sql",
      "description": "105 rows. Schema: id BIGINT, region STRING, price DECIMAL(12,4), quantity INT, status STRING. Steps: 1. INSERT 120 rows: region=[US,EU,APAC][i%3], price=round(1.0+((i*73)%9999)/100.0,4), quantity=(i*7)%50+1, status=active 2. ADD CONSTRAINT price_pos (price>0)",
      "status": "pass",
      "duration_ms": 58,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 58,
      "read_warm_ms": 32,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/665_no_dv_colmap",
      "num": 665,
      "name": "no_dv_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/665_no_dv_colmap.py",
      "read_script": "generator/df-reads-spark/665_no_dv_colmap.sql",
      "description": "No Deletion Vectors + column mapping (name mode). enableDeletionVectors=false forces copy-on-write for DELETE/UPDATE. Column mapping=name tracks physical IDs.",
      "status": "pass",
      "duration_ms": 65,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 65,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/666_insert_overwrite_cdc_partition",
      "num": 666,
      "name": "insert_overwrite_cdc_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/666_insert_overwrite_cdc_partition.py",
      "read_script": "generator/df-reads-spark/666_insert_overwrite_cdc_partition.sql",
      "description": "INSERT OVERWRITE + CDC + partitioning. Partitioned table with CDC enabled. INSERT data, then INSERT OVERWRITE a single partition, then DML.",
      "status": "pass",
      "duration_ms": 84,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 84,
      "read_warm_ms": 26,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "dml:overwrite",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/667_not_null_constraint_evolve",
      "num": 667,
      "name": "not_null_constraint_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/667_not_null_constraint_evolve.py",
      "read_script": "generator/df-reads-spark/667_not_null_constraint_evolve.sql",
      "description": "NOT NULL constraint + CHECK constraint + schema evolution. Three-way combo.",
      "status": "pass",
      "duration_ms": 81,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 81,
      "read_warm_ms": 15,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/668_rename_cdc_merge",
      "num": 668,
      "name": "rename_cdc_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/668_rename_cdc_merge.py",
      "read_script": "generator/df-reads-spark/668_rename_cdc_merge.sql",
      "description": "RENAME COLUMN + CDC + MERGE. Column mapping=name with CDC enabled. INSERT 100 rows, RENAME a column, then MERGE 120 rows using the new column name.",
      "status": "pass",
      "duration_ms": 43,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 43,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:rename-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/669_drop_optimize",
      "num": 669,
      "name": "drop_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/669_drop_optimize.py",
      "read_script": "generator/df-reads-spark/669_drop_optimize.sql",
      "description": "DROP COLUMN + OPTIMIZE. Column mapping=name required for DROP. INSERT 200 rows in 4 batches, DROP a column, OPTIMIZE to compact, then DML.",
      "status": "pass",
      "duration_ms": 58,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 58,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "schema:drop-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/66_statistics_per_file_minmax",
      "num": 66,
      "name": "statistics_per_file_minmax",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/66_statistics_per_file_minmax.py",
      "read_script": "generator/df-reads-spark/66_statistics_per_file_minmax.sql",
      "description": "E-commerce analytics table demonstrating per-file statistics with min/max/null counts. 500 transaction records across various categories.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 538,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "storage:statistics",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/670_wide_mixed_types",
      "num": 670,
      "name": "wide_mixed_types",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/670_wide_mixed_types.py",
      "read_script": "generator/df-reads-spark/670_wide_mixed_types.sql",
      "description": "20 columns of mixed types + DML. Tests wide schema with diverse data types.",
      "status": "pass",
      "duration_ms": 77,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 77,
      "read_warm_ms": 15,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/671_thirty_batch_insert",
      "num": 671,
      "name": "thirty_batch_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/671_thirty_batch_insert.py",
      "read_script": "generator/df-reads-spark/671_thirty_batch_insert.sql",
      "description": "30 INSERT batches of 10 rows each (300 total) + DML. Tests extreme file fragmentation.",
      "status": "pass",
      "duration_ms": 298,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 298,
      "read_warm_ms": 40,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/672_merge_then_optimize",
      "num": 672,
      "name": "merge_then_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/672_merge_then_optimize.py",
      "read_script": "generator/df-reads-spark/672_merge_then_optimize.sql",
      "description": "MERGE then OPTIMIZE then DML. Tests that DML operations work correctly on data that has been through both MERGE and OPTIMIZE compaction.",
      "status": "pass",
      "duration_ms": 54,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 54,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/673_struct_partition_cdc",
      "num": 673,
      "name": "struct_partition_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/673_struct_partition_cdc.py",
      "read_script": "generator/df-reads-spark/673_struct_partition_cdc.sql",
      "description": "STRUCT + partition + CDC. Three-way combination. INSERT 90 rows with struct across 3 region partitions, CDC enabled.",
      "status": "pass",
      "duration_ms": 60,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 60,
      "read_warm_ms": 26,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/674_timestamp_colmap",
      "num": 674,
      "name": "timestamp_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/674_timestamp_colmap.py",
      "read_script": "generator/df-reads-spark/674_timestamp_colmap.sql",
      "description": "TIMESTAMP + column mapping (name mode). Tests that timestamp precision is preserved under column mapping.",
      "status": "pass",
      "duration_ms": 49,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 49,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/675_decimal_optimize",
      "num": 675,
      "name": "decimal_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/675_decimal_optimize.py",
      "read_script": "generator/df-reads-spark/675_decimal_optimize.sql",
      "description": "DECIMAL + OPTIMIZE. INSERT 200 rows in 4 batches with DECIMAL columns, OPTIMIZE to compact, then UPDATE and DELETE.",
      "status": "pass",
      "duration_ms": 47,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 47,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/676_not_null_partition_merge",
      "num": 676,
      "name": "not_null_partition_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/676_not_null_partition_merge.py",
      "read_script": "generator/df-reads-spark/676_not_null_partition_merge.sql",
      "description": "NOT NULL + partition + MERGE. Partitioned table with NOT NULL constraints, then MERGE.",
      "status": "pass",
      "duration_ms": 30,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 30,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/677_rename_partition_merge",
      "num": 677,
      "name": "rename_partition_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/677_rename_partition_merge.py",
      "read_script": "generator/df-reads-spark/677_rename_partition_merge.sql",
      "description": "RENAME COLUMN + partition + MERGE. Column mapping=name with partitioning. INSERT 120 rows, RENAME col_a to display, then MERGE 150 rows.",
      "status": "pass",
      "duration_ms": 57,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 57,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:rename-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/678_drop_cdc_merge",
      "num": 678,
      "name": "drop_cdc_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/678_drop_cdc_merge.py",
      "read_script": "generator/df-reads-spark/678_drop_cdc_merge.sql",
      "description": "DROP COLUMN + CDC + MERGE. Column mapping=name with CDC enabled. INSERT 100 rows, DROP a column, then MERGE 120 rows on the reduced schema.",
      "status": "pass",
      "duration_ms": 42,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 42,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:drop-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/679_insert_overwrite_constraint",
      "num": 679,
      "name": "insert_overwrite_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/679_insert_overwrite_constraint.py",
      "read_script": "generator/df-reads-spark/679_insert_overwrite_constraint.sql",
      "description": "INSERT OVERWRITE + CHECK constraint. INSERT initial rows, ADD CONSTRAINT, then INSERT OVERWRITE with all-valid data.",
      "status": "pass",
      "duration_ms": 56,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 56,
      "read_warm_ms": 18,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/67_partition_value_serialization_types",
      "num": 67,
      "name": "partition_value_serialization_types",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/67_partition_value_serialization_types.py",
      "read_script": "generator/df-reads-spark/67_partition_value_serialization_types.sql",
      "description": "Demonstrates partition value serialization for different data types (date, string, boolean, integer, null). 643 census records.",
      "status": "pass",
      "duration_ms": 125,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 125,
      "read_warm_ms": 76,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 1467,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/680_no_dv_partition_merge",
      "num": 680,
      "name": "no_dv_partition_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/680_no_dv_partition_merge.py",
      "read_script": "generator/df-reads-spark/680_no_dv_partition_merge.sql",
      "description": "No Deletion Vectors + partition + MERGE. enableDeletionVectors=false forces copy-on-write for all DML. Partitioned table with MERGE.",
      "status": "pass",
      "duration_ms": 34,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 34,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/681_struct_rename",
      "num": 681,
      "name": "struct_rename",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/681_struct_rename.py",
      "read_script": "generator/df-reads-spark/681_struct_rename.sql",
      "description": "STRUCT column + RENAME non-struct column with column mapping.",
      "status": "pass",
      "duration_ms": 90,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 90,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:rename-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/682_struct_drop",
      "num": 682,
      "name": "struct_drop",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/682_struct_drop.py",
      "read_script": "generator/df-reads-spark/682_struct_drop.sql",
      "description": "STRUCT column + DROP non-struct column with column mapping.",
      "status": "pass",
      "duration_ms": 68,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 68,
      "read_warm_ms": 19,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:drop-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/683_timestamp_optimize",
      "num": 683,
      "name": "timestamp_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/683_timestamp_optimize.py",
      "read_script": "generator/df-reads-spark/683_timestamp_optimize.sql",
      "description": "TIMESTAMP column + OPTIMIZE. INSERT 200 rows in 4 batches with timestamp values, OPTIMIZE to compact, then DML.",
      "status": "pass",
      "duration_ms": 77,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 77,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/684_decimal_rename",
      "num": 684,
      "name": "decimal_rename",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/684_decimal_rename.py",
      "read_script": "generator/df-reads-spark/684_decimal_rename.sql",
      "description": "DECIMAL column + RENAME with column mapping. Verifies that DECIMAL precision is preserved after renaming a DECIMAL column.",
      "status": "pass",
      "duration_ms": 41,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 41,
      "read_warm_ms": 18,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:rename-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/685_not_null_optimize",
      "num": 685,
      "name": "not_null_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/685_not_null_optimize.py",
      "read_script": "generator/df-reads-spark/685_not_null_optimize.sql",
      "description": "NOT NULL constraints + OPTIMIZE. INSERT 200 rows in 4 batches, OPTIMIZE to compact, then DELETE.",
      "status": "pass",
      "duration_ms": 81,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 81,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/686_insert_overwrite_optimize",
      "num": 686,
      "name": "insert_overwrite_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/686_insert_overwrite_optimize.py",
      "read_script": "generator/df-reads-spark/686_insert_overwrite_optimize.sql",
      "description": "INSERT OVERWRITE + OPTIMIZE. Partitioned table with INSERT OVERWRITE followed by OPTIMIZE compaction, then UPDATE and DELETE.",
      "status": "pass",
      "duration_ms": 75,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 75,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/687_rename_evolve",
      "num": 687,
      "name": "rename_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/687_rename_evolve.py",
      "read_script": "generator/df-reads-spark/687_rename_evolve.sql",
      "description": "RENAME COLUMN + ADD COLUMN (schema evolution) with column mapping.",
      "status": "pass",
      "duration_ms": 68,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 68,
      "read_warm_ms": 19,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "schema:rename-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/688_drop_evolve",
      "num": 688,
      "name": "drop_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/688_drop_evolve.py",
      "read_script": "generator/df-reads-spark/688_drop_evolve.sql",
      "description": "DROP COLUMN + ADD COLUMN (schema evolution) with column mapping.",
      "status": "pass",
      "duration_ms": 82,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 82,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "schema:drop-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/689_struct_decimal_mix",
      "num": 689,
      "name": "struct_decimal_mix",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/689_struct_decimal_mix.py",
      "read_script": "generator/df-reads-spark/689_struct_decimal_mix.sql",
      "description": "STRUCT + DECIMAL in same table. Verifies both complex nested types and high-precision numeric types coexist correctly.",
      "status": "pass",
      "duration_ms": 47,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 47,
      "read_warm_ms": 10,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/68_feature_names_registry_validation",
      "num": 68,
      "name": "feature_names_registry_validation",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/68_feature_names_registry_validation.py",
      "read_script": "generator/df-reads-spark/68_feature_names_registry_validation.sql",
      "description": "Clinical trial management table demonstrating multiple Delta Lake features: CDC, column mapping, check constraints. 502 patient records (500 + 2 new). All updates applied inline for final state.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 1073,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/690_timestamp_decimal_mix",
      "num": 690,
      "name": "timestamp_decimal_mix",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/690_timestamp_decimal_mix.py",
      "read_script": "generator/df-reads-spark/690_timestamp_decimal_mix.sql",
      "description": "TIMESTAMP + DECIMAL in same table. Verifies timestamp precision and decimal precision coexist.",
      "status": "pass",
      "duration_ms": 41,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 41,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/691_five_col_partition",
      "num": 691,
      "name": "five_col_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/691_five_col_partition.py",
      "read_script": "generator/df-reads-spark/691_five_col_partition.sql",
      "description": "Multi-column partition with 3 partition columns (region, year, quarter). 120 rows across 24 partition combinations + DML.",
      "status": "pass",
      "duration_ms": 83,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 83,
      "read_warm_ms": 38,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/692_merge_chain_three",
      "num": 692,
      "name": "merge_chain_three",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/692_merge_chain_three.py",
      "read_script": "generator/df-reads-spark/692_merge_chain_three.sql",
      "description": "Three sequential MERGE operations. Tests MERGE-MERGE-MERGE chain.",
      "status": "pass",
      "duration_ms": 45,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 45,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/693_optimize_chain",
      "num": 693,
      "name": "optimize_chain",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/693_optimize_chain.py",
      "read_script": "generator/df-reads-spark/693_optimize_chain.sql",
      "description": "Three sequential OPTIMIZEs with DML between each.",
      "status": "pass",
      "duration_ms": 89,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 89,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/694_cdc_no_dv_merge",
      "num": 694,
      "name": "cdc_no_dv_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/694_cdc_no_dv_merge.py",
      "read_script": "generator/df-reads-spark/694_cdc_no_dv_merge.sql",
      "description": "CDC + no Deletion Vectors + MERGE. Copy-on-write mode with CDC.",
      "status": "pass",
      "duration_ms": 27,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 27,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/695_struct_cdc_partition",
      "num": 695,
      "name": "struct_cdc_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/695_struct_cdc_partition.py",
      "read_script": "generator/df-reads-spark/695_struct_cdc_partition.sql",
      "description": "STRUCT + CDC + partition. Three-way combination with struct columns.",
      "status": "pass",
      "duration_ms": 79,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 79,
      "read_warm_ms": 23,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/696_decimal_not_null",
      "num": 696,
      "name": "decimal_not_null",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/696_decimal_not_null.py",
      "read_script": "generator/df-reads-spark/696_decimal_not_null.sql",
      "description": "DECIMAL + NOT NULL constraints. DECIMAL columns with NOT NULL constraints.",
      "status": "pass",
      "duration_ms": 52,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 52,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/697_timestamp_not_null",
      "num": 697,
      "name": "timestamp_not_null",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/697_timestamp_not_null.py",
      "read_script": "generator/df-reads-spark/697_timestamp_not_null.sql",
      "description": "TIMESTAMP + NOT NULL constraints. TIMESTAMP columns with NOT NULL.",
      "status": "pass",
      "duration_ms": 66,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 66,
      "read_warm_ms": 19,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/698_colmap_no_dv_evolve",
      "num": 698,
      "name": "colmap_no_dv_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/698_colmap_no_dv_evolve.py",
      "read_script": "generator/df-reads-spark/698_colmap_no_dv_evolve.sql",
      "description": "Column mapping + no Deletion Vectors + schema evolution. Three-way combo.",
      "status": "pass",
      "duration_ms": 61,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 61,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/699_partition_merge_delete_update",
      "num": 699,
      "name": "partition_merge_delete_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/699_partition_merge_delete_update.py",
      "read_script": "generator/df-reads-spark/699_partition_merge_delete_update.sql",
      "description": "All four operation types on a partitioned table.",
      "status": "pass",
      "duration_ms": 67,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 67,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/69_checkpoint_schema_full_spec",
      "num": 69,
      "name": "checkpoint_schema_full_spec",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/69_checkpoint_schema_full_spec.py",
      "read_script": "generator/df-reads-spark/69_checkpoint_schema_full_spec.sql",
      "description": "Educational platform LMS data with array columns, partitioned by academic_term/department. All operations applied inline to produce the final state. ~2660 + 100 new enrollments.",
      "status": "pass",
      "duration_ms": 23,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 23,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 1753,
      "tags": [
        "type:array",
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/700_grand_finale",
      "num": 700,
      "name": "grand_finale",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/700_grand_finale.py",
      "read_script": "generator/df-reads-spark/700_grand_finale.sql",
      "description": "DV + CDC + column mapping + partitioning + CHECK constraint + schema evolution (ADD COLUMN) + OPTIMIZE + MERGE + DELETE + UPDATE + RENAME COLUMN.",
      "status": "pass",
      "duration_ms": 49,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 49,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "schema:add-column",
        "schema:rename-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/701_update_partition_key",
      "num": 701,
      "name": "update_partition_key",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/701_update_partition_key.py",
      "read_script": "generator/df-reads-spark/701_update_partition_key.sql",
      "description": "UPDATE that changes the partition column value, moving rows between partitions.",
      "status": "pass",
      "duration_ms": 59,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 59,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/702_merge_composite_key",
      "num": 702,
      "name": "merge_composite_key",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/702_merge_composite_key.py",
      "read_script": "generator/df-reads-spark/702_merge_composite_key.sql",
      "description": "MERGE on a composite key (region, product_id).",
      "status": "pass",
      "duration_ms": 27,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 27,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/703_merge_scd_type2",
      "num": 703,
      "name": "merge_scd_type2",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/703_merge_scd_type2.py",
      "read_script": "generator/df-reads-spark/703_merge_scd_type2.sql",
      "description": "effective_from BIGINT, effective_to BIGINT, is_current BOOLEAN",
      "status": "pass",
      "duration_ms": 73,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 73,
      "read_warm_ms": 23,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/704_upsert_heavy",
      "num": 704,
      "name": "upsert_heavy",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/704_upsert_heavy.py",
      "read_script": "generator/df-reads-spark/704_upsert_heavy.sql",
      "description": "5 sequential MERGEs simulating incremental ETL loads.",
      "status": "pass",
      "duration_ms": 56,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 56,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/705_append_compact_cycle",
      "num": 705,
      "name": "append_compact_cycle",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/705_append_compact_cycle.py",
      "read_script": "generator/df-reads-spark/705_append_compact_cycle.sql",
      "description": "Many small INSERTs followed by OPTIMIZE, then more INSERTs and OPTIMIZE.",
      "status": "pass",
      "duration_ms": 129,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 129,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/706_late_arriving_data",
      "num": 706,
      "name": "late_arriving_data",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/706_late_arriving_data.py",
      "read_script": "generator/df-reads-spark/706_late_arriving_data.sql",
      "description": "INSERTs into older partitions after newer data exists, then UPDATE correction.",
      "status": "pass",
      "duration_ms": 85,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 85,
      "read_warm_ms": 28,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/707_bulk_delete_reinsert",
      "num": 707,
      "name": "bulk_delete_reinsert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/707_bulk_delete_reinsert.py",
      "read_script": "generator/df-reads-spark/707_bulk_delete_reinsert.sql",
      "description": "Bulk delete of incorrect data followed by re-insert of corrected data.",
      "status": "pass",
      "duration_ms": 61,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 61,
      "read_warm_ms": 23,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/708_skewed_partition",
      "num": 708,
      "name": "skewed_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/708_skewed_partition.py",
      "read_script": "generator/df-reads-spark/708_skewed_partition.sql",
      "description": "Heavily skewed partition distribution: 95% of data in one partition, 5% in others. Tests partition pruning efficiency and DML operations on unbalanced data. Production pattern: most events are \"default\" category with rare exceptions. Engine must handle tiny-partition UPDATE and...",
      "status": "pass",
      "duration_ms": 74,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 74,
      "read_warm_ms": 18,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/709_sparse_columns",
      "num": 709,
      "name": "sparse_columns",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/709_sparse_columns.py",
      "read_script": "generator/df-reads-spark/709_sparse_columns.sql",
      "description": "Wide table with mostly NULL columns. UPDATE backfills some NULLs, DELETE removes fully-sparse rows.",
      "status": "pass",
      "duration_ms": 67,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 67,
      "read_warm_ms": 21,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:null-handling",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/70_last_checkpoint_schema_checksum",
      "num": 70,
      "name": "last_checkpoint_schema_checksum",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/70_last_checkpoint_schema_checksum.py",
      "read_script": "generator/df-reads-spark/70_last_checkpoint_schema_checksum.sql",
      "description": "Financial high-frequency trading transactions. 3000 rows with complex DELETEs and UPDATEs.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 1140,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/710_all_null_columns_dml",
      "num": 710,
      "name": "all_null_columns_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/710_all_null_columns_dml.py",
      "read_script": "generator/df-reads-spark/710_all_null_columns_dml.sql",
      "description": "Columns start as all-NULL then get backfilled via UPDATE.",
      "status": "pass",
      "duration_ms": 42,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 42,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:null-handling",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/711_single_column_table",
      "num": 711,
      "name": "single_column_table",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/711_single_column_table.py",
      "read_script": "generator/df-reads-spark/711_single_column_table.sql",
      "description": "Minimal table with only an id column.",
      "status": "pass",
      "duration_ms": 46,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 46,
      "read_warm_ms": 14,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/712_all_same_values",
      "num": 712,
      "name": "all_same_values",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/712_all_same_values.py",
      "read_script": "generator/df-reads-spark/712_all_same_values.sql",
      "description": "Every row has identical non-id values. DELETE and UPDATE break the invariant.",
      "status": "pass",
      "duration_ms": 39,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 39,
      "read_warm_ms": 15,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/713_negative_values",
      "num": 713,
      "name": "negative_values",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/713_negative_values.py",
      "read_script": "generator/df-reads-spark/713_negative_values.sql",
      "description": "All numeric values are negative. Tests sign handling and Parquet statistics.",
      "status": "pass",
      "duration_ms": 74,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 74,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/714_zero_values",
      "num": 714,
      "name": "zero_values",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/714_zero_values.py",
      "read_script": "generator/df-reads-spark/714_zero_values.sql",
      "description": "All numeric values start as zero, then DML populates some.",
      "status": "pass",
      "duration_ms": 57,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 57,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/715_update_same_value",
      "num": 715,
      "name": "update_same_value",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/715_update_same_value.py",
      "read_script": "generator/df-reads-spark/715_update_same_value.sql",
      "description": "UPDATE SET col=col (no actual value change). Tests no-op update handling.",
      "status": "pass",
      "duration_ms": 72,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 72,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/716_merge_all_delete",
      "num": 716,
      "name": "merge_all_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/716_merge_all_delete.py",
      "read_script": "generator/df-reads-spark/716_merge_all_delete.sql",
      "description": "MERGE where every matched row is deleted. Then INSERT new rows.",
      "status": "pass",
      "duration_ms": 56,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 56,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/717_merge_source_duplicates",
      "num": 717,
      "name": "merge_source_duplicates",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/717_merge_source_duplicates.py",
      "read_script": "generator/df-reads-spark/717_merge_source_duplicates.sql",
      "description": "MERGE from deduplicated GROUP BY source (raw has duplicates).",
      "status": "pass",
      "duration_ms": 34,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 34,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/718_incremental_schema_migration",
      "num": 718,
      "name": "incremental_schema_migration",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/718_incremental_schema_migration.py",
      "read_script": "generator/df-reads-spark/718_incremental_schema_migration.sql",
      "description": "4 schema versions via ADD COLUMN, inserts per schema version, then UPDATE backfill.",
      "status": "pass",
      "duration_ms": 107,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 107,
      "read_warm_ms": 48,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/719_delete_to_empty_then_evolve",
      "num": 719,
      "name": "delete_to_empty_then_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/719_delete_to_empty_then_evolve.py",
      "read_script": "generator/df-reads-spark/719_delete_to_empty_then_evolve.sql",
      "description": "DELETE all rows, ADD COLUMN, then INSERT new data.",
      "status": "pass",
      "duration_ms": 60,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 60,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/71_parquet_type_mappings_complete",
      "num": 71,
      "name": "parquet_type_mappings_complete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/71_parquet_type_mappings_complete.py",
      "read_script": "generator/df-reads-spark/71_parquet_type_mappings_complete.sql",
      "description": "Healthcare EMR table demonstrating ALL Parquet type mappings: BINARY, MAP, nested STRUCT, ARRAY, DECIMAL, TIMESTAMP, DATE, BOOLEAN, FLOAT, DOUBLE.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 552,
      "tags": [
        "type:array",
        "type:binary",
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:map",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "scale:nested-types",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/720_concurrent_style_dml",
      "num": 720,
      "name": "concurrent_style_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/720_concurrent_style_dml.py",
      "read_script": "generator/df-reads-spark/720_concurrent_style_dml.sql",
      "description": "Alternating INSERT and UPDATE on overlapping ranges simulating concurrent writers.",
      "status": "pass",
      "duration_ms": 114,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 114,
      "read_warm_ms": 28,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "robust:concurrent-writes",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/721_long_string_values",
      "num": 721,
      "name": "long_string_values",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/721_long_string_values.py",
      "read_script": "generator/df-reads-spark/721_long_string_values.sql",
      "description": "Very long string values (~200+ chars). Tests Parquet page handling.",
      "status": "pass",
      "duration_ms": 59,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 59,
      "read_warm_ms": 15,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/722_empty_string_partition_dml",
      "num": 722,
      "name": "empty_string_partition_dml",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/722_empty_string_partition_dml.py",
      "read_script": "generator/df-reads-spark/722_empty_string_partition_dml.sql",
      "description": "Empty string '' as a partition value combined with DML operations.",
      "status": "pass",
      "duration_ms": 43,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 43,
      "read_warm_ms": 18,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/723_null_in_all_predicates",
      "num": 723,
      "name": "null_in_all_predicates",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/723_null_in_all_predicates.py",
      "read_script": "generator/df-reads-spark/723_null_in_all_predicates.sql",
      "description": "DML operations using IS NULL and IS NOT NULL in every predicate.",
      "status": "pass",
      "duration_ms": 105,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 105,
      "read_warm_ms": 24,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/724_update_to_null",
      "num": 724,
      "name": "update_to_null",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/724_update_to_null.py",
      "read_script": "generator/df-reads-spark/724_update_to_null.sql",
      "description": "UPDATE that introduces NULLs into previously non-NULL columns.",
      "status": "pass",
      "duration_ms": 51,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 51,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/725_delete_leaves_one_row",
      "num": 725,
      "name": "delete_leaves_one_row",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/725_delete_leaves_one_row.py",
      "read_script": "generator/df-reads-spark/725_delete_leaves_one_row.sql",
      "description": "DELETE that leaves exactly 1 row in the table.",
      "status": "pass",
      "duration_ms": 23,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 23,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/726_delete_leaves_zero_rows",
      "num": 726,
      "name": "delete_leaves_zero_rows",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/726_delete_leaves_zero_rows.py",
      "read_script": "generator/df-reads-spark/726_delete_leaves_zero_rows.sql",
      "description": "DELETE all rows, leaving a completely empty table.",
      "status": "pass",
      "duration_ms": 24,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 24,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/727_merge_doubles_table",
      "num": 727,
      "name": "merge_doubles_table",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/727_merge_doubles_table.py",
      "read_script": "generator/df-reads-spark/727_merge_doubles_table.sql",
      "description": "MERGE where all source rows are NOT MATCHED (pure insert path).",
      "status": "pass",
      "duration_ms": 39,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 39,
      "read_warm_ms": 15,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/728_merge_halves_table",
      "num": 728,
      "name": "merge_halves_table",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/728_merge_halves_table.py",
      "read_script": "generator/df-reads-spark/728_merge_halves_table.sql",
      "description": "MERGE with conditional DELETE (even ids) and UPDATE (odd ids).",
      "status": "pass",
      "duration_ms": 43,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 43,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/729_update_swap_columns",
      "num": 729,
      "name": "update_swap_columns",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/729_update_swap_columns.py",
      "read_script": "generator/df-reads-spark/729_update_swap_columns.sql",
      "description": "UPDATE SET a=b, b=a column swap (tests SQL pre-update snapshot semantics).",
      "status": "pass",
      "duration_ms": 49,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 49,
      "read_warm_ms": 15,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/72_schema_serialization_complete_example",
      "num": 72,
      "name": "schema_serialization_complete_example",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/72_schema_serialization_complete_example.py",
      "read_script": "generator/df-reads-spark/72_schema_serialization_complete_example.sql",
      "description": "IoT sensor network with STRUCT, ARRAY, MAP types (Delta protocol schema example).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 505,
      "tags": [
        "type:array",
        "type:integer",
        "type:map",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/730_timestamp_epoch_boundary",
      "num": 730,
      "name": "timestamp_epoch_boundary",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/730_timestamp_epoch_boundary.py",
      "read_script": "generator/df-reads-spark/730_timestamp_epoch_boundary.sql",
      "description": "Timestamps at epoch, near 2038 boundary, and far future.",
      "status": "pass",
      "duration_ms": 65,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 65,
      "read_warm_ms": 19,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/731_decimal_max_precision",
      "num": 731,
      "name": "decimal_max_precision",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/731_decimal_max_precision.py",
      "read_script": "generator/df-reads-spark/731_decimal_max_precision.sql",
      "description": "DECIMAL(38,0) and DECIMAL(38,18) at maximum precision limits.",
      "status": "pass",
      "duration_ms": 31,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 31,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:decimal",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/732_partition_many_values",
      "num": 732,
      "name": "partition_many_values",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/732_partition_many_values.py",
      "read_script": "generator/df-reads-spark/732_partition_many_values.sql",
      "description": "50 distinct partition values (high-cardinality partitioning), then DELETE 5 buckets.",
      "status": "pass",
      "duration_ms": 222,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 222,
      "read_warm_ms": 106,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/733_many_small_deletes",
      "num": 733,
      "name": "many_small_deletes",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/733_many_small_deletes.py",
      "read_script": "generator/df-reads-spark/733_many_small_deletes.sql",
      "description": "20 sequential single-row DELETEs. Tests deletion vector accumulation.",
      "status": "pass",
      "duration_ms": 184,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 184,
      "read_warm_ms": 18,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/734_many_small_updates",
      "num": 734,
      "name": "many_small_updates",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/734_many_small_updates.py",
      "read_script": "generator/df-reads-spark/734_many_small_updates.sql",
      "description": "20 sequential single-row UPDATEs. Tests DV accumulation from update operations.",
      "status": "pass",
      "duration_ms": 193,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 193,
      "read_warm_ms": 24,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/735_merge_then_merge_then_delete",
      "num": 735,
      "name": "merge_then_merge_then_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/735_merge_then_merge_then_delete.py",
      "read_script": "generator/df-reads-spark/735_merge_then_merge_then_delete.sql",
      "description": "Production ETL pattern: initial load, two reconciliation MERGEs, then a cleanup DELETE. Tests multi-step DML pipelines where MERGE operations stack on top of each other and a final DELETE prunes obsolete records. This is the standard load-reconcile-cleanup cycle.",
      "status": "pass",
      "duration_ms": 46,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 46,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/736_backfill_pattern",
      "num": 736,
      "name": "backfill_pattern",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/736_backfill_pattern.py",
      "read_script": "generator/df-reads-spark/736_backfill_pattern.sql",
      "description": "Current data inserted first, then backfill inserted, then normalized via MERGE.",
      "status": "pass",
      "duration_ms": 44,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 44,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/737_dedup_after_insert",
      "num": 737,
      "name": "dedup_after_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/737_dedup_after_insert.py",
      "read_script": "generator/df-reads-spark/737_dedup_after_insert.sql",
      "description": "INSERT creates duplicates, then DELETE removes older generation.",
      "status": "pass",
      "duration_ms": 60,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 60,
      "read_warm_ms": 18,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/738_partition_rebalance",
      "num": 738,
      "name": "partition_rebalance",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/738_partition_rebalance.py",
      "read_script": "generator/df-reads-spark/738_partition_rebalance.sql",
      "description": "Move data between partitions via UPDATE. Tests cross-partition row movement.",
      "status": "pass",
      "duration_ms": 50,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 50,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/739_cdc_production_etl",
      "num": 739,
      "name": "cdc_production_etl",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/739_cdc_production_etl.py",
      "read_script": "generator/df-reads-spark/739_cdc_production_etl.sql",
      "description": "CDC-enabled table through a realistic ETL cycle: load, transform, cleanup, late-arriving data.",
      "status": "pass",
      "duration_ms": 97,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 97,
      "read_warm_ms": 22,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/73_schema_serialization_complete_example_v2",
      "num": 73,
      "name": "schema_serialization_complete_example_v2",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/73_schema_serialization_complete_example_v2.py",
      "read_script": "generator/df-reads-spark/73_schema_serialization_complete_example_v2.sql",
      "description": "Simplified 2-row version of the IoT sensor schema example (STRUCT, ARRAY, MAP).",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 483,
      "tags": [
        "type:array",
        "type:integer",
        "type:map",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/740_evolve_production_migration",
      "num": 740,
      "name": "evolve_production_migration",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/740_evolve_production_migration.py",
      "read_script": "generator/df-reads-spark/740_evolve_production_migration.sql",
      "description": "Schema migration pattern: add columns, backfill them, then continue normal DML. Tests schema evolution through ALTER TABLE ADD COLUMN followed by UPDATE to backfill existing rows. This is the standard production migration where new columns are added and populated retroactively.",
      "status": "pass",
      "duration_ms": 104,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 104,
      "read_warm_ms": 30,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/741_merge_not_matched_by_source_delete",
      "num": 741,
      "name": "merge_not_matched_by_source_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/741_merge_not_matched_by_source_delete.py",
      "read_script": "generator/df-reads-spark/741_merge_not_matched_by_source_delete.sql",
      "description": "MERGE with WHEN NOT MATCHED BY SOURCE THEN DELETE.",
      "status": "pass",
      "duration_ms": 40,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 40,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/742_merge_not_matched_by_source_update",
      "num": 742,
      "name": "merge_not_matched_by_source_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/742_merge_not_matched_by_source_update.py",
      "read_script": "generator/df-reads-spark/742_merge_not_matched_by_source_update.sql",
      "description": "MERGE with WHEN NOT MATCHED BY SOURCE THEN UPDATE SET status='orphaned'.",
      "status": "pass",
      "duration_ms": 68,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 68,
      "read_warm_ms": 18,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/743_merge_all_four_clauses",
      "num": 743,
      "name": "merge_all_four_clauses",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/743_merge_all_four_clauses.py",
      "read_script": "generator/df-reads-spark/743_merge_all_four_clauses.sql",
      "description": "and NOT MATCHED BY SOURCE DELETE.",
      "status": "pass",
      "duration_ms": 30,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 30,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/744_merge_not_matched_by_source_conditional",
      "num": 744,
      "name": "merge_not_matched_by_source_conditional",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/744_merge_not_matched_by_source_conditional.py",
      "read_script": "generator/df-reads-spark/744_merge_not_matched_by_source_conditional.sql",
      "description": "MERGE with conditional WHEN NOT MATCHED BY SOURCE: delete low-score orphans, deactivate high-score orphans.",
      "status": "pass",
      "duration_ms": 40,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 40,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/745_merge_nmbys_partition",
      "num": 745,
      "name": "merge_nmbys_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/745_merge_nmbys_partition.py",
      "read_script": "generator/df-reads-spark/745_merge_nmbys_partition.sql",
      "description": "NOT MATCHED BY SOURCE DELETE on a partitioned table.",
      "status": "pass",
      "duration_ms": 37,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 37,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/746_merge_nmbys_cdc",
      "num": 746,
      "name": "merge_nmbys_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/746_merge_nmbys_cdc.py",
      "read_script": "generator/df-reads-spark/746_merge_nmbys_cdc.sql",
      "description": "NOT MATCHED BY SOURCE + CDC enabled. Final: 60 rows.",
      "status": "pass",
      "duration_ms": 51,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 51,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/747_constraint_violation_insert",
      "num": 747,
      "name": "constraint_violation_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/747_constraint_violation_insert.py",
      "read_script": "generator/df-reads-spark/747_constraint_violation_insert.sql",
      "description": "ADD CONSTRAINT, insert valid data, DROP CONSTRAINT, insert violating data.",
      "status": "pass",
      "duration_ms": 83,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 83,
      "read_warm_ms": 19,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/748_constraint_violation_update",
      "num": 748,
      "name": "constraint_violation_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/748_constraint_violation_update.py",
      "read_script": "generator/df-reads-spark/748_constraint_violation_update.sql",
      "description": "ADD CONSTRAINT, UPDATE valid data, DROP CONSTRAINT, UPDATE to violating values.",
      "status": "pass",
      "duration_ms": 77,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 77,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/749_constraint_violation_merge",
      "num": 749,
      "name": "constraint_violation_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/749_constraint_violation_merge.py",
      "read_script": "generator/df-reads-spark/749_constraint_violation_merge.sql",
      "description": "ADD CONSTRAINT, MERGE valid data, DROP CONSTRAINT, MERGE violating data.",
      "status": "pass",
      "duration_ms": 89,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T13:29:06.716198+00:00",
      "read_cold_ms": 89,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/74_type_widening_safe_column_promotion",
      "num": 74,
      "name": "type_widening_safe_column_promotion",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/74_type_widening_safe_column_promotion.py",
      "read_script": "generator/df-reads-spark/74_type_widening_safe_column_promotion.sql",
      "description": "E-commerce product catalog with 2000 initial + 1000 luxury products. Uses enableTypeWidening. Final: 3000 rows.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 1013,
      "tags": [
        "type:boolean",
        "type:date",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "schema:type-widening",
        "scale:large-dataset",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/750_rename_multiple_columns",
      "num": 750,
      "name": "rename_multiple_columns",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/750_rename_multiple_columns.py",
      "read_script": "generator/df-reads-spark/750_rename_multiple_columns.sql",
      "description": "Rename 3 columns in sequence with column mapping, then UPDATE and DELETE.",
      "status": "pass",
      "duration_ms": 109,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 109,
      "read_warm_ms": 27,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:rename-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/751_drop_multiple_columns",
      "num": 751,
      "name": "drop_multiple_columns",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/751_drop_multiple_columns.py",
      "read_script": "generator/df-reads-spark/751_drop_multiple_columns.sql",
      "description": "Drop 2 columns in sequence with column mapping, then UPDATE and DELETE.",
      "status": "pass",
      "duration_ms": 90,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 90,
      "read_warm_ms": 18,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:drop-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/752_rename_then_drop",
      "num": 752,
      "name": "rename_then_drop",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/752_rename_then_drop.py",
      "read_script": "generator/df-reads-spark/752_rename_then_drop.sql",
      "description": "RENAME one column then DROP another, then UPDATE and MERGE.",
      "status": "pass",
      "duration_ms": 71,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 71,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:drop-column",
        "schema:rename-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/753_drop_then_rename",
      "num": 753,
      "name": "drop_then_rename",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/753_drop_then_rename.py",
      "read_script": "generator/df-reads-spark/753_drop_then_rename.sql",
      "description": "DROP a column then RENAME another (reverse order from 752), then UPDATE and DELETE.",
      "status": "pass",
      "duration_ms": 71,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 71,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:drop-column",
        "schema:rename-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/754_rename_drop_add",
      "num": 754,
      "name": "rename_drop_add",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/754_rename_drop_add.py",
      "read_script": "generator/df-reads-spark/754_rename_drop_add.sql",
      "description": "RENAME + DROP + ADD COLUMN in sequence. Tests the full column mutation lifecycle: rename an existing column, drop another, then add a new one.",
      "status": "pass",
      "duration_ms": 70,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 70,
      "read_warm_ms": 14,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "schema:drop-column",
        "schema:rename-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/755_cdc_exact_counts",
      "num": 755,
      "name": "cdc_exact_counts",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/755_cdc_exact_counts.py",
      "read_script": "generator/df-reads-spark/755_cdc_exact_counts.sql",
      "description": "CDC test for exact CDF counts per change type. Steps: 1. INSERT 50 rows (id 1-50) 2. INSERT 30 rows (id 51-80) 3. UPDATE status='processed', value=value+100 WHERE id<=20 4. DELETE WHERE id>70",
      "status": "pass",
      "duration_ms": 30,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 30,
      "read_warm_ms": 14,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/756_cdc_merge_exact_counts",
      "num": 756,
      "name": "cdc_merge_exact_counts",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/756_cdc_merge_exact_counts.py",
      "read_script": "generator/df-reads-spark/756_cdc_merge_exact_counts.sql",
      "description": "CDC + MERGE with exact CDF counts. Steps: 1. INSERT 50 rows (id 1-50, tag='initial') 2. MERGE from CTE (id 21-80): MATCHED UPDATE tag='merged'; NOT MATCHED INSERT tag='new",
      "status": "pass",
      "duration_ms": 31,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 31,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/757_cdc_nmbys_exact_counts",
      "num": 757,
      "name": "cdc_nmbys_exact_counts",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/757_cdc_nmbys_exact_counts.py",
      "read_script": "generator/df-reads-spark/757_cdc_nmbys_exact_counts.sql",
      "description": "CDC + NM-BY-SOURCE DELETE with exact CDF counts. Steps: 1. INSERT 80 rows (id 1-80) 2. MERGE from CTE (id 1-50): MATCHED UPDATE status='synced'; NOT MATCHED BY SOURCE DELETE (removes id 51-80)",
      "status": "pass",
      "duration_ms": 33,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 33,
      "read_warm_ms": 18,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/758_colmap_rename_merge_cdc",
      "num": 758,
      "name": "colmap_rename_merge_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/758_colmap_rename_merge_cdc.py",
      "read_script": "generator/df-reads-spark/758_colmap_rename_merge_cdc.sql",
      "description": "Column mapping + rename column + MERGE + CDC. Steps: 1. INSERT 100 rows 2. RENAME COLUMN old_col TO display 3. MERGE from CTE (id 1-120): MATCHED UPDATE display; NOT MATCHED INSERT",
      "status": "pass",
      "duration_ms": 38,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 38,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:rename-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/759_colmap_drop_evolve_merge",
      "num": 759,
      "name": "colmap_drop_evolve_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/759_colmap_drop_evolve_merge.py",
      "read_script": "generator/df-reads-spark/759_colmap_drop_evolve_merge.sql",
      "description": "Column mapping + drop column + schema evolution + MERGE. Steps: 1. INSERT 100 rows 2. DROP COLUMN temp 3. ADD COLUMN extra STRING 4. MERGE from CTE (id 1-120): MATCHED UPDATE extra='m'; NOT MATCHED INSERT extra='n",
      "status": "pass",
      "duration_ms": 46,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 46,
      "read_warm_ms": 19,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "schema:drop-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/75_coordinated_commits_managed_transactions",
      "num": 75,
      "name": "coordinated_commits_managed_transactions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/75_coordinated_commits_managed_transactions.py",
      "read_script": "generator/df-reads-spark/75_coordinated_commits_managed_transactions.sql",
      "description": "Coordinated commits via external commit coordinator. transaction_type STRING, amount DECIMAL(18,2), currency STRING, amount_usd DECIMAL(18,2), counterparty_account STRING (nullable), counterparty_region STRING (nullable), transaction_timestamp TIMESTAMP,",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 632,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/760_merge_nmbys_evolve_cdc",
      "num": 760,
      "name": "merge_nmbys_evolve_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/760_merge_nmbys_evolve_cdc.py",
      "read_script": "generator/df-reads-spark/760_merge_nmbys_evolve_cdc.sql",
      "description": "NM-BY-SOURCE + schema evolution + CDC. Steps: 1. INSERT 100 rows 2. ADD COLUMN flag BOOLEAN 3. MERGE from CTE (id 1-70): MATCHED UPDATE flag=true; NOT MATCHED BY SOURCE UPDATE flag=false",
      "status": "pass",
      "duration_ms": 38,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 38,
      "read_warm_ms": 19,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/761_merge_nmbys_update_delete",
      "num": 761,
      "name": "merge_nmbys_update_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/761_merge_nmbys_update_delete.py",
      "read_script": "generator/df-reads-spark/761_merge_nmbys_update_delete.sql",
      "description": "NM-BY-SOURCE with conditional UPDATE or DELETE. Steps: 1. INSERT 100 rows (score=(i*53)%100, status='active') 2. MERGE from CTE (id 1-60): MATCHED UPDATE status='synced'; NM-BY-SOURCE AND score>=50 -> UPDATE status='archived'; NM-BY-SOURCE AND score<50 -> DELETE",
      "status": "pass",
      "duration_ms": 45,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 45,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/762_merge_nmbys_colmap",
      "num": 762,
      "name": "merge_nmbys_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/762_merge_nmbys_colmap.py",
      "read_script": "generator/df-reads-spark/762_merge_nmbys_colmap.sql",
      "description": "NM-BY-SOURCE DELETE with column mapping enabled. Steps: 1. INSERT 100 rows 2. MERGE from CTE (id 1-60): MATCHED UPDATE status='synced'; NOT MATCHED BY SOURCE DELETE (removes id 61-100)",
      "status": "pass",
      "duration_ms": 45,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 45,
      "read_warm_ms": 14,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/763_merge_nmbys_constraint",
      "num": 763,
      "name": "merge_nmbys_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/763_merge_nmbys_constraint.py",
      "read_script": "generator/df-reads-spark/763_merge_nmbys_constraint.sql",
      "description": "NM-BY-SOURCE + CHECK constraint. Tests that the WHEN NOT MATCHED BY SOURCE UPDATE clause respects active CHECK constraints. The NM-BY-SOURCE UPDATE sets score=0, which must satisfy the constraint score>=0.",
      "status": "pass",
      "duration_ms": 43,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 43,
      "read_warm_ms": 18,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/764_merge_nmbys_optimize",
      "num": 764,
      "name": "merge_nmbys_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/764_merge_nmbys_optimize.py",
      "read_script": "generator/df-reads-spark/764_merge_nmbys_optimize.sql",
      "description": "NM-BY-SOURCE MERGE after OPTIMIZE. Tests that MERGE correctly identifies not-matched-by-source rows when operating on compacted Parquet files (post-OPTIMIZE), which changes the physical file layout.",
      "status": "pass",
      "duration_ms": 78,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 78,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/765_constraint_add_valid_drop_violate_add",
      "num": 765,
      "name": "constraint_add_valid_drop_violate_add",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/765_constraint_add_valid_drop_violate_add.py",
      "read_script": "generator/df-reads-spark/765_constraint_add_valid_drop_violate_add.sql",
      "description": "Constraint lifecycle: add -> valid data -> drop -> violating data -> re-add a different constraint. Tests that dropping a constraint truly removes enforcement, and that a new constraint only validates current data.",
      "status": "pass",
      "duration_ms": 76,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 76,
      "read_warm_ms": 35,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/766_constraint_multiple_add_drop",
      "num": 766,
      "name": "constraint_multiple_add_drop",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/766_constraint_multiple_add_drop.py",
      "read_script": "generator/df-reads-spark/766_constraint_multiple_add_drop.sql",
      "description": "Complex constraint metadata evolution: add 3 constraints, drop 2, add 1 new. Tests that the metadata correctly tracks which constraints are active after multiple add/drop operations, and that new data only needs to satisfy the remaining active constraints.",
      "status": "pass",
      "duration_ms": 38,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 38,
      "read_warm_ms": 22,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/767_cdc_delete_exact",
      "num": 767,
      "name": "cdc_delete_exact",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/767_cdc_delete_exact.py",
      "read_script": "generator/df-reads-spark/767_cdc_delete_exact.sql",
      "description": "90 rows (100 inserted, 10 deleted: ids 5,10,15,20,25,30,35,40,45,50)",
      "status": "pass",
      "duration_ms": 35,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 35,
      "read_warm_ms": 15,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/768_cdc_update_exact",
      "num": 768,
      "name": "cdc_update_exact",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/768_cdc_update_exact.py",
      "read_script": "generator/df-reads-spark/768_cdc_update_exact.sql",
      "description": "CDC with exactly N updates. Verifies that the exact update preimage and postimage counts appear in the Change Data Feed output.",
      "status": "pass",
      "duration_ms": 42,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 42,
      "read_warm_ms": 23,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/769_cdc_mixed_exact",
      "num": 769,
      "name": "cdc_mixed_exact",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/769_cdc_mixed_exact.py",
      "read_script": "generator/df-reads-spark/769_cdc_mixed_exact.sql",
      "description": "75 rows (50 + 30 = 80, update 10, delete 5 ids 71-75)",
      "status": "pass",
      "duration_ms": 88,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 88,
      "read_warm_ms": 27,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/76_coordinated_commits_managed_transactions_simple",
      "num": 76,
      "name": "coordinated_commits_managed_transactions_simple",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/76_coordinated_commits_managed_transactions_simple.py",
      "read_script": "generator/df-reads-spark/76_coordinated_commits_managed_transactions_simple.sql",
      "description": "10 rows",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 502,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/770_rename_nmbys_merge",
      "num": 770,
      "name": "rename_nmbys_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/770_rename_nmbys_merge.py",
      "read_script": "generator/df-reads-spark/770_rename_nmbys_merge.sql",
      "description": "70 rows (source ids 1-70 matched/updated; ids 71-100 deleted by NM-BY-SOURCE)",
      "status": "pass",
      "duration_ms": 48,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 48,
      "read_warm_ms": 14,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:rename-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/771_drop_nmbys_merge",
      "num": 771,
      "name": "drop_nmbys_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/771_drop_nmbys_merge.py",
      "read_script": "generator/df-reads-spark/771_drop_nmbys_merge.sql",
      "description": "80 rows (ids 1-80 matched; ids 81-100 deleted by NM-BY-SOURCE)",
      "status": "pass",
      "duration_ms": 72,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 72,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:drop-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/772_evolve_nmbys_merge",
      "num": 772,
      "name": "evolve_nmbys_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/772_evolve_nmbys_merge.py",
      "read_script": "generator/df-reads-spark/772_evolve_nmbys_merge.sql",
      "description": "80 rows (ids 1-80 matched/updated; ids 81-100 deleted by NM-BY-SOURCE)",
      "status": "pass",
      "duration_ms": 39,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 39,
      "read_warm_ms": 15,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/773_partition_nmbys_cdc",
      "num": 773,
      "name": "partition_nmbys_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/773_partition_nmbys_cdc.py",
      "read_script": "generator/df-reads-spark/773_partition_nmbys_cdc.sql",
      "description": "80 rows (ids 1-80 matched/synced; ids 81-120 deleted by NM-BY-SOURCE)",
      "status": "pass",
      "duration_ms": 32,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 32,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/774_constraint_nmbys_merge",
      "num": 774,
      "name": "constraint_nmbys_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/774_constraint_nmbys_merge.py",
      "read_script": "generator/df-reads-spark/774_constraint_nmbys_merge.sql",
      "description": "100 rows (ids 1-70 synced status; ids 71-100 NM-BY-SOURCE updated value=1.0)",
      "status": "pass",
      "duration_ms": 34,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 34,
      "read_warm_ms": 15,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/775_cdc_partition_nmbys",
      "num": 775,
      "name": "cdc_partition_nmbys",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/775_cdc_partition_nmbys.py",
      "read_script": "generator/df-reads-spark/775_cdc_partition_nmbys.sql",
      "description": "150 rows (all rows kept; 1-100 synced, 101-150 stale via NM-BY-SOURCE UPDATE)",
      "status": "pass",
      "duration_ms": 31,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 31,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/776_large_nmbys",
      "num": 776,
      "name": "large_nmbys",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/776_large_nmbys.py",
      "read_script": "generator/df-reads-spark/776_large_nmbys.sql",
      "description": "200 rows (ids 1-200 kept; ids 201-1000 deleted)",
      "status": "pass",
      "duration_ms": 27,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 27,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/777_constraint_enforcement_chain",
      "num": 777,
      "name": "constraint_enforcement_chain",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/777_constraint_enforcement_chain.py",
      "read_script": "generator/df-reads-spark/777_constraint_enforcement_chain.sql",
      "description": "Chain of DML operations all respecting a CHECK constraint. Tests that UPDATE, DELETE, MERGE, and a second UPDATE all enforce the constraint across multiple versions. Ensures constraint is validated on every write.",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/778_colmap_rename_partition_cdc",
      "num": 778,
      "name": "colmap_rename_partition_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/778_colmap_rename_partition_cdc.py",
      "read_script": "generator/df-reads-spark/778_colmap_rename_partition_cdc.sql",
      "description": "113 rows (120 - 7 AP rows with id > 100 deleted)",
      "status": "pass",
      "duration_ms": 77,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 77,
      "read_warm_ms": 39,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:rename-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/779_colmap_drop_constraint_merge",
      "num": 779,
      "name": "colmap_drop_constraint_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/779_colmap_drop_constraint_merge.py",
      "read_script": "generator/df-reads-spark/779_colmap_drop_constraint_merge.sql",
      "description": "120 rows (100 original + 20 new inserts from ids 101-120)",
      "status": "pass",
      "duration_ms": 28,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 28,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "schema:drop-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/77_in_commit_timestamps_reliable_time_travel",
      "num": 77,
      "name": "in_commit_timestamps_reliable_time_travel",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/77_in_commit_timestamps_reliable_time_travel.py",
      "read_script": "generator/df-reads-spark/77_in_commit_timestamps_reliable_time_travel.sql",
      "description": "2200 rows (2000 initial + 200 new emergency rows)",
      "status": "pass",
      "duration_ms": 37,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 37,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 5454,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:time-travel",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/780_nmbys_all_features",
      "num": 780,
      "name": "nmbys_all_features",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/780_nmbys_all_features.py",
      "read_script": "generator/df-reads-spark/780_nmbys_all_features.sql",
      "description": "NM-BY-SOURCE + DV + CDC + partition + constraint. Five-way stress test with conditional NM-BY-SOURCE (both UPDATE and DELETE branches). Tests the most complex feature interaction: partitioned CDC table with active constraint, deletion vectors, and conditional NM-BY-SOURCE logic.",
      "status": "pass",
      "duration_ms": 21,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 21,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/781_cdc_nmbys_colmap",
      "num": 781,
      "name": "cdc_nmbys_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/781_cdc_nmbys_colmap.py",
      "read_script": "generator/df-reads-spark/781_cdc_nmbys_colmap.sql",
      "description": "60 rows (ids 1-60 matched/updated; ids 61-100 deleted by NM-BY-SOURCE)",
      "status": "pass",
      "duration_ms": 44,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 44,
      "read_warm_ms": 10,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/782_nmbys_evolve_partition",
      "num": 782,
      "name": "nmbys_evolve_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/782_nmbys_evolve_partition.py",
      "read_script": "generator/df-reads-spark/782_nmbys_evolve_partition.sql",
      "description": "90 rows (ids 1-90 matched/updated; ids 91-120 deleted by NM-BY-SOURCE)",
      "status": "pass",
      "duration_ms": 37,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 37,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/783_constraint_two_violations",
      "num": 783,
      "name": "constraint_two_violations",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/783_constraint_two_violations.py",
      "read_script": "generator/df-reads-spark/783_constraint_two_violations.sql",
      "description": "100 rows (80 original + 20 rows with score=200 that violate dropped c1)",
      "status": "pass",
      "duration_ms": 35,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 35,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/784_rename_three_plus_merge",
      "num": 784,
      "name": "rename_three_plus_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/784_rename_three_plus_merge.py",
      "read_script": "generator/df-reads-spark/784_rename_three_plus_merge.sql",
      "description": "100 rows (80 original matched + 20 new inserts from ids 81-100)",
      "status": "pass",
      "duration_ms": 42,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 42,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:rename-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/785_drop_two_plus_merge",
      "num": 785,
      "name": "drop_two_plus_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/785_drop_two_plus_merge.py",
      "read_script": "generator/df-reads-spark/785_drop_two_plus_merge.sql",
      "description": "100 rows (80 original matched/updated + 20 new inserts from ids 81-100)",
      "status": "pass",
      "duration_ms": 44,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 44,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:drop-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/786_cdc_every_dml_type",
      "num": 786,
      "name": "cdc_every_dml_type",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/786_cdc_every_dml_type.py",
      "read_script": "generator/df-reads-spark/786_cdc_every_dml_type.sql",
      "description": "CDC table exercising all 4 DML types: INSERT, UPDATE, DELETE, MERGE. Each operation produces exact, verifiable CDF row counts. This is the most comprehensive single-table CDF test.",
      "status": "pass",
      "duration_ms": 58,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 58,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/787_merge_nmbys_delete_then_insert",
      "num": 787,
      "name": "merge_nmbys_delete_then_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/787_merge_nmbys_delete_then_insert.py",
      "read_script": "generator/df-reads-spark/787_merge_nmbys_delete_then_insert.sql",
      "description": "100 rows (ids 1-50 updated name, ids 51-100 gen=2 re-inserted)",
      "status": "pass",
      "duration_ms": 60,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 60,
      "read_warm_ms": 23,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/788_partition_key_update_cdc",
      "num": 788,
      "name": "partition_key_update_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/788_partition_key_update_cdc.py",
      "read_script": "generator/df-reads-spark/788_partition_key_update_cdc.sql",
      "description": "100 rows (40 complete, 50 pending, 10 failed)",
      "status": "pass",
      "duration_ms": 54,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 54,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/789_sparse_wide_merge",
      "num": 789,
      "name": "sparse_wide_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/789_sparse_wide_merge.py",
      "read_script": "generator/df-reads-spark/789_sparse_wide_merge.sql",
      "description": "Wide table with 10 columns, mostly NULL at insert time, then a MERGE that partially fills in sparse columns. Tests that NULL-heavy Parquet files and partial column updates work correctly.",
      "status": "pass",
      "duration_ms": 35,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 35,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:null-handling",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/78_domain_metadata_row_tracking_domain",
      "num": 78,
      "name": "domain_metadata_row_tracking_domain",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/78_domain_metadata_row_tracking_domain.py",
      "read_script": "generator/df-reads-spark/78_domain_metadata_row_tracking_domain.sql",
      "description": "5300 rows (5000 initial + 300 new)",
      "status": "pass",
      "duration_ms": 91,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 91,
      "read_warm_ms": 38,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 12037,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/790_monotonic_id_delete_gap",
      "num": 790,
      "name": "monotonic_id_delete_gap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/790_monotonic_id_delete_gap.py",
      "read_script": "generator/df-reads-spark/790_monotonic_id_delete_gap.sql",
      "description": "100 rows (all 1-100 present; ids 40-60 have gen=2)",
      "status": "pass",
      "duration_ms": 32,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 32,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/791_merge_nmbys_partition_cdc_constraint",
      "num": 791,
      "name": "merge_nmbys_partition_cdc_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/791_merge_nmbys_partition_cdc_constraint.py",
      "read_script": "generator/df-reads-spark/791_merge_nmbys_partition_cdc_constraint.sql",
      "description": "99 rows (80 synced + 19 archived; 21 deleted from NM-BY-SOURCE with score<50)",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/792_colmap_rename_drop_evolve",
      "num": 792,
      "name": "colmap_rename_drop_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/792_colmap_rename_drop_evolve.py",
      "read_script": "generator/df-reads-spark/792_colmap_rename_drop_evolve.sql",
      "description": "Full column mutation trilogy: RENAME + DROP + ADD COLUMN, all with column mapping enabled. Tests that the column mapping metadata correctly tracks all three mutation types in sequence.",
      "status": "pass",
      "duration_ms": 64,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 64,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "schema:drop-column",
        "schema:rename-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/793_constraint_across_merge_nmbys",
      "num": 793,
      "name": "constraint_across_merge_nmbys",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/793_constraint_across_merge_nmbys.py",
      "read_script": "generator/df-reads-spark/793_constraint_across_merge_nmbys.sql",
      "description": "80 rows (all rows kept; ids 1-50 updated value, ids 51-80 NM-BY-SOURCE value+1)",
      "status": "pass",
      "duration_ms": 33,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 33,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/794_cdc_schema_evolve_nmbys",
      "num": 794,
      "name": "cdc_schema_evolve_nmbys",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/794_cdc_schema_evolve_nmbys.py",
      "read_script": "generator/df-reads-spark/794_cdc_schema_evolve_nmbys.sql",
      "description": "100 rows (ids 1-60 flag=true, ids 61-100 flag=false via NM-BY-SOURCE)",
      "status": "pass",
      "duration_ms": 48,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 48,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/795_large_partition_nmbys",
      "num": 795,
      "name": "large_partition_nmbys",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/795_large_partition_nmbys.py",
      "read_script": "generator/df-reads-spark/795_large_partition_nmbys.sql",
      "description": "200 rows (ids 1-200 kept with name=kept_*; ids 201-500 deleted)",
      "status": "pass",
      "duration_ms": 39,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 39,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/796_merge_nmbys_optimize_cdc",
      "num": 796,
      "name": "merge_nmbys_optimize_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/796_merge_nmbys_optimize_cdc.py",
      "read_script": "generator/df-reads-spark/796_merge_nmbys_optimize_cdc.sql",
      "description": "150 rows (ids 1-150 matched status=synced; ids 151-200 deleted by NM-BY-SOURCE)",
      "status": "pass",
      "duration_ms": 49,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 49,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/797_constraint_survive_optimize_merge",
      "num": 797,
      "name": "constraint_survive_optimize_merge",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/797_constraint_survive_optimize_merge.py",
      "read_script": "generator/df-reads-spark/797_constraint_survive_optimize_merge.sql",
      "description": "220 rows (200 matched tag=merged + 20 new inserts ids 201-220; then UPDATE value+5)",
      "status": "pass",
      "duration_ms": 33,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 33,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/798_colmap_nmbys_cdc_partition",
      "num": 798,
      "name": "colmap_nmbys_cdc_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/798_colmap_nmbys_cdc_partition.py",
      "read_script": "generator/df-reads-spark/798_colmap_nmbys_cdc_partition.sql",
      "description": "80 rows (ids 1-80 matched name=synced_*; ids 81-120 deleted by NM-BY-SOURCE)",
      "status": "pass",
      "duration_ms": 52,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 52,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/799_all_gaps_combined",
      "num": 799,
      "name": "all_gaps_combined",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/799_all_gaps_combined.py",
      "read_script": "generator/df-reads-spark/799_all_gaps_combined.sql",
      "description": "100 rows (all rows kept; ids 1-80 merged, ids 81-100 orphan via NM-BY-SOURCE UPDATE)",
      "status": "pass",
      "duration_ms": 39,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 39,
      "read_warm_ms": 18,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "schema:rename-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/79_domain_metadata_clustering_domain",
      "num": 79,
      "name": "domain_metadata_clustering_domain",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/79_domain_metadata_clustering_domain.py",
      "read_script": "generator/df-reads-spark/79_domain_metadata_clustering_domain.sql",
      "description": "10500 rows (10000 initial + 500 new)",
      "status": "pass",
      "duration_ms": 99,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 99,
      "read_warm_ms": 38,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 8548,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/800_production_ultimate",
      "num": 800,
      "name": "production_ultimate",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/800_production_ultimate.py",
      "read_script": "generator/df-reads-spark/800_production_ultimate.sql",
      "description": "Ultimate production test combining every major feature: NM-BY-SOURCE + deletion vectors + CDC + column mapping + partition + CHECK constraint + schema evolution + OPTIMIZE + RENAME + INSERT + UPDATE + DELETE + MERGE. This is the most comprehensive single-table integration test.",
      "status": "pass",
      "duration_ms": 53,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 53,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "schema:add-column",
        "schema:rename-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/801_merge_int_types",
      "num": 801,
      "name": "merge_int_types",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/801_merge_int_types.py",
      "read_script": "generator/df-reads-spark/801_merge_int_types.sql",
      "description": "120 rows (100 matched updated + 20 new inserts ids 101-120)",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/802_merge_float_double",
      "num": 802,
      "name": "merge_float_double",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/802_merge_float_double.py",
      "read_script": "generator/df-reads-spark/802_merge_float_double.sql",
      "description": "120 rows (100 matched updated + 20 new inserts ids 101-120)",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/803_merge_decimal_precision",
      "num": 803,
      "name": "merge_decimal_precision",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/803_merge_decimal_precision.py",
      "read_script": "generator/df-reads-spark/803_merge_decimal_precision.sql",
      "description": "60 rows (50 matched updated + 10 new inserts ids 51-60)",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/804_merge_timestamp_types",
      "num": 804,
      "name": "merge_timestamp_types",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/804_merge_timestamp_types.py",
      "read_script": "generator/df-reads-spark/804_merge_timestamp_types.sql",
      "description": "120 rows (100 matched updated + 20 new inserts ids 101-120)",
      "status": "pass",
      "duration_ms": 37,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 37,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/805_merge_date_type",
      "num": 805,
      "name": "merge_date_type",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/805_merge_date_type.py",
      "read_script": "generator/df-reads-spark/805_merge_date_type.sql",
      "description": "120 rows (100 matched updated + 20 new inserts ids 101-120)",
      "status": "pass",
      "duration_ms": 26,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 26,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/806_merge_boolean_type",
      "num": 806,
      "name": "merge_boolean_type",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/806_merge_boolean_type.py",
      "read_script": "generator/df-reads-spark/806_merge_boolean_type.sql",
      "description": "100 rows (all matched, no new inserts)",
      "status": "pass",
      "duration_ms": 33,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 33,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/807_merge_string_types",
      "num": 807,
      "name": "merge_string_types",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/807_merge_string_types.py",
      "read_script": "generator/df-reads-spark/807_merge_string_types.sql",
      "description": "100 rows (all matched, full_name and email computed)",
      "status": "pass",
      "duration_ms": 34,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 34,
      "read_warm_ms": 10,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/808_merge_null_in_all_types",
      "num": 808,
      "name": "merge_null_in_all_types",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/808_merge_null_in_all_types.py",
      "read_script": "generator/df-reads-spark/808_merge_null_in_all_types.sql",
      "description": "100 rows (all matched; even-id rows get NULL in all typed columns)",
      "status": "pass",
      "duration_ms": 32,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 32,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/809_merge_struct_update",
      "num": 809,
      "name": "merge_struct_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/809_merge_struct_update.py",
      "read_script": "generator/df-reads-spark/809_merge_struct_update.sql",
      "description": "100 rows (80 matched updated + 20 new inserts ids 81-100)",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/80_collations_language_aware_sorting",
      "num": 80,
      "name": "collations_language_aware_sorting",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/80_collations_language_aware_sorting.py",
      "read_script": "generator/df-reads-spark/80_collations_language_aware_sorting.sql",
      "description": "Collation support for language-aware string comparisons.",
      "status": "pass",
      "duration_ms": 20,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 20,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 2011,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/810_merge_mixed_type_key",
      "num": 810,
      "name": "merge_mixed_type_key",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/810_merge_mixed_type_key.py",
      "read_script": "generator/df-reads-spark/810_merge_mixed_type_key.sql",
      "description": "120 rows (100 matched updated + 20 new inserts ids 101-120)",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/811_merge_decimal_key",
      "num": 811,
      "name": "merge_decimal_key",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/811_merge_decimal_key.py",
      "read_script": "generator/df-reads-spark/811_merge_decimal_key.sql",
      "description": "60 rows (50 matched tag=matched + 10 new inserts ids 51-60)",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/812_merge_string_key",
      "num": 812,
      "name": "merge_string_key",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/812_merge_string_key.py",
      "read_script": "generator/df-reads-spark/812_merge_string_key.sql",
      "description": "120 rows (100 matched label=merged + 20 new inserts ids 101-120)",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/813_merge_boolean_key",
      "num": 813,
      "name": "merge_boolean_key",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/813_merge_boolean_key.py",
      "read_script": "generator/df-reads-spark/813_merge_boolean_key.sql",
      "description": "120 rows (100 matched tag=matched + 20 new inserts ids 101-120)",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/814_merge_timestamp_key",
      "num": 814,
      "name": "merge_timestamp_key",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/814_merge_timestamp_key.py",
      "read_script": "generator/df-reads-spark/814_merge_timestamp_key.sql",
      "description": "60 rows (50 matched status=matched + 10 new inserts ids 51-60)",
      "status": "pass",
      "duration_ms": 36,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 36,
      "read_warm_ms": 18,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/815_merge_update_decimal_arithmetic",
      "num": 815,
      "name": "merge_update_decimal_arithmetic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/815_merge_update_decimal_arithmetic.py",
      "read_script": "generator/df-reads-spark/815_merge_update_decimal_arithmetic.sql",
      "description": "100 rows (all matched; total and tax computed from price*quantity)",
      "status": "pass",
      "duration_ms": 31,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 31,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/816_merge_update_all_types_at_once",
      "num": 816,
      "name": "merge_update_all_types_at_once",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/816_merge_update_all_types_at_once.py",
      "read_script": "generator/df-reads-spark/816_merge_update_all_types_at_once.sql",
      "description": "60 rows (50 matched updated + 10 new inserts ids 51-60)",
      "status": "pass",
      "duration_ms": 33,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 33,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/817_merge_insert_all_types",
      "num": 817,
      "name": "merge_insert_all_types",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/817_merge_insert_all_types.py",
      "read_script": "generator/df-reads-spark/817_merge_insert_all_types.sql",
      "description": "100 rows (50 original + 50 new inserts ids 51-100; zero overlap)",
      "status": "pass",
      "duration_ms": 46,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 46,
      "read_warm_ms": 29,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/818_merge_int_to_bigint_coerce",
      "num": 818,
      "name": "merge_int_to_bigint_coerce",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/818_merge_int_to_bigint_coerce.py",
      "read_script": "generator/df-reads-spark/818_merge_int_to_bigint_coerce.sql",
      "description": "120 rows (100 matched updated + 20 new inserts ids 101-120)",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "schema:type-widening",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/819_merge_float_to_double_coerce",
      "num": 819,
      "name": "merge_float_to_double_coerce",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/819_merge_float_to_double_coerce.py",
      "read_script": "generator/df-reads-spark/819_merge_float_to_double_coerce.sql",
      "description": "120 rows (100 matched updated + 20 new inserts ids 101-120)",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/81_v2_checkpoint_sidecar_json_pointers",
      "num": 81,
      "name": "v2_checkpoint_sidecar_json_pointers",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/81_v2_checkpoint_sidecar_json_pointers.py",
      "read_script": "generator/df-reads-spark/81_v2_checkpoint_sidecar_json_pointers.sql",
      "description": "52500 rows (50000 initial minus 12500 REMOVED, plus 3 x 5000 new)",
      "status": "pass",
      "duration_ms": 789,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 789,
      "read_warm_ms": 374,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 26098,
      "tags": [
        "type:boolean",
        "type:date",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:checkpoint-sidecar",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/820_merge_decimal_scale_mismatch",
      "num": 820,
      "name": "merge_decimal_scale_mismatch",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/820_merge_decimal_scale_mismatch.py",
      "read_script": "generator/df-reads-spark/820_merge_decimal_scale_mismatch.sql",
      "description": "120 rows (100 matched tag=scaled + 20 new inserts ids 101-120)",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/821_merge_decimal_negative",
      "num": 821,
      "name": "merge_decimal_negative",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/821_merge_decimal_negative.py",
      "read_script": "generator/df-reads-spark/821_merge_decimal_negative.sql",
      "description": "100 rows (all matched; balance sign-flipped)",
      "status": "pass",
      "duration_ms": 29,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 29,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/822_merge_decimal_zero",
      "num": 822,
      "name": "merge_decimal_zero",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/822_merge_decimal_zero.py",
      "read_script": "generator/df-reads-spark/822_merge_decimal_zero.sql",
      "description": "100 rows (all matched; ids 1-50 amount=0 tag=zeroed, ids 51-100 rate=0 tag=rate_zero)",
      "status": "pass",
      "duration_ms": 38,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 38,
      "read_warm_ms": 10,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/823_merge_timestamp_microsecond",
      "num": 823,
      "name": "merge_timestamp_microsecond",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/823_merge_timestamp_microsecond.py",
      "read_script": "generator/df-reads-spark/823_merge_timestamp_microsecond.sql",
      "description": "100 rows (all matched; ts shifted +1 microsecond, value=i*20)",
      "status": "pass",
      "duration_ms": 28,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 28,
      "read_warm_ms": 14,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/824_merge_boolean_flip",
      "num": 824,
      "name": "merge_boolean_flip",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/824_merge_boolean_flip.py",
      "read_script": "generator/df-reads-spark/824_merge_boolean_flip.sql",
      "description": "100 rows (all matched; all booleans flipped, label=flipped)",
      "status": "pass",
      "duration_ms": 32,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 32,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/825_merge_string_empty",
      "num": 825,
      "name": "merge_string_empty",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/825_merge_string_empty.py",
      "read_script": "generator/df-reads-spark/825_merge_string_empty.sql",
      "description": "100 rows (all matched; tag updated based on empty string detection)",
      "status": "pass",
      "duration_ms": 38,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 38,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/826_merge_null_key",
      "num": 826,
      "name": "merge_null_key",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/826_merge_null_key.py",
      "read_script": "generator/df-reads-spark/826_merge_null_key.sql",
      "description": "90 rows (50 original + 30 new ids 51-80 + 10 NULL-id rows inserted)",
      "status": "pass",
      "duration_ms": 30,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 30,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/827_merge_delete_typed_predicate",
      "num": 827,
      "name": "merge_delete_typed_predicate",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/827_merge_delete_typed_predicate.py",
      "read_script": "generator/df-reads-spark/827_merge_delete_typed_predicate.sql",
      "description": "MERGE with DELETE clause using typed column predicates. Tests type evaluation (DECIMAL comparison, BOOLEAN equality) in MATCHED DELETE and conditional UPDATE.",
      "status": "pass",
      "duration_ms": 23,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 23,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/828_merge_nmbys_typed_update",
      "num": 828,
      "name": "merge_nmbys_typed_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/828_merge_nmbys_typed_update.py",
      "read_script": "generator/df-reads-spark/828_merge_nmbys_typed_update.sql",
      "description": "100 rows (ids 1-60 matched flag=true; ids 61-100 NM-BY-SOURCE amount=0, score=0, flag=false)",
      "status": "pass",
      "duration_ms": 28,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 28,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/829_merge_struct_nested_update",
      "num": 829,
      "name": "merge_struct_nested_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/829_merge_struct_nested_update.py",
      "read_script": "generator/df-reads-spark/829_merge_struct_nested_update.sql",
      "description": "100 rows (80 matched updated + 20 new inserts ids 81-100)",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "scale:nested-types",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/82_multipart_checkpoint_recovery_edge_cases",
      "num": 82,
      "name": "multipart_checkpoint_recovery_edge_cases",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/82_multipart_checkpoint_recovery_edge_cases.py",
      "read_script": "generator/df-reads-spark/82_multipart_checkpoint_recovery_edge_cases.sql",
      "description": "85000 rows (75000 initial + 5 x 2000 new batches; DELETE matches 0 rows)",
      "status": "pass",
      "duration_ms": 185,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 185,
      "read_warm_ms": 77,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 14219,
      "tags": [
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:checkpoint-multipart",
        "delta:deletion-vectors",
        "delta:partitioning",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/830_merge_decimal_boundary",
      "num": 830,
      "name": "merge_decimal_boundary",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/830_merge_decimal_boundary.py",
      "read_script": "generator/df-reads-spark/830_merge_decimal_boundary.sql",
      "description": "60 rows (50 matched tag=boundary + 10 new inserts ids 51-60)",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/831_merge_update_to_null",
      "num": 831,
      "name": "merge_update_to_null",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/831_merge_update_to_null.py",
      "read_script": "generator/df-reads-spark/831_merge_update_to_null.sql",
      "description": "100 rows (all matched; ids 1-20 all typed cols NULL, ids 21-100 str_v updated)",
      "status": "pass",
      "duration_ms": 31,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 31,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/832_merge_conditional_type_cast",
      "num": 832,
      "name": "merge_conditional_type_cast",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/832_merge_conditional_type_cast.py",
      "read_script": "generator/df-reads-spark/832_merge_conditional_type_cast.sql",
      "description": "100 rows (all matched; result computed based on category)",
      "status": "pass",
      "duration_ms": 30,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 30,
      "read_warm_ms": 10,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/833_merge_int_overflow_safe",
      "num": 833,
      "name": "merge_int_overflow_safe",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/833_merge_int_overflow_safe.py",
      "read_script": "generator/df-reads-spark/833_merge_int_overflow_safe.sql",
      "description": "60 rows (50 matched updated near-max + 10 new inserts ids 51-60)",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/834_merge_multi_decimal_update",
      "num": 834,
      "name": "merge_multi_decimal_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/834_merge_multi_decimal_update.py",
      "read_script": "generator/df-reads-spark/834_merge_multi_decimal_update.sql",
      "description": "100 rows (all matched; all 4 decimal cols updated)",
      "status": "pass",
      "duration_ms": 31,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 31,
      "read_warm_ms": 10,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/835_merge_decimal_cdc",
      "num": 835,
      "name": "merge_decimal_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/835_merge_decimal_cdc.py",
      "read_script": "generator/df-reads-spark/835_merge_decimal_cdc.sql",
      "description": "100 rows (80 matched updated tag=merged + 20 new inserts ids 81-100)",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/836_merge_timestamp_cdc",
      "num": 836,
      "name": "merge_timestamp_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/836_merge_timestamp_cdc.py",
      "read_script": "generator/df-reads-spark/836_merge_timestamp_cdc.sql",
      "description": "100 rows (80 matched updated + 20 new inserts ids 81-100)",
      "status": "pass",
      "duration_ms": 32,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 32,
      "read_warm_ms": 10,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:timestamp",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/837_merge_decimal_partition",
      "num": 837,
      "name": "merge_decimal_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/837_merge_decimal_partition.py",
      "read_script": "generator/df-reads-spark/837_merge_decimal_partition.sql",
      "description": "120 rows (90 matched amount updated + 30 new inserts ids 91-120)",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/838_merge_timestamp_partition",
      "num": 838,
      "name": "merge_timestamp_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/838_merge_timestamp_partition.py",
      "read_script": "generator/df-reads-spark/838_merge_timestamp_partition.sql",
      "description": "120 rows (90 matched updated + 30 new inserts ids 91-120)",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/839_merge_types_constraint",
      "num": 839,
      "name": "merge_types_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/839_merge_types_constraint.py",
      "read_script": "generator/df-reads-spark/839_merge_types_constraint.sql",
      "description": "100 rows (80 matched updated + 20 new inserts ids 81-100)",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/83_writer_feature_combinations_complex",
      "num": 83,
      "name": "writer_feature_combinations_complex",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/83_writer_feature_combinations_complex.py",
      "read_script": "generator/df-reads-spark/83_writer_feature_combinations_complex.sql",
      "description": "25834 rows (per PySpark proof on regenerated table)",
      "status": "pass",
      "duration_ms": 41,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 41,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 0,
      "tags": [
        "type:date",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "type:timestamp-ntz",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/840_merge_types_optimize",
      "num": 840,
      "name": "merge_types_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/840_merge_types_optimize.py",
      "read_script": "generator/df-reads-spark/840_merge_types_optimize.sql",
      "description": "220 rows (200 matched updated + 20 new inserts ids 201-220)",
      "status": "pass",
      "duration_ms": 40,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 40,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/841_merge_types_evolve",
      "num": 841,
      "name": "merge_types_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/841_merge_types_evolve.py",
      "read_script": "generator/df-reads-spark/841_merge_types_evolve.sql",
      "description": "120 rows (100 matched updated + 20 new inserts ids 101-120)",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/842_merge_decimal_null_mixed",
      "num": 842,
      "name": "merge_decimal_null_mixed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/842_merge_decimal_null_mixed.py",
      "read_script": "generator/df-reads-spark/842_merge_decimal_null_mixed.sql",
      "description": "100 rows (all matched; i%3==0 rows get price=NULL)",
      "status": "pass",
      "duration_ms": 35,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 35,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/843_merge_timestamp_null_mixed",
      "num": 843,
      "name": "merge_timestamp_null_mixed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/843_merge_timestamp_null_mixed.py",
      "read_script": "generator/df-reads-spark/843_merge_timestamp_null_mixed.sql",
      "description": "100 rows (all matched; i%4==0 rows get event_ts=NULL)",
      "status": "pass",
      "duration_ms": 43,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 43,
      "read_warm_ms": 15,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/844_merge_boolean_null_mixed",
      "num": 844,
      "name": "merge_boolean_null_mixed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/844_merge_boolean_null_mixed.py",
      "read_script": "generator/df-reads-spark/844_merge_boolean_null_mixed.sql",
      "description": "100 rows (all matched; i%5==0 rows get flag=NULL)",
      "status": "pass",
      "duration_ms": 32,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 32,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/845_merge_int_null_mixed",
      "num": 845,
      "name": "merge_int_null_mixed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/845_merge_int_null_mixed.py",
      "read_script": "generator/df-reads-spark/845_merge_int_null_mixed.sql",
      "description": "100 rows (all matched; i%4==0 rows get score=NULL)",
      "status": "pass",
      "duration_ms": 39,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 39,
      "read_warm_ms": 18,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/846_merge_double_nan_like",
      "num": 846,
      "name": "merge_double_nan_like",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/846_merge_double_nan_like.py",
      "read_script": "generator/df-reads-spark/846_merge_double_nan_like.sql",
      "description": "60 rows (50 matched updated + 10 new inserts ids 51-60)",
      "status": "pass",
      "duration_ms": 42,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 42,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/847_merge_struct_with_types",
      "num": 847,
      "name": "merge_struct_with_types",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/847_merge_struct_with_types.py",
      "read_script": "generator/df-reads-spark/847_merge_struct_with_types.sql",
      "description": "100 rows (80 matched updated + 20 new inserts ids 81-100)",
      "status": "pass",
      "duration_ms": 42,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 42,
      "read_warm_ms": 18,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/848_merge_all_types_nmbys",
      "num": 848,
      "name": "merge_all_types_nmbys",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/848_merge_all_types_nmbys.py",
      "read_script": "generator/df-reads-spark/848_merge_all_types_nmbys.sql",
      "description": "100 rows (ids 1-60 matched str_v=matched; ids 61-100 NM-BY-SOURCE orphan)",
      "status": "pass",
      "duration_ms": 23,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 23,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/849_merge_typed_delete_insert",
      "num": 849,
      "name": "merge_typed_delete_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/849_merge_typed_delete_insert.py",
      "read_script": "generator/df-reads-spark/849_merge_typed_delete_insert.sql",
      "description": "71 rows (49 deleted with amount<0, 51 kept/updated, 20 new inserts ids 101-120)",
      "status": "pass",
      "duration_ms": 33,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 33,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/84_variant_with_column_mapping",
      "num": 84,
      "name": "variant_with_column_mapping",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/84_variant_with_column_mapping.py",
      "read_script": "generator/df-reads-spark/84_variant_with_column_mapping.sql",
      "description": "Demonstrates Variant data type combined with column mapping feature.",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 2012,
      "tags": [
        "type:date",
        "type:floating",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/850_merge_type_comprehensive",
      "num": 850,
      "name": "merge_type_comprehensive",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/850_merge_type_comprehensive.py",
      "read_script": "generator/df-reads-spark/850_merge_type_comprehensive.sql",
      "description": "116 rows (4 deleted ids 1-4 with dec_v<5, 96 updated, 20 new inserts ids 101-120)",
      "status": "pass",
      "duration_ms": 39,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 39,
      "read_warm_ms": 19,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/851_merge_multi_type_update_set",
      "num": 851,
      "name": "merge_multi_type_update_set",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/851_merge_multi_type_update_set.py",
      "read_script": "generator/df-reads-spark/851_merge_multi_type_update_set.sql",
      "description": "100 rows (all matched; typed cols updated with target+source expressions)",
      "status": "pass",
      "duration_ms": 49,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 49,
      "read_warm_ms": 18,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/852_merge_chain_typed",
      "num": 852,
      "name": "merge_chain_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/852_merge_chain_typed.py",
      "read_script": "generator/df-reads-spark/852_merge_chain_typed.sql",
      "description": "110 rows (V0=80, MERGE1 adds 81-100=100, MERGE2 adds 101-110=110)",
      "status": "pass",
      "duration_ms": 47,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 47,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/853_merge_mixed_predicate_types",
      "num": 853,
      "name": "merge_mixed_predicate_types",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/853_merge_mixed_predicate_types.py",
      "read_script": "generator/df-reads-spark/853_merge_mixed_predicate_types.sql",
      "description": "170 rows (30 deleted with score<20, 170 remain with tier updated)",
      "status": "pass",
      "duration_ms": 42,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 42,
      "read_warm_ms": 18,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/854_merge_partial_column_update",
      "num": 854,
      "name": "merge_partial_column_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/854_merge_partial_column_update.py",
      "read_script": "generator/df-reads-spark/854_merge_partial_column_update.sql",
      "description": "100 rows (all matched; col_b and col_e updated, others unchanged)",
      "status": "pass",
      "duration_ms": 51,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 51,
      "read_warm_ms": 23,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/855_merge_source_subset_columns",
      "num": 855,
      "name": "merge_source_subset_columns",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/855_merge_source_subset_columns.py",
      "read_script": "generator/df-reads-spark/855_merge_source_subset_columns.sql",
      "description": "100 rows (all matched; only score and amount updated)",
      "status": "pass",
      "duration_ms": 42,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 42,
      "read_warm_ms": 15,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/856_merge_decimal_across_partitions",
      "num": 856,
      "name": "merge_decimal_across_partitions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/856_merge_decimal_across_partitions.py",
      "read_script": "generator/df-reads-spark/856_merge_decimal_across_partitions.sql",
      "description": "210 rows (150 original + 60 new from non-matching region combos)",
      "status": "pass",
      "duration_ms": 21,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 21,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/857_merge_after_dv_delete_typed",
      "num": 857,
      "name": "merge_after_dv_delete_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/857_merge_after_dv_delete_typed.py",
      "read_script": "generator/df-reads-spark/857_merge_after_dv_delete_typed.sql",
      "description": "200 rows (20 DV-deleted then re-inserted via MERGE, 180 updated)",
      "status": "pass",
      "duration_ms": 38,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 38,
      "read_warm_ms": 15,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/858_merge_typed_expressions",
      "num": 858,
      "name": "merge_typed_expressions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/858_merge_typed_expressions.py",
      "read_script": "generator/df-reads-spark/858_merge_typed_expressions.sql",
      "description": "100 rows (all matched; subtotal, tax_amount, total computed)",
      "status": "pass",
      "duration_ms": 38,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 38,
      "read_warm_ms": 18,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/859_merge_timestamp_range_delete",
      "num": 859,
      "name": "merge_timestamp_range_delete",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/859_merge_timestamp_range_delete.py",
      "read_script": "generator/df-reads-spark/859_merge_timestamp_range_delete.sql",
      "description": "150 rows (50 deleted with event_ts <= cutoff, 100 updated status=recent, 50 pending ids 151-200)",
      "status": "pass",
      "duration_ms": 29,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 29,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/85_optimize_zorder_file_layout",
      "num": 85,
      "name": "optimize_zorder_file_layout",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/85_optimize_zorder_file_layout.py",
      "read_script": "generator/df-reads-spark/85_optimize_zorder_file_layout.sql",
      "description": "110000 rows (DELETE affects 0 rows since time_on_page >= 5 always)",
      "status": "pass",
      "duration_ms": 52,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 52,
      "read_warm_ms": 24,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 6378,
      "tags": [
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/860_merge_boolean_multi_clause",
      "num": 860,
      "name": "merge_boolean_multi_clause",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/860_merge_boolean_multi_clause.py",
      "read_script": "generator/df-reads-spark/860_merge_boolean_multi_clause.sql",
      "description": "200 rows (all matched; result set based on boolean flag combinations)",
      "status": "pass",
      "duration_ms": 30,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 30,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/861_merge_decimal_int_cross_type",
      "num": 861,
      "name": "merge_decimal_int_cross_type",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/861_merge_decimal_int_cross_type.py",
      "read_script": "generator/df-reads-spark/861_merge_decimal_int_cross_type.sql",
      "description": "100 rows (all matched; final_price computed)",
      "status": "pass",
      "duration_ms": 28,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 28,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/862_merge_struct_and_scalar",
      "num": 862,
      "name": "merge_struct_and_scalar",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/862_merge_struct_and_scalar.py",
      "read_script": "generator/df-reads-spark/862_merge_struct_and_scalar.sql",
      "description": "100 rows (80 matched updated + 20 new inserts ids 81-100)",
      "status": "pass",
      "duration_ms": 37,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 37,
      "read_warm_ms": 18,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/863_merge_cdc_all_types_exact",
      "num": 863,
      "name": "merge_cdc_all_types_exact",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/863_merge_cdc_all_types_exact.py",
      "read_script": "generator/df-reads-spark/863_merge_cdc_all_types_exact.sql",
      "description": "100 rows (ids 1-80 updated to status=merged, ids 81-100 newly inserted)",
      "status": "pass",
      "duration_ms": 36,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 36,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/864_merge_nmbys_typed_complex",
      "num": 864,
      "name": "merge_nmbys_typed_complex",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/864_merge_nmbys_typed_complex.py",
      "read_script": "generator/df-reads-spark/864_merge_nmbys_typed_complex.sql",
      "description": "100 rows (all remain, no deletes or inserts)",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/865_merge_delete_on_composite_typed_key",
      "num": 865,
      "name": "merge_delete_on_composite_typed_key",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/865_merge_delete_on_composite_typed_key.py",
      "read_script": "generator/df-reads-spark/865_merge_delete_on_composite_typed_key.sql",
      "description": "90 rows (10 deleted where amount < 100 for ids 1-10, ids 11-100 remain)",
      "status": "pass",
      "duration_ms": 37,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 37,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/866_merge_three_clause_all_types",
      "num": 866,
      "name": "merge_three_clause_all_types",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/866_merge_three_clause_all_types.py",
      "read_script": "generator/df-reads-spark/866_merge_three_clause_all_types.sql",
      "description": "100 rows (20 deleted where val_int<10, 80 updated, 20 new inserts ids 101-120)",
      "status": "pass",
      "duration_ms": 32,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 32,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/867_merge_update_then_merge_typed",
      "num": 867,
      "name": "merge_update_then_merge_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/867_merge_update_then_merge_typed.py",
      "read_script": "generator/df-reads-spark/867_merge_update_then_merge_typed.sql",
      "description": "120 rows (all 100 matched to score=999 + tag=final, 20 new inserts ids 101-120)",
      "status": "pass",
      "duration_ms": 36,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 36,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/868_merge_decimal_string_key",
      "num": 868,
      "name": "merge_decimal_string_key",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/868_merge_decimal_string_key.py",
      "read_script": "generator/df-reads-spark/868_merge_decimal_string_key.sql",
      "description": "100 rows (ids 1-80 updated salary, ids 81-100 newly inserted)",
      "status": "pass",
      "duration_ms": 30,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 30,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/869_merge_five_clause",
      "num": 869,
      "name": "merge_five_clause",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/869_merge_five_clause.py",
      "read_script": "generator/df-reads-spark/869_merge_five_clause.sql",
      "description": "71 rows (29 deleted where amount<0 for ids 21-49; ids 1-20 orphaned; ids 50-100 remain)",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/86_time_travel_timestamp_queries",
      "num": 86,
      "name": "time_travel_timestamp_queries",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/86_time_travel_timestamp_queries.py",
      "read_script": "generator/df-reads-spark/86_time_travel_timestamp_queries.sql",
      "description": "Time travel queries using timestamps and versions.",
      "status": "pass",
      "duration_ms": 34,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 34,
      "read_warm_ms": 14,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 6876,
      "tags": [
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/870_merge_partition_typed_nmbys",
      "num": 870,
      "name": "merge_partition_typed_nmbys",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/870_merge_partition_typed_nmbys.py",
      "read_script": "generator/df-reads-spark/870_merge_partition_typed_nmbys.sql",
      "description": "120 rows (all remain; ids 61-120 get amount=0, active=false via NMBYS)",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/871_merge_optimize_decimal",
      "num": 871,
      "name": "merge_optimize_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/871_merge_optimize_decimal.py",
      "read_script": "generator/df-reads-spark/871_merge_optimize_decimal.sql",
      "description": "220 rows (200 matched updated to label=merged, 20 new inserts ids 201-220)",
      "status": "pass",
      "duration_ms": 41,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 41,
      "read_warm_ms": 10,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/872_merge_optimize_timestamp",
      "num": 872,
      "name": "merge_optimize_timestamp",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/872_merge_optimize_timestamp.py",
      "read_script": "generator/df-reads-spark/872_merge_optimize_timestamp.sql",
      "description": "220 rows (200 matched updated to label=merged, 20 new inserts ids 201-220)",
      "status": "pass",
      "duration_ms": 46,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 46,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/873_merge_optimize_boolean_int",
      "num": 873,
      "name": "merge_optimize_boolean_int",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/873_merge_optimize_boolean_int.py",
      "read_script": "generator/df-reads-spark/873_merge_optimize_boolean_int.sql",
      "description": "220 rows (200 matched updated to label=merged, 20 new inserts ids 201-220)",
      "status": "pass",
      "duration_ms": 44,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 44,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/874_merge_evolve_decimal",
      "num": 874,
      "name": "merge_evolve_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/874_merge_evolve_decimal.py",
      "read_script": "generator/df-reads-spark/874_merge_evolve_decimal.sql",
      "description": "120 rows (ids 1-100 updated tag=merged with amount populated, ids 101-120 new)",
      "status": "pass",
      "duration_ms": 41,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 41,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/875_merge_evolve_timestamp",
      "num": 875,
      "name": "merge_evolve_timestamp",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/875_merge_evolve_timestamp.py",
      "read_script": "generator/df-reads-spark/875_merge_evolve_timestamp.sql",
      "description": "120 rows (ids 1-100 updated tag=merged with event_ts, ids 101-120 new)",
      "status": "pass",
      "duration_ms": 39,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 39,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/876_merge_evolve_boolean",
      "num": 876,
      "name": "merge_evolve_boolean",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/876_merge_evolve_boolean.py",
      "read_script": "generator/df-reads-spark/876_merge_evolve_boolean.sql",
      "description": "120 rows (ids 1-100 updated tag=merged with flag, ids 101-120 new)",
      "status": "pass",
      "duration_ms": 38,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 38,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/877_merge_constraint_decimal_range",
      "num": 877,
      "name": "merge_constraint_decimal_range",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/877_merge_constraint_decimal_range.py",
      "read_script": "generator/df-reads-spark/877_merge_constraint_decimal_range.sql",
      "description": "120 rows (ids 1-100 updated label=merged, ids 101-120 new)",
      "status": "pass",
      "duration_ms": 33,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 33,
      "read_warm_ms": 15,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/878_merge_constraint_int_positive",
      "num": 878,
      "name": "merge_constraint_int_positive",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/878_merge_constraint_int_positive.py",
      "read_script": "generator/df-reads-spark/878_merge_constraint_int_positive.sql",
      "description": "120 rows (ids 1-100 updated tag=merged, ids 101-120 new)",
      "status": "pass",
      "duration_ms": 36,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 36,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/879_merge_cdc_typed_predicates",
      "num": 879,
      "name": "merge_cdc_typed_predicates",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/879_merge_cdc_typed_predicates.py",
      "read_script": "generator/df-reads-spark/879_merge_cdc_typed_predicates.sql",
      "description": "100 rows (all remain; ids 1-20 stay initial, ids 21-47 low, ids 48-100 high)",
      "status": "pass",
      "duration_ms": 34,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 34,
      "read_warm_ms": 23,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/87_empty_table_no_data_files",
      "num": 87,
      "name": "empty_table_no_data_files",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/87_empty_table_no_data_files.py",
      "read_script": "generator/df-reads-spark/87_empty_table_no_data_files.sql",
      "description": "- Empty table with protocol and metadata but zero data files - Schema-only table definition (25 columns) - Deletion vectors enabled - Data warehouse fact table schema",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 240,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/880_merge_cdc_nmbys_typed",
      "num": 880,
      "name": "merge_cdc_nmbys_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/880_merge_cdc_nmbys_typed.py",
      "read_script": "generator/df-reads-spark/880_merge_cdc_nmbys_typed.sql",
      "description": "100 rows (all remain; ids 1-60 synced, ids 61-100 orphaned via NMBYS)",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/881_merge_colmap_decimal",
      "num": 881,
      "name": "merge_colmap_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/881_merge_colmap_decimal.py",
      "read_script": "generator/df-reads-spark/881_merge_colmap_decimal.sql",
      "description": "120 rows (ids 1-100 updated name=sku_N_v2, ids 101-120 new)",
      "status": "pass",
      "duration_ms": 38,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 38,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/882_merge_colmap_timestamp",
      "num": 882,
      "name": "merge_colmap_timestamp",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/882_merge_colmap_timestamp.py",
      "read_script": "generator/df-reads-spark/882_merge_colmap_timestamp.sql",
      "description": "120 rows (ids 1-100 updated label=merged, ids 101-120 new)",
      "status": "pass",
      "duration_ms": 30,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 30,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/883_merge_colmap_struct",
      "num": 883,
      "name": "merge_colmap_struct",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/883_merge_colmap_struct.py",
      "read_script": "generator/df-reads-spark/883_merge_colmap_struct.sql",
      "description": "100 rows (ids 1-80 updated tag=merged, ids 81-100 new)",
      "status": "pass",
      "duration_ms": 32,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 32,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/884_merge_three_decimal_ops",
      "num": 884,
      "name": "merge_three_decimal_ops",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/884_merge_three_decimal_ops.py",
      "read_script": "generator/df-reads-spark/884_merge_three_decimal_ops.sql",
      "description": "100 rows (all matched; final label=v3; id=1 has amount=26.00)",
      "status": "pass",
      "duration_ms": 36,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 36,
      "read_warm_ms": 19,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/885_merge_interleaved_update",
      "num": 885,
      "name": "merge_interleaved_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/885_merge_interleaved_update.py",
      "read_script": "generator/df-reads-spark/885_merge_interleaved_update.sql",
      "description": "130 rows (ids 1-120 from first merge, ids 121-130 from second merge)",
      "status": "pass",
      "duration_ms": 42,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 42,
      "read_warm_ms": 15,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/886_merge_delete_reinsert_typed",
      "num": 886,
      "name": "merge_delete_reinsert_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/886_merge_delete_reinsert_typed.py",
      "read_script": "generator/df-reads-spark/886_merge_delete_reinsert_typed.sql",
      "description": "80 rows (ids 201-280, label=reinserted)",
      "status": "pass",
      "duration_ms": 35,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 35,
      "read_warm_ms": 18,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/887_merge_wide_typed",
      "num": 887,
      "name": "merge_wide_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/887_merge_wide_typed.py",
      "read_script": "generator/df-reads-spark/887_merge_wide_typed.sql",
      "description": "100 rows (ids 1-80 updated all typed cols, ids 81-100 new)",
      "status": "pass",
      "duration_ms": 59,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 59,
      "read_warm_ms": 31,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/888_merge_decimal_rounding",
      "num": 888,
      "name": "merge_decimal_rounding",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/888_merge_decimal_rounding.py",
      "read_script": "generator/df-reads-spark/888_merge_decimal_rounding.sql",
      "description": "100 rows (all matched; subtotal updated from 0 to computed value)",
      "status": "pass",
      "duration_ms": 40,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 40,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/889_merge_timestamp_ordering",
      "num": 889,
      "name": "merge_timestamp_ordering",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/889_merge_timestamp_ordering.py",
      "read_script": "generator/df-reads-spark/889_merge_timestamp_ordering.sql",
      "description": "100 rows (all matched; label=merged; id=1 gets ts from slot 100)",
      "status": "pass",
      "duration_ms": 29,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 29,
      "read_warm_ms": 15,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/88_single_record_minimal_table",
      "num": 88,
      "name": "single_record_minimal_table",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/88_single_record_minimal_table.py",
      "read_script": "generator/df-reads-spark/88_single_record_minimal_table.sql",
      "description": "- Table with exactly one record (minimal data scenario) - Statistics where min = max for all columns - Single Parquet file with one row group - Multiple UPDATE operations incrementing config_version - Decimal, boolean, timestamp, date types - Deletion vectors enabled",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 3373,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "storage:rowgroup-stats",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/890_merge_bool_int_partition",
      "num": 890,
      "name": "merge_bool_int_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/890_merge_bool_int_partition.py",
      "read_script": "generator/df-reads-spark/890_merge_bool_int_partition.sql",
      "description": "150 rows (all original 120 updated score/active, 30 new inserts)",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/891_merge_decimal_cdc_nmbys",
      "num": 891,
      "name": "merge_decimal_cdc_nmbys",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/891_merge_decimal_cdc_nmbys.py",
      "read_script": "generator/df-reads-spark/891_merge_decimal_cdc_nmbys.sql",
      "description": "100 rows (all remain; ids 1-60 synced, ids 61-100 orphaned)",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/892_merge_timestamp_evolve_cdc",
      "num": 892,
      "name": "merge_timestamp_evolve_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/892_merge_timestamp_evolve_cdc.py",
      "read_script": "generator/df-reads-spark/892_merge_timestamp_evolve_cdc.sql",
      "description": "120 rows (ids 1-100 updated tag=merged with event_ts, ids 101-120 new)",
      "status": "pass",
      "duration_ms": 31,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 31,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/893_merge_struct_cdc",
      "num": 893,
      "name": "merge_struct_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/893_merge_struct_cdc.py",
      "read_script": "generator/df-reads-spark/893_merge_struct_cdc.sql",
      "description": "100 rows (ids 1-80 updated tag=merged, ids 81-100 new)",
      "status": "pass",
      "duration_ms": 32,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 32,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/894_merge_all_clauses_all_types",
      "num": 894,
      "name": "merge_all_clauses_all_types",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/894_merge_all_clauses_all_types.py",
      "read_script": "generator/df-reads-spark/894_merge_all_clauses_all_types.sql",
      "description": "96 rows (4 deleted ids 21-24; ids 1-20 orphaned; ids 25-100 updated)",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/895_merge_partition_evolve_typed",
      "num": 895,
      "name": "merge_partition_evolve_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/895_merge_partition_evolve_typed.py",
      "read_script": "generator/df-reads-spark/895_merge_partition_evolve_typed.sql",
      "description": "150 rows (all 120 original updated with amount, 30 new inserts ids 121-150)",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/896_merge_colmap_cdc_typed",
      "num": 896,
      "name": "merge_colmap_cdc_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/896_merge_colmap_cdc_typed.py",
      "read_script": "generator/df-reads-spark/896_merge_colmap_cdc_typed.sql",
      "description": "120 rows (ids 1-100 updated label=merged, ids 101-120 new)",
      "status": "pass",
      "duration_ms": 34,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 34,
      "read_warm_ms": 14,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/897_merge_constraint_evolve_typed",
      "num": 897,
      "name": "merge_constraint_evolve_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/897_merge_constraint_evolve_typed.py",
      "read_script": "generator/df-reads-spark/897_merge_constraint_evolve_typed.sql",
      "description": "100 rows (ids 1-80 updated name=item_N_v2 with extra, ids 81-100 new)",
      "status": "pass",
      "duration_ms": 38,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 38,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/898_merge_typed_idempotent",
      "num": 898,
      "name": "merge_typed_idempotent",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/898_merge_typed_idempotent.py",
      "read_script": "generator/df-reads-spark/898_merge_typed_idempotent.sql",
      "description": "100 rows (all updated tag=merged; idempotent result same after second MERGE)",
      "status": "pass",
      "duration_ms": 34,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 34,
      "read_warm_ms": 18,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/899_merge_large_typed",
      "num": 899,
      "name": "merge_large_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/899_merge_large_typed.py",
      "read_script": "generator/df-reads-spark/899_merge_large_typed.sql",
      "description": "2500 rows (ids 1-2000 updated label=merged, ids 2001-2500 new)",
      "status": "pass",
      "duration_ms": 33,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 33,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/89_statistics_special_numeric_values",
      "num": 89,
      "name": "statistics_special_numeric_values",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/89_statistics_special_numeric_values.py",
      "read_script": "generator/df-reads-spark/89_statistics_special_numeric_values.sql",
      "description": "Demonstrates statistics containing special floating-point values. Tests how Delta handles IEEE 754 special values in statistics: - NaN (Not a Number) - Positive Infinity (+Inf) - Negative Infinity (-Inf) - Negative zero (-0.0) - Subnormal/denormalized numbers",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 518,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "storage:statistics",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/900_merge_ultimate_complex",
      "num": 900,
      "name": "merge_ultimate_complex",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/900_merge_ultimate_complex.py",
      "read_script": "generator/df-reads-spark/900_merge_ultimate_complex.sql",
      "description": "181 rows (19 deleted where amount<100 for ids 1-19; ids 20-200 updated name=updated)",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/901_update_int_arithmetic",
      "num": 901,
      "name": "update_int_arithmetic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/901_update_int_arithmetic.py",
      "read_script": "generator/df-reads-spark/901_update_int_arithmetic.sql",
      "description": "100 rows (all updated from zeroes to computed values)",
      "status": "pass",
      "duration_ms": 20,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 20,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/902_update_double_arithmetic",
      "num": 902,
      "name": "update_double_arithmetic",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/902_update_double_arithmetic.py",
      "read_script": "generator/df-reads-spark/902_update_double_arithmetic.sql",
      "description": "100 rows (all updated from 0 to computed values)",
      "status": "pass",
      "duration_ms": 22,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 22,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/903_update_decimal_add",
      "num": 903,
      "name": "update_decimal_add",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/903_update_decimal_add.py",
      "read_script": "generator/df-reads-spark/903_update_decimal_add.sql",
      "description": "100 rows (all updated; id=1 has total=110.49)",
      "status": "pass",
      "duration_ms": 21,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 21,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/904_update_decimal_multiply",
      "num": 904,
      "name": "update_decimal_multiply",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/904_update_decimal_multiply.py",
      "read_script": "generator/df-reads-spark/904_update_decimal_multiply.sql",
      "description": "100 rows (all updated; id=1 has subtotal=9.98)",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/905_update_decimal_four_scales",
      "num": 905,
      "name": "update_decimal_four_scales",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/905_update_decimal_four_scales.py",
      "read_script": "generator/df-reads-spark/905_update_decimal_four_scales.sql",
      "description": "100 rows (ids 1-50 updated, ids 51-100 unchanged)",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/906_update_timestamp_shift",
      "num": 906,
      "name": "update_timestamp_shift",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/906_update_timestamp_shift.py",
      "read_script": "generator/df-reads-spark/906_update_timestamp_shift.sql",
      "description": "100 rows (ids 1-50 have updated event_ts, ids 51-100 unchanged)",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/907_update_timestamp_to_fixed",
      "num": 907,
      "name": "update_timestamp_to_fixed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/907_update_timestamp_to_fixed.py",
      "read_script": "generator/df-reads-spark/907_update_timestamp_to_fixed.sql",
      "description": "100 rows (ids 1-30 have ts set to fixed value, ids 31-100 unchanged)",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/908_update_date_shift",
      "num": 908,
      "name": "update_date_shift",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/908_update_date_shift.py",
      "read_script": "generator/df-reads-spark/908_update_date_shift.sql",
      "description": "100 rows (ids 1-50 have date shifted forward by one year)",
      "status": "pass",
      "duration_ms": 23,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 23,
      "read_warm_ms": 10,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/909_update_boolean_flip",
      "num": 909,
      "name": "update_boolean_flip",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/909_update_boolean_flip.py",
      "read_script": "generator/df-reads-spark/909_update_boolean_flip.sql",
      "description": "100 rows (ids 1-60 have active/verified flipped, ids 61-100 unchanged)",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/90_null_only_column_statistics",
      "num": 90,
      "name": "null_only_column_statistics",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/90_null_only_column_statistics.py",
      "read_script": "generator/df-reads-spark/90_null_only_column_statistics.sql",
      "description": "- Statistics for columns containing only NULL values - Tests how Delta handles statistics when: - All values in a column are NULL - nullCount equals numRecords - minValues and maxValues are absent or null",
      "status": "pass",
      "duration_ms": 20,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 20,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 2735,
      "tags": [
        "type:binary",
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "storage:statistics",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/910_update_boolean_conditional",
      "num": 910,
      "name": "update_boolean_conditional",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/910_update_boolean_conditional.py",
      "read_script": "generator/df-reads-spark/910_update_boolean_conditional.sql",
      "description": "100 rows (all updated; 20 rows have high_score=true)",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/911_update_string_concat",
      "num": 911,
      "name": "update_string_concat",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/911_update_string_concat.py",
      "read_script": "generator/df-reads-spark/911_update_string_concat.sql",
      "description": "100 rows (all updated; id=1 has full_name='Bob Jones', greeting='Hello, Bob!')",
      "status": "pass",
      "duration_ms": 22,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 22,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/912_update_string_cast",
      "num": 912,
      "name": "update_string_cast",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/912_update_string_cast.py",
      "read_script": "generator/df-reads-spark/912_update_string_cast.sql",
      "description": "100 rows (all updated; str_int/str_dbl/str_dec no longer empty)",
      "status": "pass",
      "duration_ms": 20,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 20,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/913_update_to_null_per_type",
      "num": 913,
      "name": "update_to_null_per_type",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/913_update_to_null_per_type.py",
      "read_script": "generator/df-reads-spark/913_update_to_null_per_type.sql",
      "description": "100 rows (each column has some NULLs based on id%7 predicate)",
      "status": "pass",
      "duration_ms": 59,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 59,
      "read_warm_ms": 21,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:null-handling",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/914_update_from_null_to_value",
      "num": 914,
      "name": "update_from_null_to_value",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/914_update_from_null_to_value.py",
      "read_script": "generator/df-reads-spark/914_update_from_null_to_value.sql",
      "description": "100 rows (no NULLs in any column after all three UPDATEs)",
      "status": "pass",
      "duration_ms": 34,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 34,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/915_update_struct_preserve",
      "num": 915,
      "name": "update_struct_preserve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/915_update_struct_preserve.py",
      "read_script": "generator/df-reads-spark/915_update_struct_preserve.sql",
      "description": "100 rows (ids 1-50 have status=updated and doubled value; ids 51-100 unchanged)",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/916_update_decimal_negative",
      "num": 916,
      "name": "update_decimal_negative",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/916_update_decimal_negative.py",
      "read_script": "generator/df-reads-spark/916_update_decimal_negative.sql",
      "description": "100 rows (ids 1-40 tag=negative, ids 41-50 tag=zero, ids 51-100 tag=positive)",
      "status": "pass",
      "duration_ms": 37,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 37,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/917_update_decimal_boundary",
      "num": 917,
      "name": "update_decimal_boundary",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/917_update_decimal_boundary.py",
      "read_script": "generator/df-reads-spark/917_update_decimal_boundary.sql",
      "description": "100 rows (all 100 updated since all values are < 950.01)",
      "status": "pass",
      "duration_ms": 21,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 21,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/918_update_int_boundary",
      "num": 918,
      "name": "update_int_boundary",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/918_update_int_boundary.py",
      "read_script": "generator/df-reads-spark/918_update_int_boundary.sql",
      "description": "55 rows (50 near-max + 5 sentinel; ids 51,52 have label=updated)",
      "status": "pass",
      "duration_ms": 23,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 23,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/919_update_double_extremes",
      "num": 919,
      "name": "update_double_extremes",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/919_update_double_extremes.py",
      "read_script": "generator/df-reads-spark/919_update_double_extremes.sql",
      "description": "50 rows (ids 1-25 scaled, ids 26-50 unchanged)",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/91_utf8_special_characters_paths",
      "num": 91,
      "name": "utf8_special_characters_paths",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/91_utf8_special_characters_paths.py",
      "read_script": "generator/df-reads-spark/91_utf8_special_characters_paths.sql",
      "description": "296 rows",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 659,
      "tags": [
        "type:boolean",
        "type:date",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/920_update_case_multi_branch",
      "num": 920,
      "name": "update_case_multi_branch",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/920_update_case_multi_branch.py",
      "read_script": "generator/df-reads-spark/920_update_case_multi_branch.sql",
      "description": "200 rows (grade and pass computed; 80 rows have pass=true)",
      "status": "pass",
      "duration_ms": 35,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 35,
      "read_warm_ms": 15,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/921_update_where_decimal",
      "num": 921,
      "name": "update_where_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/921_update_where_decimal.py",
      "read_script": "generator/df-reads-spark/921_update_where_decimal.sql",
      "description": "200 rows (20 cheap, 80 mid, 100 expensive)",
      "status": "pass",
      "duration_ms": 23,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 23,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/922_update_where_timestamp",
      "num": 922,
      "name": "update_where_timestamp",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/922_update_where_timestamp.py",
      "read_script": "generator/df-reads-spark/922_update_where_timestamp.sql",
      "description": "200 rows (99 old, 101 new)",
      "status": "pass",
      "duration_ms": 23,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 23,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/923_update_where_boolean",
      "num": 923,
      "name": "update_where_boolean",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/923_update_where_boolean.py",
      "read_script": "generator/df-reads-spark/923_update_where_boolean.sql",
      "description": "200 rows (48 active_high, 52 active_low, 100 inactive)",
      "status": "pass",
      "duration_ms": 34,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 34,
      "read_warm_ms": 14,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/924_update_where_null",
      "num": 924,
      "name": "update_where_null",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/924_update_where_null.py",
      "read_script": "generator/df-reads-spark/924_update_where_null.sql",
      "description": "100 rows (no NULLs in any column after all three UPDATEs)",
      "status": "pass",
      "duration_ms": 35,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 35,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/925_update_decimal_round",
      "num": 925,
      "name": "update_decimal_round",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/925_update_decimal_round.py",
      "read_script": "generator/df-reads-spark/925_update_decimal_round.sql",
      "description": "UPDATE with ROUND on DECIMAL. Tests that the engine",
      "status": "pass",
      "duration_ms": 20,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 20,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/926_update_cast_chain",
      "num": 926,
      "name": "update_cast_chain",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/926_update_cast_chain.py",
      "read_script": "generator/df-reads-spark/926_update_cast_chain.sql",
      "description": "UPDATE with chained CASTs: INT -> DOUBLE -> DECIMAL -> STRING.",
      "status": "pass",
      "duration_ms": 21,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 21,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/927_update_multi_col_same_type",
      "num": 927,
      "name": "update_multi_col_same_type",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/927_update_multi_col_same_type.py",
      "read_script": "generator/df-reads-spark/927_update_multi_col_same_type.sql",
      "description": "UPDATE SET on 5 columns of the same type (all INT) simultaneously.",
      "status": "pass",
      "duration_ms": 24,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 24,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/928_update_multi_col_mixed_types",
      "num": 928,
      "name": "update_multi_col_mixed_types",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/928_update_multi_col_mixed_types.py",
      "read_script": "generator/df-reads-spark/928_update_multi_col_mixed_types.sql",
      "description": "UPDATE SET on 6 columns of different types simultaneously",
      "status": "pass",
      "duration_ms": 25,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 25,
      "read_warm_ms": 14,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/929_update_sequential_same_col",
      "num": 929,
      "name": "update_sequential_same_col",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/929_update_sequential_same_col.py",
      "read_script": "generator/df-reads-spark/929_update_sequential_same_col.sql",
      "description": "5 sequential UPDATEs on the same column (counter).",
      "status": "pass",
      "duration_ms": 26,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 26,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/92_large_transaction_log_many_versions",
      "num": 92,
      "name": "large_transaction_log_many_versions",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/92_large_transaction_log_many_versions.py",
      "read_script": "generator/df-reads-spark/92_large_transaction_log_many_versions.sql",
      "description": "Large transaction log with many versions without checkpoint.",
      "status": "pass",
      "duration_ms": 467,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 467,
      "read_warm_ms": 176,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 34832,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/930_update_sequential_diff_cols",
      "num": 930,
      "name": "update_sequential_diff_cols",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/930_update_sequential_diff_cols.py",
      "read_script": "generator/df-reads-spark/930_update_sequential_diff_cols.sql",
      "description": "5 sequential UPDATEs each targeting a different column.",
      "status": "pass",
      "duration_ms": 35,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 35,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/931_update_decimal_zero_and_negative",
      "num": 931,
      "name": "update_decimal_zero_and_negative",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/931_update_decimal_zero_and_negative.py",
      "read_script": "generator/df-reads-spark/931_update_decimal_zero_and_negative.sql",
      "description": "UPDATE DECIMAL to classify rows by sign (positive, negative,",
      "status": "pass",
      "duration_ms": 21,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 21,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/932_update_timestamp_microsecond",
      "num": 932,
      "name": "update_timestamp_microsecond",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/932_update_timestamp_microsecond.py",
      "read_script": "generator/df-reads-spark/932_update_timestamp_microsecond.sql",
      "description": "UPDATE TIMESTAMP with 1-microsecond precision difference.",
      "status": "pass",
      "duration_ms": 24,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 24,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/933_update_string_to_typed",
      "num": 933,
      "name": "update_string_to_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/933_update_string_to_typed.py",
      "read_script": "generator/df-reads-spark/933_update_string_to_typed.sql",
      "description": "UPDATE that converts string column values into typed columns",
      "status": "pass",
      "duration_ms": 20,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 20,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/934_update_cross_type_expression",
      "num": 934,
      "name": "update_cross_type_expression",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/934_update_cross_type_expression.py",
      "read_script": "generator/df-reads-spark/934_update_cross_type_expression.sql",
      "description": "UPDATE where SET expression references multiple typed columns",
      "status": "pass",
      "duration_ms": 26,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 26,
      "read_warm_ms": 14,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/935_update_conditional_per_partition",
      "num": 935,
      "name": "update_conditional_per_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/935_update_conditional_per_partition.py",
      "read_script": "generator/df-reads-spark/935_update_conditional_per_partition.sql",
      "description": "UPDATE with different SET expressions per partition.",
      "status": "pass",
      "duration_ms": 40,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 40,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/936_update_decimal_where_range",
      "num": 936,
      "name": "update_decimal_where_range",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/936_update_decimal_where_range.py",
      "read_script": "generator/df-reads-spark/936_update_decimal_where_range.sql",
      "description": "UPDATE with DECIMAL range comparisons in WHERE (< and >=).",
      "status": "pass",
      "duration_ms": 23,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 23,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/937_update_boolean_from_comparison",
      "num": 937,
      "name": "update_boolean_from_comparison",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/937_update_boolean_from_comparison.py",
      "read_script": "generator/df-reads-spark/937_update_boolean_from_comparison.sql",
      "description": "UPDATE SET BOOLEAN columns from various comparison expressions",
      "status": "pass",
      "duration_ms": 21,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 21,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/938_update_preserve_six_types",
      "num": 938,
      "name": "update_preserve_six_types",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/938_update_preserve_six_types.py",
      "read_script": "generator/df-reads-spark/938_update_preserve_six_types.sql",
      "description": "UPDATE only 1 column (tag), verifying that 6 other typed",
      "status": "pass",
      "duration_ms": 34,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 34,
      "read_warm_ms": 10,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/939_update_decimal_cdc",
      "num": 939,
      "name": "update_decimal_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/939_update_decimal_cdc.py",
      "read_script": "generator/df-reads-spark/939_update_decimal_cdc.sql",
      "description": "UPDATE DECIMAL columns with CDC (Change Data Feed) enabled.",
      "status": "pass",
      "duration_ms": 22,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 22,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/93_data_change_flag_scenarios",
      "num": 93,
      "name": "data_change_flag_scenarios",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/93_data_change_flag_scenarios.py",
      "read_script": "generator/df-reads-spark/93_data_change_flag_scenarios.sql",
      "description": "The dataChange flag in add and remove actions.",
      "status": "pass",
      "duration_ms": 29,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 29,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 5181,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/940_update_timestamp_cdc",
      "num": 940,
      "name": "update_timestamp_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/940_update_timestamp_cdc.py",
      "read_script": "generator/df-reads-spark/940_update_timestamp_cdc.sql",
      "description": "UPDATE TIMESTAMP column with CDC (Change Data Feed) enabled.",
      "status": "pass",
      "duration_ms": 20,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 20,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/941_update_decimal_optimize",
      "num": 941,
      "name": "update_decimal_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/941_update_decimal_optimize.py",
      "read_script": "generator/df-reads-spark/941_update_decimal_optimize.sql",
      "description": "UPDATE DECIMAL(10,2) column then OPTIMIZE. Tests that",
      "status": "pass",
      "duration_ms": 24,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 24,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/942_update_timestamp_optimize",
      "num": 942,
      "name": "update_timestamp_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/942_update_timestamp_optimize.py",
      "read_script": "generator/df-reads-spark/942_update_timestamp_optimize.sql",
      "description": "UPDATE TIMESTAMP column then OPTIMIZE. Tests that",
      "status": "pass",
      "duration_ms": 35,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 35,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/943_update_boolean_optimize",
      "num": 943,
      "name": "update_boolean_optimize",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/943_update_boolean_optimize.py",
      "read_script": "generator/df-reads-spark/943_update_boolean_optimize.sql",
      "description": "UPDATE BOOLEAN column then OPTIMIZE. Tests that BOOLEAN",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/944_update_decimal_constraint",
      "num": 944,
      "name": "update_decimal_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/944_update_decimal_constraint.py",
      "read_script": "generator/df-reads-spark/944_update_decimal_constraint.sql",
      "description": "UPDATE DECIMAL(10,2) column respecting a CHECK constraint.",
      "status": "pass",
      "duration_ms": 21,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 21,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/945_update_int_constraint",
      "num": 945,
      "name": "update_int_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/945_update_int_constraint.py",
      "read_script": "generator/df-reads-spark/945_update_int_constraint.sql",
      "description": "UPDATE INT column respecting a CHECK constraint.",
      "status": "pass",
      "duration_ms": 21,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 21,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/946_update_decimal_colmap",
      "num": 946,
      "name": "update_decimal_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/946_update_decimal_colmap.py",
      "read_script": "generator/df-reads-spark/946_update_decimal_colmap.sql",
      "description": "UPDATE DECIMAL(12,4) column with column mapping (name mode).",
      "status": "pass",
      "duration_ms": 20,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 20,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/947_update_timestamp_colmap",
      "num": 947,
      "name": "update_timestamp_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/947_update_timestamp_colmap.py",
      "read_script": "generator/df-reads-spark/947_update_timestamp_colmap.sql",
      "description": "UPDATE TIMESTAMP column with column mapping (name mode).",
      "status": "pass",
      "duration_ms": 30,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 30,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/948_update_evolve_then_update",
      "num": 948,
      "name": "update_evolve_then_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/948_update_evolve_then_update.py",
      "read_script": "generator/df-reads-spark/948_update_evolve_then_update.sql",
      "description": "ADD COLUMN (DECIMAL) via schema evolution then UPDATE",
      "status": "pass",
      "duration_ms": 23,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 23,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/949_update_evolve_timestamp",
      "num": 949,
      "name": "update_evolve_timestamp",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/949_update_evolve_timestamp.py",
      "read_script": "generator/df-reads-spark/949_update_evolve_timestamp.sql",
      "description": "ADD TIMESTAMP column via schema evolution then UPDATE it.",
      "status": "pass",
      "duration_ms": 23,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 23,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/94_set_transaction_idempotent_writes",
      "num": 94,
      "name": "set_transaction_idempotent_writes",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/94_set_transaction_idempotent_writes.py",
      "read_script": "generator/df-reads-spark/94_set_transaction_idempotent_writes.sql",
      "description": "SetTransaction actions for idempotent streaming writes.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 1525,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/950_update_evolve_boolean",
      "num": 950,
      "name": "update_evolve_boolean",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/950_update_evolve_boolean.py",
      "read_script": "generator/df-reads-spark/950_update_evolve_boolean.sql",
      "description": "ADD BOOLEAN column via schema evolution then UPDATE it",
      "status": "pass",
      "duration_ms": 22,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 22,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/951_update_then_delete_typed",
      "num": 951,
      "name": "update_then_delete_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/951_update_then_delete_typed.py",
      "read_script": "generator/df-reads-spark/951_update_then_delete_typed.sql",
      "description": "UPDATE typed columns (DECIMAL+TIMESTAMP+BOOLEAN) then DELETE.",
      "status": "pass",
      "duration_ms": 24,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 24,
      "read_warm_ms": 10,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/952_update_decimal_partition",
      "num": 952,
      "name": "update_decimal_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/952_update_decimal_partition.py",
      "read_script": "generator/df-reads-spark/952_update_decimal_partition.sql",
      "description": "UPDATE DECIMAL(10,2) column on a partitioned table.",
      "status": "pass",
      "duration_ms": 69,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 69,
      "read_warm_ms": 30,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/953_update_timestamp_partition",
      "num": 953,
      "name": "update_timestamp_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/953_update_timestamp_partition.py",
      "read_script": "generator/df-reads-spark/953_update_timestamp_partition.sql",
      "description": "UPDATE TIMESTAMP column on a partitioned table.",
      "status": "pass",
      "duration_ms": 39,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 39,
      "read_warm_ms": 20,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/954_update_boolean_partition",
      "num": 954,
      "name": "update_boolean_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/954_update_boolean_partition.py",
      "read_script": "generator/df-reads-spark/954_update_boolean_partition.sql",
      "description": "UPDATE BOOLEAN column on a partitioned table.",
      "status": "pass",
      "duration_ms": 36,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 36,
      "read_warm_ms": 18,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/955_update_all_types_partition",
      "num": 955,
      "name": "update_all_types_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/955_update_all_types_partition.py",
      "read_script": "generator/df-reads-spark/955_update_all_types_partition.sql",
      "description": "UPDATE different typed columns per partition on a",
      "status": "pass",
      "duration_ms": 47,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 47,
      "read_warm_ms": 22,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/956_update_decimal_cdc_exact",
      "num": 956,
      "name": "update_decimal_cdc_exact",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/956_update_decimal_cdc_exact.py",
      "read_script": "generator/df-reads-spark/956_update_decimal_cdc_exact.sql",
      "description": "UPDATE DECIMAL with CDC enabled, exact CDF row counts.",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/957_update_mixed_cdc_exact",
      "num": 957,
      "name": "update_mixed_cdc_exact",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/957_update_mixed_cdc_exact.py",
      "read_script": "generator/df-reads-spark/957_update_mixed_cdc_exact.sql",
      "description": "UPDATE multiple typed columns with CDC enabled, exact",
      "status": "pass",
      "duration_ms": 34,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 34,
      "read_warm_ms": 10,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/958_update_chain_decimal",
      "num": 958,
      "name": "update_chain_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/958_update_chain_decimal.py",
      "read_script": "generator/df-reads-spark/958_update_chain_decimal.sql",
      "description": "3 sequential UPDATEs on a DECIMAL(10,2) column with",
      "status": "pass",
      "duration_ms": 24,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 24,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/959_update_chain_timestamp",
      "num": 959,
      "name": "update_chain_timestamp",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/959_update_chain_timestamp.py",
      "read_script": "generator/df-reads-spark/959_update_chain_timestamp.sql",
      "description": "3 sequential UPDATEs on a TIMESTAMP column with different",
      "status": "pass",
      "duration_ms": 21,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 21,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/95_protocol_version_edge_cases",
      "num": 95,
      "name": "protocol_version_edge_cases",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/95_protocol_version_edge_cases.py",
      "read_script": "generator/df-reads-spark/95_protocol_version_edge_cases.sql",
      "description": "Protocol version edge cases and compatibility.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 6929,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/960_update_chain_boolean",
      "num": 960,
      "name": "update_chain_boolean",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/960_update_chain_boolean.py",
      "read_script": "generator/df-reads-spark/960_update_chain_boolean.sql",
      "description": "3 sequential UPDATEs flipping a BOOLEAN column with",
      "status": "pass",
      "duration_ms": 21,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 21,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/961_update_struct_colmap",
      "num": 961,
      "name": "update_struct_colmap",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/961_update_struct_colmap.py",
      "read_script": "generator/df-reads-spark/961_update_struct_colmap.sql",
      "description": "UPDATE scalar columns on a table with STRUCT column and",
      "status": "pass",
      "duration_ms": 27,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 27,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/962_update_decimal_not_null",
      "num": 962,
      "name": "update_decimal_not_null",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/962_update_decimal_not_null.py",
      "read_script": "generator/df-reads-spark/962_update_decimal_not_null.sql",
      "description": "UPDATE DECIMAL column on a table with NOT NULL columns.",
      "status": "pass",
      "duration_ms": 22,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 22,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/963_update_overwrite_then_update",
      "num": 963,
      "name": "update_overwrite_then_update",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/963_update_overwrite_then_update.py",
      "read_script": "generator/df-reads-spark/963_update_overwrite_then_update.sql",
      "description": "INSERT OVERWRITE then UPDATE typed columns. Tests that",
      "status": "pass",
      "duration_ms": 21,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 21,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/964_update_where_compound_typed",
      "num": 964,
      "name": "update_where_compound_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/964_update_where_compound_typed.py",
      "read_script": "generator/df-reads-spark/964_update_where_compound_typed.sql",
      "description": "UPDATE with compound WHERE clause mixing typed predicates",
      "status": "pass",
      "duration_ms": 36,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 36,
      "read_warm_ms": 19,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/965_update_decimal_then_update_int",
      "num": 965,
      "name": "update_decimal_then_update_int",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/965_update_decimal_then_update_int.py",
      "read_script": "generator/df-reads-spark/965_update_decimal_then_update_int.sql",
      "description": "UPDATE DECIMAL column then UPDATE INT column on the same",
      "status": "pass",
      "duration_ms": 23,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 23,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/966_update_all_types_where_id_range",
      "num": 966,
      "name": "update_all_types_where_id_range",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/966_update_all_types_where_id_range.py",
      "read_script": "generator/df-reads-spark/966_update_all_types_where_id_range.sql",
      "description": "UPDATE all 6 typed columns (STRING, INT, DOUBLE, BOOLEAN,",
      "status": "pass",
      "duration_ms": 27,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 27,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/967_update_string_operations",
      "num": 967,
      "name": "update_string_operations",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/967_update_string_operations.py",
      "read_script": "generator/df-reads-spark/967_update_string_operations.sql",
      "description": "Various string operations in UPDATE SET clause: CONCAT,",
      "status": "pass",
      "duration_ms": 21,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 21,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/968_update_decimal_from_int_cast",
      "num": 968,
      "name": "update_decimal_from_int_cast",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/968_update_decimal_from_int_cast.py",
      "read_script": "generator/df-reads-spark/968_update_decimal_from_int_cast.sql",
      "description": "UPDATE DECIMAL(10,2) column from INT column via CAST.",
      "status": "pass",
      "duration_ms": 42,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 42,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/969_update_int_from_decimal_cast",
      "num": 969,
      "name": "update_int_from_decimal_cast",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/969_update_int_from_decimal_cast.py",
      "read_script": "generator/df-reads-spark/969_update_int_from_decimal_cast.sql",
      "description": "UPDATE INT column from DECIMAL column via CAST (truncation).",
      "status": "pass",
      "duration_ms": 30,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 30,
      "read_warm_ms": 15,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/970_update_noop_all_types",
      "num": 970,
      "name": "update_noop_all_types",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/970_update_noop_all_types.py",
      "read_script": "generator/df-reads-spark/970_update_noop_all_types.sql",
      "description": "No-op UPDATE (SET col=col) for every typed column. Tests",
      "status": "pass",
      "duration_ms": 39,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 39,
      "read_warm_ms": 19,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/971_update_decimal_colmap_cdc",
      "num": 971,
      "name": "update_decimal_colmap_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/971_update_decimal_colmap_cdc.py",
      "read_script": "generator/df-reads-spark/971_update_decimal_colmap_cdc.sql",
      "description": "DECIMAL UPDATE + column mapping (name) + CDC. Three-way",
      "status": "pass",
      "duration_ms": 31,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 31,
      "read_warm_ms": 18,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/972_update_typed_partition_cdc",
      "num": 972,
      "name": "update_typed_partition_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/972_update_typed_partition_cdc.py",
      "read_script": "generator/df-reads-spark/972_update_typed_partition_cdc.sql",
      "description": "Typed UPDATE + partition + CDC. Three-way combination.",
      "status": "pass",
      "duration_ms": 78,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 78,
      "read_warm_ms": 26,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/973_update_typed_constraint_evolve",
      "num": 973,
      "name": "update_typed_constraint_evolve",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/973_update_typed_constraint_evolve.py",
      "read_script": "generator/df-reads-spark/973_update_typed_constraint_evolve.sql",
      "description": "Typed UPDATE + constraint + schema evolution. Three-way.",
      "status": "pass",
      "duration_ms": 31,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 31,
      "read_warm_ms": 14,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:constraints",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/974_update_typed_optimize_partition",
      "num": 974,
      "name": "update_typed_optimize_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/974_update_typed_optimize_partition.py",
      "read_script": "generator/df-reads-spark/974_update_typed_optimize_partition.sql",
      "description": "Typed UPDATE + OPTIMIZE + partition. Three-way.",
      "status": "pass",
      "duration_ms": 31,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 31,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/975_update_colmap_evolve_typed",
      "num": 975,
      "name": "update_colmap_evolve_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/975_update_colmap_evolve_typed.py",
      "read_script": "generator/df-reads-spark/975_update_colmap_evolve_typed.sql",
      "description": "Column mapping (name) + schema evolution + typed UPDATE.",
      "status": "pass",
      "duration_ms": 53,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 53,
      "read_warm_ms": 18,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/976_update_cdc_constraint_typed",
      "num": 976,
      "name": "update_cdc_constraint_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/976_update_cdc_constraint_typed.py",
      "read_script": "generator/df-reads-spark/976_update_cdc_constraint_typed.sql",
      "description": "CDC + constraint + typed UPDATE. Three-way.",
      "status": "pass",
      "duration_ms": 38,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 38,
      "read_warm_ms": 15,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/977_update_large_decimal",
      "num": 977,
      "name": "update_large_decimal",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/977_update_large_decimal.py",
      "read_script": "generator/df-reads-spark/977_update_large_decimal.sql",
      "description": "Large scale UPDATE (2000 rows) with DECIMAL precision.",
      "status": "pass",
      "duration_ms": 77,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 77,
      "read_warm_ms": 36,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/978_update_large_mixed",
      "num": 978,
      "name": "update_large_mixed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/978_update_large_mixed.py",
      "read_script": "generator/df-reads-spark/978_update_large_mixed.sql",
      "description": "Large scale UPDATE (2000 rows) with 4 typed columns.",
      "status": "pass",
      "duration_ms": 95,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 95,
      "read_warm_ms": 21,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/979_update_large_sequential",
      "num": 979,
      "name": "update_large_sequential",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/979_update_large_sequential.py",
      "read_script": "generator/df-reads-spark/979_update_large_sequential.sql",
      "description": "Large scale (1000 rows) with 10 sequential UPDATEs.",
      "status": "pass",
      "duration_ms": 69,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 69,
      "read_warm_ms": 19,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/980_update_single_row_typed",
      "num": 980,
      "name": "update_single_row_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/980_update_single_row_typed.py",
      "read_script": "generator/df-reads-spark/980_update_single_row_typed.sql",
      "description": "UPDATE single row with all types. Tests minimum-scale",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/981_update_empty_result_typed",
      "num": 981,
      "name": "update_empty_result_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/981_update_empty_result_typed.py",
      "read_script": "generator/df-reads-spark/981_update_empty_result_typed.sql",
      "description": "UPDATE WHERE false on typed table. No rows match the",
      "status": "pass",
      "duration_ms": 26,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 26,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/982_update_full_table_typed",
      "num": 982,
      "name": "update_full_table_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/982_update_full_table_typed.py",
      "read_script": "generator/df-reads-spark/982_update_full_table_typed.sql",
      "description": "UPDATE all rows (no WHERE clause) with typed columns.",
      "status": "pass",
      "duration_ms": 42,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 42,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/983_update_typed_delete_typed",
      "num": 983,
      "name": "update_typed_delete_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/983_update_typed_delete_typed.py",
      "read_script": "generator/df-reads-spark/983_update_typed_delete_typed.sql",
      "description": "UPDATE typed then DELETE on typed predicate.",
      "status": "pass",
      "duration_ms": 29,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 29,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/984_update_delete_update_typed",
      "num": 984,
      "name": "update_delete_update_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/984_update_delete_update_typed.py",
      "read_script": "generator/df-reads-spark/984_update_delete_update_typed.sql",
      "description": "UPDATE then DELETE then UPDATE. Three-step DML chain",
      "status": "pass",
      "duration_ms": 33,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 33,
      "read_warm_ms": 15,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/985_update_typed_then_insert",
      "num": 985,
      "name": "update_typed_then_insert",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/985_update_typed_then_insert.py",
      "read_script": "generator/df-reads-spark/985_update_typed_then_insert.sql",
      "description": "UPDATE typed columns then INSERT more rows. Tests that",
      "status": "pass",
      "duration_ms": 51,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 51,
      "read_warm_ms": 27,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/986_update_struct_fields",
      "num": 986,
      "name": "update_struct_fields",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/986_update_struct_fields.py",
      "read_script": "generator/df-reads-spark/986_update_struct_fields.sql",
      "description": "UPDATE non-struct columns on table with nested STRUCT.",
      "status": "pass",
      "duration_ms": 40,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 40,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "scale:nested-types",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/987_update_decimal_two_constraints",
      "num": 987,
      "name": "update_decimal_two_constraints",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/987_update_decimal_two_constraints.py",
      "read_script": "generator/df-reads-spark/987_update_decimal_two_constraints.sql",
      "description": "Two CHECK constraints on DECIMAL column + UPDATE.",
      "status": "pass",
      "duration_ms": 43,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 43,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/988_update_typed_nmbys_style",
      "num": 988,
      "name": "update_typed_nmbys_style",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/988_update_typed_nmbys_style.py",
      "read_script": "generator/df-reads-spark/988_update_typed_nmbys_style.sql",
      "description": "UPDATE simulating NOT-MATCHED-BY-SOURCE pattern.",
      "status": "pass",
      "duration_ms": 35,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 35,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/989_update_typed_colmap_partition",
      "num": 989,
      "name": "update_typed_colmap_partition",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/989_update_typed_colmap_partition.py",
      "read_script": "generator/df-reads-spark/989_update_typed_colmap_partition.sql",
      "description": "Column mapping (name) + partition + typed UPDATE.",
      "status": "pass",
      "duration_ms": 59,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 59,
      "read_warm_ms": 19,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/98_decimal_precision_edge_cases",
      "num": 98,
      "name": "decimal_precision_edge_cases",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/98_decimal_precision_edge_cases.py",
      "read_script": "generator/df-reads-spark/98_decimal_precision_edge_cases.sql",
      "description": "Decimal precision and scale edge cases in Delta Lake.",
      "status": "pass",
      "duration_ms": 1000,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-03T22:16:04.651285+00:00",
      "tags": [
        "type:decimal",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/990_update_evolve_decimal_constraint",
      "num": 990,
      "name": "update_evolve_decimal_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/990_update_evolve_decimal_constraint.py",
      "read_script": "generator/df-reads-spark/990_update_evolve_decimal_constraint.sql",
      "description": "Schema evolution + DECIMAL + constraint + UPDATE.",
      "status": "pass",
      "duration_ms": 32,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 32,
      "read_warm_ms": 15,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:constraints",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/991_update_three_decimal_cols",
      "num": 991,
      "name": "update_three_decimal_cols",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/991_update_three_decimal_cols.py",
      "read_script": "generator/df-reads-spark/991_update_three_decimal_cols.sql",
      "description": "UPDATE 3 DECIMAL columns with different scales simultaneously.",
      "status": "pass",
      "duration_ms": 39,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 39,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/992_update_timestamp_date_together",
      "num": 992,
      "name": "update_timestamp_date_together",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/992_update_timestamp_date_together.py",
      "read_script": "generator/df-reads-spark/992_update_timestamp_date_together.sql",
      "description": "UPDATE both TIMESTAMP and DATE columns in the same statement.",
      "status": "pass",
      "duration_ms": 29,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 29,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/993_update_boolean_three_cols",
      "num": 993,
      "name": "update_boolean_three_cols",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/993_update_boolean_three_cols.py",
      "read_script": "generator/df-reads-spark/993_update_boolean_three_cols.sql",
      "description": "UPDATE 3 BOOLEAN columns with different CASE conditions",
      "status": "pass",
      "duration_ms": 25,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 25,
      "read_warm_ms": 17,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/994_update_string_from_typed",
      "num": 994,
      "name": "update_string_from_typed",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/994_update_string_from_typed.py",
      "read_script": "generator/df-reads-spark/994_update_string_from_typed.sql",
      "description": "UPDATE STRING columns derived from typed columns via CAST.",
      "status": "pass",
      "duration_ms": 37,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 37,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/995_update_decimal_partition_cdc",
      "num": 995,
      "name": "update_decimal_partition_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/995_update_decimal_partition_cdc.py",
      "read_script": "generator/df-reads-spark/995_update_decimal_partition_cdc.sql",
      "description": "DECIMAL UPDATE + partition + CDC. Three-way combination.",
      "status": "pass",
      "duration_ms": 71,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 71,
      "read_warm_ms": 23,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/996_update_typed_colmap_evolve_cdc",
      "num": 996,
      "name": "update_typed_colmap_evolve_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/996_update_typed_colmap_evolve_cdc.py",
      "read_script": "generator/df-reads-spark/996_update_typed_colmap_evolve_cdc.sql",
      "description": "Column mapping + schema evolution + CDC + typed UPDATE.",
      "status": "pass",
      "duration_ms": 33,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 33,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/997_update_typed_optimize_cdc",
      "num": 997,
      "name": "update_typed_optimize_cdc",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/997_update_typed_optimize_cdc.py",
      "read_script": "generator/df-reads-spark/997_update_typed_optimize_cdc.sql",
      "description": "OPTIMIZE + CDC + typed UPDATE. Three-way combination.",
      "status": "pass",
      "duration_ms": 42,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 42,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/998_update_decimal_chain_four",
      "num": 998,
      "name": "update_decimal_chain_four",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/998_update_decimal_chain_four.py",
      "read_script": "generator/df-reads-spark/998_update_decimal_chain_four.sql",
      "description": "4 sequential DECIMAL UPDATEs with maximum DV stacking.",
      "status": "pass",
      "duration_ms": 44,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 44,
      "read_warm_ms": 14,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/999_update_all_types_cdc_partition_constraint",
      "num": 999,
      "name": "update_all_types_cdc_partition_constraint",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/999_update_all_types_cdc_partition_constraint.py",
      "read_script": "generator/df-reads-spark/999_update_all_types_cdc_partition_constraint.sql",
      "description": "Five-way combination: all types + CDC + partition +",
      "status": "pass",
      "duration_ms": 63,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-08T14:45:20.312370+00:00",
      "read_cold_ms": 63,
      "read_warm_ms": 27,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/delta/99_checkpoint_parquet_schema_structure",
      "num": 99,
      "name": "checkpoint_parquet_schema_structure",
      "type": "spark-writes",
      "format": "delta",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes/99_checkpoint_parquet_schema_structure.py",
      "read_script": "generator/df-reads-spark/99_checkpoint_parquet_schema_structure.sql",
      "description": "Checkpoint Parquet file internal schema structure.",
      "status": "pass",
      "duration_ms": 451,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-19T00:29:38.214309+00:00",
      "read_cold_ms": 451,
      "read_warm_ms": 204,
      "skip_feature": null,
      "skip_cause": null,
      "write_cold_ms": 0,
      "write_warm_ms": 22800,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:delta"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/01_basic_data_files_parquet",
      "num": 1,
      "name": "basic_data_files_parquet",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/01_basic_data_files_parquet.py",
      "read_script": "generator/df-reads-spark-iceberg/01_basic_data_files_parquet.sql",
      "description": "372 rows",
      "status": "pass",
      "duration_ms": 125,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:43:51.821812+00:00",
      "read_cold_ms": 125,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/01_update_ultimate",
      "num": 1,
      "name": "update_ultimate",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/01_update_ultimate.py",
      "read_script": "generator/df-reads-spark-iceberg/01_update_ultimate.sql",
      "description": "implemented using Iceberg SQL DML (UPDATE via IcebergSparkSessionExtensions).",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:43:51.821812+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:update",
        "delta:constraints",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/02_deletion_vector_files_external",
      "num": 2,
      "name": "deletion_vector_files_external",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/02_deletion_vector_files_external.py",
      "read_script": "generator/df-reads-spark-iceberg/02_deletion_vector_files_external.sql",
      "description": "- DELETE operations that create external deletion vector files (.bin) - Multiple deletion predicates demonstrating DV accumulation - Boolean, string, and numeric predicates - **Modulo operator in DELETE predicates** (`column % divisor = remainder`) - LIKE pattern matching in...",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:43:51.821812+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/02_insert_int_types",
      "num": 2,
      "name": "insert_int_types",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/02_insert_int_types.py",
      "read_script": "generator/df-reads-spark-iceberg/02_insert_int_types.sql",
      "description": "100 rows. Deterministic formulas (i = 1..100): val_int = (i * 37) % 2000 val_small = (i * 13) % 100 val_tiny = i % 127 val_big = i * 1_000_000",
      "status": "pass",
      "duration_ms": 90,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:43:51.821812+00:00",
      "read_cold_ms": 90,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/03_change_data_capture_files",
      "num": 3,
      "name": "change_data_capture_files",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/03_change_data_capture_files.py",
      "read_script": "generator/df-reads-spark-iceberg/03_change_data_capture_files.sql",
      "description": "- Change Data Capture (CDC) with delta.enableChangeDataFeed = true - Multiple UPDATE operations with arithmetic expressions (price * 0.85) - UPDATE with multiple assignments - UPDATE with compound predicates (AND) - DELETE with modulo operator - INSERT for new products - MERGE...",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:43:51.821812+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/03_insert_float_double",
      "num": 3,
      "name": "insert_float_double",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/03_insert_float_double.py",
      "read_script": "generator/df-reads-spark-iceberg/03_insert_float_double.sql",
      "description": "INSERT FLOAT and DOUBLE precision values. 100 rows. Deterministic formulas (i = 1..100): val_float = CAST(ROUND(i * 3.14159, 2) AS FLOAT) val_double = ROUND(i * 2.71828182845, 10)",
      "status": "pass",
      "duration_ms": 48,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:43:51.821812+00:00",
      "read_cold_ms": 48,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/04_delta_log_json_entries",
      "num": 4,
      "name": "delta_log_json_entries",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/04_delta_log_json_entries.py",
      "read_script": "generator/df-reads-spark-iceberg/04_delta_log_json_entries.sql",
      "description": "- Version 0: CREATE TABLE + INSERT 1000 events (1-1000) - Version 1: INSERT 500 events (1001-1500) - Version 2: UPDATE mobile page_view -> mobile_page_view - Version 3: DELETE event_id IN (100,200,...,1500) OR (revenue IS NULL AND event_type='purchase') - Version 4: INSERT 500...",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:43:51.821812+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/04_insert_decimal_four_precisions",
      "num": 4,
      "name": "insert_decimal_four_precisions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/04_insert_decimal_four_precisions.py",
      "read_script": "generator/df-reads-spark-iceberg/04_insert_decimal_four_precisions.sql",
      "description": "INSERT DECIMAL at 4 different precision/scale combos. 50 rows. Deterministic formulas (i = 1..50): dec_5_2 = ROUND((i * 9.99) % 1000, 2) as DECIMAL(5,2) dec_10_4 = ROUND(i * 47.1234, 4) as DECIMAL(10,4) dec_18_8 = ROUND(i * 1.23456789, 8) as DECIMAL(18,8)",
      "status": "pass",
      "duration_ms": 60,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:43:51.821812+00:00",
      "read_cold_ms": 60,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/05_checkpoint_v1_classic_single",
      "num": 5,
      "name": "checkpoint_v1_classic_single",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/05_checkpoint_v1_classic_single.py",
      "read_script": "generator/df-reads-spark-iceberg/05_checkpoint_v1_classic_single.sql",
      "description": "- Checkpoint V1 classic single-file format - Deletion vectors enabled - Multiple UPDATE operations with range predicates - DELETE operations with IN lists - OPTIMIZE for file compaction",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:43:51.821812+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:checkpoint-v1",
        "delta:deletion-vectors",
        "delta:optimize",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/05_insert_timestamp_microsecond",
      "num": 5,
      "name": "insert_timestamp_microsecond",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/05_insert_timestamp_microsecond.py",
      "read_script": "generator/df-reads-spark-iceberg/05_insert_timestamp_microsecond.sql",
      "description": "INSERT TIMESTAMP with microsecond precision. 100 rows. Each row is exactly 1 microsecond apart starting from 2024-01-01 00:00:00 UTC (epoch_us = 1_704_067_200_000_000). ts = base_us + i (microseconds since unix epoch) label = 'micro_' || i",
      "status": "pass",
      "duration_ms": 50,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:43:51.821812+00:00",
      "read_cold_ms": 50,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/06_checkpoint_v2_spec_format",
      "num": 6,
      "name": "checkpoint_v2_spec_format",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/06_checkpoint_v2_spec_format.py",
      "read_script": "generator/df-reads-spark-iceberg/06_checkpoint_v2_spec_format.sql",
      "description": "- V2 checkpoint specification format - Deletion vectors enabled - Complex data types including Date32 and Timestamp - Boolean columns - Multiple UPDATE and DELETE operations - No-op operations (UPDATE/DELETE that affect 0 rows)",
      "status": "pass",
      "duration_ms": 48,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:43:51.821812+00:00",
      "read_cold_ms": 48,
      "read_warm_ms": 24,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:checkpoint-v2",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/06_insert_date_type",
      "num": 6,
      "name": "insert_date_type",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/06_insert_date_type.py",
      "read_script": "generator/df-reads-spark-iceberg/06_insert_date_type.sql",
      "description": "INSERT DATE values. 100 rows. Day numbers from epoch 1970-01-01 are 19723+i (i=1..100), spanning 2024-01-02 through 2024-04-11. event_date = 1970-01-01 + (19723 + i) days score = (i * 7) % 100",
      "status": "pass",
      "duration_ms": 22,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:43:51.821812+00:00",
      "read_cold_ms": 22,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/07_checkpoint_multipart_split",
      "num": 7,
      "name": "checkpoint_multipart_split",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/07_checkpoint_multipart_split.py",
      "read_script": "generator/df-reads-spark-iceberg/07_checkpoint_multipart_split.sql",
      "description": "- Multi-part checkpoint split across multiple files - Large table (100,000+ rows) with wide schema (26 columns) - Deletion vectors enabled - Multiple DECIMAL columns with various precision/scale - Complex fee calculation using integer arithmetic - Date32 and Timestamp columns -...",
      "status": "pass",
      "duration_ms": 176,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:43:51.821812+00:00",
      "read_cold_ms": 176,
      "read_warm_ms": 120,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:checkpoint-multipart",
        "delta:deletion-vectors",
        "delta:optimize",
        "scale:large-dataset",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/07_insert_boolean_patterns",
      "num": 7,
      "name": "insert_boolean_patterns",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/07_insert_boolean_patterns.py",
      "read_script": "generator/df-reads-spark-iceberg/07_insert_boolean_patterns.sql",
      "description": "INSERT BOOLEAN with various distribution patterns. 200 rows. Deterministic formulas (i = 1..200): all_true = True all_false = False alternating = (i % 2 == 0) sparse_true = (i % 10 == 0)",
      "status": "pass",
      "duration_ms": 66,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:43:51.821812+00:00",
      "read_cold_ms": 66,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/08_checkpoint_uuid_named_v2",
      "num": 8,
      "name": "checkpoint_uuid_named_v2",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/08_checkpoint_uuid_named_v2.py",
      "read_script": "generator/df-reads-spark-iceberg/08_checkpoint_uuid_named_v2.sql",
      "description": "- UUID-named V2 checkpoint files - Large table (30,000+ rows) with 23 columns - Deletion vectors enabled - DATE32 and TIMESTAMP columns - Multiple DECIMAL columns (weight_kg, shipping_cost, cost_per_kg) - Boolean columns (is_international, is_heavy_shipment) - Complex business...",
      "status": "pass",
      "duration_ms": 65,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:43:51.821812+00:00",
      "read_cold_ms": 65,
      "read_warm_ms": 49,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/08_insert_string_patterns",
      "num": 8,
      "name": "insert_string_patterns",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/08_insert_string_patterns.py",
      "read_script": "generator/df-reads-spark-iceberg/08_insert_string_patterns.sql",
      "description": "INSERT STRING with various content patterns. 100 rows. Deterministic formulas (i = 1..100): empty_str = '' if i%10==0 else 's_' || i single_char = {0:'a', 1:'b', 2:'c', 3:'d', 4:'e'}[i%5] numeric_str = str(i * 1000) long_str = 'prefix_{i}_middle_{i*i}_suffix",
      "status": "pass",
      "duration_ms": 79,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:43:51.821812+00:00",
      "read_cold_ms": 79,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/09_checkpoint_with_sidecar_files",
      "num": 9,
      "name": "checkpoint_with_sidecar_files",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/09_checkpoint_with_sidecar_files.py",
      "read_script": "generator/df-reads-spark-iceberg/09_checkpoint_with_sidecar_files.sql",
      "description": "- V2 checkpoint with sidecar files - Large table (60,000+ rows) with 28 columns - Deletion vectors enabled - DATE32 and TIMESTAMP columns - Multiple Boolean computed columns - Complex business logic with event analytics - Multiple UPDATE and DELETE operations - OPTIMIZE...",
      "status": "pass",
      "duration_ms": 123,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:43:51.821812+00:00",
      "read_cold_ms": 123,
      "read_warm_ms": 76,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:checkpoint-sidecar",
        "delta:deletion-vectors",
        "delta:optimize",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/09_insert_null_per_type",
      "num": 9,
      "name": "insert_null_per_type",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/09_insert_null_per_type.py",
      "read_script": "generator/df-reads-spark-iceberg/09_insert_null_per_type.sql",
      "description": "INSERT with NULL for each data type column at different mod offsets. 100 rows. For i = 1..100: s = NULL if i%7==1 else 's_' || i i = NULL if i%7==2 else (i*37) % 100 d = NULL if i%7==3 else round(i*2.5, 2) b = NULL if i%7==4 else (i%2==0)",
      "status": "pass",
      "duration_ms": 63,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:43:51.821812+00:00",
      "read_cold_ms": 63,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:null-handling",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1000_update_ultimate",
      "num": 1000,
      "name": "update_ultimate",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1000_update_ultimate.py",
      "read_script": "generator/df-reads-spark-iceberg/1000_update_ultimate.sql",
      "description": "ULTIMATE UPDATE test combining all features:",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1001_insert_int_types",
      "num": 1001,
      "name": "insert_int_types",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1001_insert_int_types.py",
      "read_script": "generator/df-reads-spark-iceberg/1001_insert_int_types.sql",
      "description": "INSERT with all integer types: INT, SMALLINT, TINYINT, BIGINT.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1002_insert_float_double",
      "num": 1002,
      "name": "insert_float_double",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1002_insert_float_double.py",
      "read_script": "generator/df-reads-spark-iceberg/1002_insert_float_double.sql",
      "description": "INSERT FLOAT and DOUBLE precision values.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1003_insert_decimal_four_precisions",
      "num": 1003,
      "name": "insert_decimal_four_precisions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1003_insert_decimal_four_precisions.py",
      "read_script": "generator/df-reads-spark-iceberg/1003_insert_decimal_four_precisions.sql",
      "description": "INSERT DECIMAL at 4 different precision/scale combos.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1004_insert_decimal_negative",
      "num": 1004,
      "name": "insert_decimal_negative",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1004_insert_decimal_negative.py",
      "read_script": "generator/df-reads-spark-iceberg/1004_insert_decimal_negative.sql",
      "description": "INSERT negative DECIMAL values.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1005_insert_decimal_zero",
      "num": 1005,
      "name": "insert_decimal_zero",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1005_insert_decimal_zero.py",
      "read_script": "generator/df-reads-spark-iceberg/1005_insert_decimal_zero.sql",
      "description": "INSERT DECIMAL with exact zeros and near-zeros.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1006_insert_decimal_max_precision",
      "num": 1006,
      "name": "insert_decimal_max_precision",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1006_insert_decimal_max_precision.py",
      "read_script": "generator/df-reads-spark-iceberg/1006_insert_decimal_max_precision.sql",
      "description": "INSERT DECIMAL(38,0) and DECIMAL(38,18) at maximum scale.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1007_insert_timestamp_microsecond",
      "num": 1007,
      "name": "insert_timestamp_microsecond",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1007_insert_timestamp_microsecond.py",
      "read_script": "generator/df-reads-spark-iceberg/1007_insert_timestamp_microsecond.sql",
      "description": "INSERT TIMESTAMP with microsecond precision.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1008_insert_timestamp_daily",
      "num": 1008,
      "name": "insert_timestamp_daily",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1008_insert_timestamp_daily.py",
      "read_script": "generator/df-reads-spark-iceberg/1008_insert_timestamp_daily.sql",
      "description": "INSERT TIMESTAMP at daily intervals.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1009_insert_timestamp_fixed",
      "num": 1009,
      "name": "insert_timestamp_fixed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1009_insert_timestamp_fixed.py",
      "read_script": "generator/df-reads-spark-iceberg/1009_insert_timestamp_fixed.sql",
      "description": "INSERT where all rows have identical TIMESTAMP.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/100_multipart_checkpoint_missing_parts",
      "num": 100,
      "name": "multipart_checkpoint_missing_parts",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/100_multipart_checkpoint_missing_parts.py",
      "read_script": "generator/df-reads-spark-iceberg/100_multipart_checkpoint_missing_parts.sql",
      "description": "Multi-part checkpoint handling and recovery scenarios.",
      "status": "pass",
      "duration_ms": 143,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 143,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "delta:checkpoint-multipart",
        "delta:constraints",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "robust:checkpoint-missing",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1010_insert_date_type",
      "num": 1010,
      "name": "insert_date_type",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1010_insert_date_type.py",
      "read_script": "generator/df-reads-spark-iceberg/1010_insert_date_type.sql",
      "description": "INSERT DATE values via arrow_cast Date32.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1011_insert_boolean_patterns",
      "num": 1011,
      "name": "insert_boolean_patterns",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1011_insert_boolean_patterns.py",
      "read_script": "generator/df-reads-spark-iceberg/1011_insert_boolean_patterns.sql",
      "description": "INSERT BOOLEAN with various distribution patterns.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1012_insert_string_patterns",
      "num": 1012,
      "name": "insert_string_patterns",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1012_insert_string_patterns.py",
      "read_script": "generator/df-reads-spark-iceberg/1012_insert_string_patterns.sql",
      "description": "INSERT STRING with various content patterns.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1013_insert_null_per_type",
      "num": 1013,
      "name": "insert_null_per_type",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1013_insert_null_per_type.py",
      "read_script": "generator/df-reads-spark-iceberg/1013_insert_null_per_type.sql",
      "description": "INSERT with NULL for each data type column at different offsets.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:null-handling",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1014_insert_all_null_row",
      "num": 1014,
      "name": "insert_all_null_row",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1014_insert_all_null_row.py",
      "read_script": "generator/df-reads-spark-iceberg/1014_insert_all_null_row.sql",
      "description": "INSERT rows that are entirely NULL except id.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:null-handling",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1015_insert_struct_basic",
      "num": 1015,
      "name": "insert_struct_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1015_insert_struct_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/1015_insert_struct_basic.sql",
      "description": "INSERT with simple STRUCT type.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1016_insert_struct_nested",
      "num": 1016,
      "name": "insert_struct_nested",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1016_insert_struct_nested.py",
      "read_script": "generator/df-reads-spark-iceberg/1016_insert_struct_nested.sql",
      "description": "INSERT with 2-level nested STRUCT.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1017_insert_struct_with_null",
      "num": 1017,
      "name": "insert_struct_with_null",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1017_insert_struct_with_null.py",
      "read_script": "generator/df-reads-spark-iceberg/1017_insert_struct_with_null.sql",
      "description": "INSERT STRUCT where some fields are NULL.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1018_insert_values_clause",
      "num": 1018,
      "name": "insert_values_clause",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1018_insert_values_clause.py",
      "read_script": "generator/df-reads-spark-iceberg/1018_insert_values_clause.sql",
      "description": "INSERT using VALUES clause (not generate_series).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1019_insert_multi_batch_same_schema",
      "num": 1019,
      "name": "insert_multi_batch_same_schema",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1019_insert_multi_batch_same_schema.py",
      "read_script": "generator/df-reads-spark-iceberg/1019_insert_multi_batch_same_schema.sql",
      "description": "10 separate INSERT batches into same table.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "scale:many-batches",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/101_schema_evolution_column_drops",
      "num": 101,
      "name": "schema_evolution_column_drops",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/101_schema_evolution_column_drops.py",
      "read_script": "generator/df-reads-spark-iceberg/101_schema_evolution_column_drops.sql",
      "description": "Schema (16 columns) - PII columns already dropped for GDPR compliance 3 INSERT batches + 2 UPDATEs",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "schema:drop-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1020_insert_multi_batch_growing",
      "num": 1020,
      "name": "insert_multi_batch_growing",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1020_insert_multi_batch_growing.py",
      "read_script": "generator/df-reads-spark-iceberg/1020_insert_multi_batch_growing.sql",
      "description": "INSERT batches that grow: 10, 20, 50, 100, 200 rows.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "scale:many-batches",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1021_insert_overwrite_typed",
      "num": 1021,
      "name": "insert_overwrite_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1021_insert_overwrite_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1021_insert_overwrite_typed.sql",
      "description": "INSERT OVERWRITE with all types.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1022_insert_cte_complex",
      "num": 1022,
      "name": "insert_cte_complex",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1022_insert_cte_complex.py",
      "read_script": "generator/df-reads-spark-iceberg/1022_insert_cte_complex.sql",
      "description": "INSERT using complex CTE with computed typed expressions.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1023_insert_union_all",
      "num": 1023,
      "name": "insert_union_all",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1023_insert_union_all.py",
      "read_script": "generator/df-reads-spark-iceberg/1023_insert_union_all.sql",
      "description": "INSERT from UNION ALL of multiple generate_series.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1024_insert_cross_join_typed",
      "num": 1024,
      "name": "insert_cross_join_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1024_insert_cross_join_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1024_insert_cross_join_typed.sql",
      "description": "INSERT using modular expressions for combinatorial data.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1025_insert_large_typed",
      "num": 1025,
      "name": "insert_large_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1025_insert_large_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1025_insert_large_typed.sql",
      "description": "INSERT 5000 rows with multiple typed columns.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1026_insert_decimal_cdc",
      "num": 1026,
      "name": "insert_decimal_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1026_insert_decimal_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1026_insert_decimal_cdc.sql",
      "description": "INSERT DECIMAL values with CDC enabled.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1027_insert_timestamp_cdc",
      "num": 1027,
      "name": "insert_timestamp_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1027_insert_timestamp_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1027_insert_timestamp_cdc.sql",
      "description": "INSERT TIMESTAMP values with CDC enabled.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1028_insert_typed_partition",
      "num": 1028,
      "name": "insert_typed_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1028_insert_typed_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1028_insert_typed_partition.sql",
      "description": "INSERT typed columns (DECIMAL, TIMESTAMP) into a partitioned table.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1029_insert_decimal_partition",
      "num": 1029,
      "name": "insert_decimal_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1029_insert_decimal_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1029_insert_decimal_partition.sql",
      "description": "INSERT DECIMAL values across partitions with different magnitudes per partition.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/102_partition_null_value_serialization",
      "num": 102,
      "name": "partition_null_value_serialization",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/102_partition_null_value_serialization.py",
      "read_script": "generator/df-reads-spark-iceberg/102_partition_null_value_serialization.sql",
      "description": "NULL partition value serialization and handling.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "delta:partitioning",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1030_insert_constraint_decimal",
      "num": 1030,
      "name": "insert_constraint_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1030_insert_constraint_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/1030_insert_constraint_decimal.sql",
      "description": "INSERT into table with CHECK constraint on DECIMAL column.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1031_insert_constraint_int",
      "num": 1031,
      "name": "insert_constraint_int",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1031_insert_constraint_int.py",
      "read_script": "generator/df-reads-spark-iceberg/1031_insert_constraint_int.sql",
      "description": "INSERT into table with CHECK constraint on INT column.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1032_insert_colmap_typed",
      "num": 1032,
      "name": "insert_colmap_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1032_insert_colmap_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1032_insert_colmap_typed.sql",
      "description": "INSERT typed columns (DECIMAL, TIMESTAMP, BOOLEAN) with column mapping mode=name.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1033_insert_evolve_decimal",
      "num": 1033,
      "name": "insert_evolve_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1033_insert_evolve_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/1033_insert_evolve_decimal.sql",
      "description": "INSERT, then ALTER ADD COLUMN DECIMAL(10,2), then INSERT more with the new column.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1034_insert_evolve_timestamp",
      "num": 1034,
      "name": "insert_evolve_timestamp",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1034_insert_evolve_timestamp.py",
      "read_script": "generator/df-reads-spark-iceberg/1034_insert_evolve_timestamp.sql",
      "description": "INSERT, then ALTER ADD COLUMN TIMESTAMP, then INSERT more with timestamps.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1035_insert_evolve_boolean",
      "num": 1035,
      "name": "insert_evolve_boolean",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1035_insert_evolve_boolean.py",
      "read_script": "generator/df-reads-spark-iceberg/1035_insert_evolve_boolean.sql",
      "description": "INSERT, then ALTER ADD COLUMN BOOLEAN, then INSERT more with boolean values.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1036_insert_evolve_multi",
      "num": 1036,
      "name": "insert_evolve_multi",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1036_insert_evolve_multi.py",
      "read_script": "generator/df-reads-spark-iceberg/1036_insert_evolve_multi.sql",
      "description": "INSERT, then ALTER ADD 3 columns (DECIMAL, TIMESTAMP, BOOLEAN), then INSERT more.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1037_insert_overwrite_decimal",
      "num": 1037,
      "name": "insert_overwrite_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1037_insert_overwrite_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/1037_insert_overwrite_decimal.sql",
      "description": "INSERT then INSERT OVERWRITE with DECIMAL values.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1038_insert_overwrite_timestamp",
      "num": 1038,
      "name": "insert_overwrite_timestamp",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1038_insert_overwrite_timestamp.py",
      "read_script": "generator/df-reads-spark-iceberg/1038_insert_overwrite_timestamp.sql",
      "description": "INSERT then INSERT OVERWRITE with TIMESTAMP values.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1039_insert_optimize_typed",
      "num": 1039,
      "name": "insert_optimize_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1039_insert_optimize_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1039_insert_optimize_typed.sql",
      "description": "INSERT typed data (DECIMAL, TIMESTAMP, BOOLEAN) in 4 batches then OPTIMIZE.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/103_statistics_string_truncation",
      "num": 103,
      "name": "statistics_string_truncation",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/103_statistics_string_truncation.py",
      "read_script": "generator/df-reads-spark-iceberg/103_statistics_string_truncation.sql",
      "description": "String statistics truncation behavior.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:default-values",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "storage:statistics",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1040_insert_many_batches_decimal",
      "num": 1040,
      "name": "insert_many_batches_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1040_insert_many_batches_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/1040_insert_many_batches_decimal.sql",
      "description": "20 INSERT batches with DECIMAL(10,2) values.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "scale:many-batches",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1041_insert_many_batches_timestamp",
      "num": 1041,
      "name": "insert_many_batches_timestamp",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1041_insert_many_batches_timestamp.py",
      "read_script": "generator/df-reads-spark-iceberg/1041_insert_many_batches_timestamp.sql",
      "description": "20 INSERT batches with TIMESTAMP values.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "scale:large-dataset",
        "scale:many-batches",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1042_insert_partial_columns",
      "num": 1042,
      "name": "insert_partial_columns",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1042_insert_partial_columns.py",
      "read_script": "generator/df-reads-spark-iceberg/1042_insert_partial_columns.sql",
      "description": "INSERT specifying only a subset of columns.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1043_insert_int_boundary_values",
      "num": 1043,
      "name": "insert_int_boundary_values",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1043_insert_int_boundary_values.py",
      "read_script": "generator/df-reads-spark-iceberg/1043_insert_int_boundary_values.sql",
      "description": "INSERT with INT boundary values (min, max, zero, negative).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1044_insert_bigint_boundary",
      "num": 1044,
      "name": "insert_bigint_boundary",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1044_insert_bigint_boundary.py",
      "read_script": "generator/df-reads-spark-iceberg/1044_insert_bigint_boundary.sql",
      "description": "INSERT with BIGINT boundary values (near min, near max, zero, negative).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:integer",
        "type:string",
        "dml:insert",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1045_insert_double_special",
      "num": 1045,
      "name": "insert_double_special",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1045_insert_double_special.py",
      "read_script": "generator/df-reads-spark-iceberg/1045_insert_double_special.sql",
      "description": "INSERT DOUBLE with special values (very small, very large, near-zero).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:floating",
        "type:integer",
        "dml:insert",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1046_insert_string_empty_null",
      "num": 1046,
      "name": "insert_string_empty_null",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1046_insert_string_empty_null.py",
      "read_script": "generator/df-reads-spark-iceberg/1046_insert_string_empty_null.sql",
      "description": "INSERT with mix of empty strings (''), NULL strings, and normal strings.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1047_insert_mixed_nulls",
      "num": 1047,
      "name": "insert_mixed_nulls",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1047_insert_mixed_nulls.py",
      "read_script": "generator/df-reads-spark-iceberg/1047_insert_mixed_nulls.sql",
      "description": "INSERT where every column has a different NULL pattern.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:null-handling",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1048_insert_all_same_values",
      "num": 1048,
      "name": "insert_all_same_values",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1048_insert_all_same_values.py",
      "read_script": "generator/df-reads-spark-iceberg/1048_insert_all_same_values.sql",
      "description": "INSERT where every row has identical typed values (except id).",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1049_insert_monotonic_decimal",
      "num": 1049,
      "name": "insert_monotonic_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1049_insert_monotonic_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/1049_insert_monotonic_decimal.sql",
      "description": "INSERT DECIMAL(10,4) with strictly monotonic (increasing) values.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/104_concurrent_writer_conflict_detection",
      "num": 104,
      "name": "concurrent_writer_conflict_detection",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/104_concurrent_writer_conflict_detection.py",
      "read_script": "generator/df-reads-spark-iceberg/104_concurrent_writer_conflict_detection.sql",
      "description": "Schema (24 columns) for global inventory management",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "scale:large-dataset",
        "robust:concurrent-writes",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1050_insert_cdc_multi_batch",
      "num": 1050,
      "name": "insert_cdc_multi_batch",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1050_insert_cdc_multi_batch.py",
      "read_script": "generator/df-reads-spark-iceberg/1050_insert_cdc_multi_batch.sql",
      "description": "INSERT multiple batches with CDC enabled.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "scale:many-batches",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1051_insert_int_to_bigint",
      "num": 1051,
      "name": "insert_int_to_bigint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1051_insert_int_to_bigint.py",
      "read_script": "generator/df-reads-spark-iceberg/1051_insert_int_to_bigint.sql",
      "description": "INSERT INT-range values into BIGINT column.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "schema:type-widening",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1052_insert_cast_expressions",
      "num": 1052,
      "name": "insert_cast_expressions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1052_insert_cast_expressions.py",
      "read_script": "generator/df-reads-spark-iceberg/1052_insert_cast_expressions.sql",
      "description": "INSERT with various CAST expressions in SELECT.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1053_insert_round_expressions",
      "num": 1053,
      "name": "insert_round_expressions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1053_insert_round_expressions.py",
      "read_script": "generator/df-reads-spark-iceberg/1053_insert_round_expressions.sql",
      "description": "INSERT with ROUND at various decimal places (0, 1, 2, 4, 8).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1054_insert_case_to_typed",
      "num": 1054,
      "name": "insert_case_to_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1054_insert_case_to_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1054_insert_case_to_typed.sql",
      "description": "INSERT with CASE expressions producing typed values (STRING, DECIMAL, INT).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1055_insert_concat_expressions",
      "num": 1055,
      "name": "insert_concat_expressions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1055_insert_concat_expressions.py",
      "read_script": "generator/df-reads-spark-iceberg/1055_insert_concat_expressions.sql",
      "description": "INSERT with complex CONCAT building typed strings.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1056_insert_arithmetic_expressions",
      "num": 1056,
      "name": "insert_arithmetic_expressions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1056_insert_arithmetic_expressions.py",
      "read_script": "generator/df-reads-spark-iceberg/1056_insert_arithmetic_expressions.sql",
      "description": "INSERT with arithmetic expressions producing DOUBLE and DECIMAL.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1057_insert_boolean_expressions",
      "num": 1057,
      "name": "insert_boolean_expressions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1057_insert_boolean_expressions.py",
      "read_script": "generator/df-reads-spark-iceberg/1057_insert_boolean_expressions.sql",
      "description": "INSERT with boolean expressions (comparisons producing BOOLEAN).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1058_insert_timestamp_expressions",
      "num": 1058,
      "name": "insert_timestamp_expressions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1058_insert_timestamp_expressions.py",
      "read_script": "generator/df-reads-spark-iceberg/1058_insert_timestamp_expressions.sql",
      "description": "INSERT with computed TIMESTAMP expressions at different intervals.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1059_insert_decimal_from_int",
      "num": 1059,
      "name": "insert_decimal_from_int",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1059_insert_decimal_from_int.py",
      "read_script": "generator/df-reads-spark-iceberg/1059_insert_decimal_from_int.sql",
      "description": "INSERT DECIMAL columns computed from INT expressions.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/105_log_file_corruption_recovery",
      "num": 105,
      "name": "log_file_corruption_recovery",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/105_log_file_corruption_recovery.py",
      "read_script": "generator/df-reads-spark-iceberg/105_log_file_corruption_recovery.sql",
      "description": "Schema (24 columns) for mission-critical financial ledger status transitions, reversals, OPTIMIZE, 5 currency updates, final append",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "robust:log-corruption",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1060_insert_struct_cdc",
      "num": 1060,
      "name": "insert_struct_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1060_insert_struct_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1060_insert_struct_cdc.sql",
      "description": "INSERT STRUCT with CDC enabled.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1061_insert_struct_partition",
      "num": 1061,
      "name": "insert_struct_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1061_insert_struct_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1061_insert_struct_partition.sql",
      "description": "INSERT STRUCT into partitioned table.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1062_insert_struct_colmap",
      "num": 1062,
      "name": "insert_struct_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1062_insert_struct_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/1062_insert_struct_colmap.sql",
      "description": "INSERT STRUCT with column mapping mode=name.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1063_insert_decimal_colmap_cdc",
      "num": 1063,
      "name": "insert_decimal_colmap_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1063_insert_decimal_colmap_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1063_insert_decimal_colmap_cdc.sql",
      "description": "INSERT DECIMAL with column mapping + CDC. Three-way feature combo.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1064_insert_typed_partition_cdc",
      "num": 1064,
      "name": "insert_typed_partition_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1064_insert_typed_partition_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1064_insert_typed_partition_cdc.sql",
      "description": "INSERT typed columns + partition + CDC. Three-way feature combo.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:change-data-feed",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1065_insert_constraint_cdc",
      "num": 1065,
      "name": "insert_constraint_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1065_insert_constraint_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1065_insert_constraint_cdc.sql",
      "description": "INSERT with CHECK constraint + CDC. Two-way feature combo.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1066_insert_evolve_cdc",
      "num": 1066,
      "name": "insert_evolve_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1066_insert_evolve_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1066_insert_evolve_cdc.sql",
      "description": "INSERT + schema evolution + CDC. Two-way feature combo.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1067_insert_colmap_evolve",
      "num": 1067,
      "name": "insert_colmap_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1067_insert_colmap_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/1067_insert_colmap_evolve.sql",
      "description": "INSERT + column mapping + schema evolution. Two-way feature combo.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1068_insert_partition_evolve",
      "num": 1068,
      "name": "insert_partition_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1068_insert_partition_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/1068_insert_partition_evolve.sql",
      "description": "INSERT + partition + schema evolution. Two-way feature combo.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1069_insert_constraint_partition",
      "num": 1069,
      "name": "insert_constraint_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1069_insert_constraint_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1069_insert_constraint_partition.sql",
      "description": "INSERT + CHECK constraint + partition. Two-way feature combo.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/106_parquet_rowgroup_vs_delta_stats",
      "num": 106,
      "name": "parquet_rowgroup_vs_delta_stats",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/106_parquet_rowgroup_vs_delta_stats.py",
      "read_script": "generator/df-reads-spark-iceberg/106_parquet_rowgroup_vs_delta_stats.sql",
      "description": "Schema (26 columns) for scientific research data 100,000 initial rows + 5,000 high-temperature records",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "scale:large-dataset",
        "storage:rowgroup-stats",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1070_insert_colmap_partition",
      "num": 1070,
      "name": "insert_colmap_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1070_insert_colmap_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1070_insert_colmap_partition.sql",
      "description": "INSERT + column mapping + partition. Two-way feature combo.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:column-mapping",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1071_insert_optimize_cdc",
      "num": 1071,
      "name": "insert_optimize_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1071_insert_optimize_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1071_insert_optimize_cdc.sql",
      "description": "INSERT batches + OPTIMIZE + CDC. Three-way feature combo.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1072_insert_overwrite_cdc",
      "num": 1072,
      "name": "insert_overwrite_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1072_insert_overwrite_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1072_insert_overwrite_cdc.sql",
      "description": "INSERT OVERWRITE + CDC. Two-way feature combo.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1073_insert_values_typed",
      "num": 1073,
      "name": "insert_values_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1073_insert_values_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1073_insert_values_typed.sql",
      "description": "INSERT using VALUES clause with all types in single rows.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1074_insert_values_boundary",
      "num": 1074,
      "name": "insert_values_boundary",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1074_insert_values_boundary.py",
      "read_script": "generator/df-reads-spark-iceberg/1074_insert_values_boundary.sql",
      "description": "INSERT using VALUES with boundary values for each type.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1075_insert_ten_batches_typed",
      "num": 1075,
      "name": "insert_ten_batches_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1075_insert_ten_batches_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1075_insert_ten_batches_typed.sql",
      "description": "10 INSERT batches each with all 6 types.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "scale:many-batches",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1076_insert_colmap_cdc_partition",
      "num": 1076,
      "name": "insert_colmap_cdc_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1076_insert_colmap_cdc_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1076_insert_colmap_cdc_partition.sql",
      "description": "3-way combo: column mapping (name) + CDC + partitioning.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1077_insert_constraint_evolve_cdc",
      "num": 1077,
      "name": "insert_constraint_evolve_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1077_insert_constraint_evolve_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1077_insert_constraint_evolve_cdc.sql",
      "description": "3-way combo: constraint + schema evolution + CDC.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1078_insert_colmap_constraint",
      "num": 1078,
      "name": "insert_colmap_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1078_insert_colmap_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/1078_insert_colmap_constraint.sql",
      "description": "2-way combo: column mapping (name) + CHECK constraint.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1079_insert_optimize_partition",
      "num": 1079,
      "name": "insert_optimize_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1079_insert_optimize_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1079_insert_optimize_partition.sql",
      "description": "OPTIMIZE on a partitioned table after multiple INSERT batches.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/107_timestamp_timezone_handling",
      "num": 107,
      "name": "timestamp_timezone_handling",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/107_timestamp_timezone_handling.py",
      "read_script": "generator/df-reads-spark-iceberg/107_timestamp_timezone_handling.sql",
      "description": "Schema (27+1=28 columns) - meeting scheduler with timezone handling",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1080_insert_colmap_optimize",
      "num": 1080,
      "name": "insert_colmap_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1080_insert_colmap_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/1080_insert_colmap_optimize.sql",
      "description": "column mapping (name) + OPTIMIZE after 4 INSERT batches.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1081_insert_four_way_combo",
      "num": 1081,
      "name": "insert_four_way_combo",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1081_insert_four_way_combo.py",
      "read_script": "generator/df-reads-spark-iceberg/1081_insert_four_way_combo.sql",
      "description": "4-way combo: CDC + partition + constraint + schema evolution.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1082_insert_five_way_combo",
      "num": 1082,
      "name": "insert_five_way_combo",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1082_insert_five_way_combo.py",
      "read_script": "generator/df-reads-spark-iceberg/1082_insert_five_way_combo.sql",
      "description": "5-way combo: CDC + colmap + partition + constraint + schema evolution.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1083_insert_decimal_eight_cols",
      "num": 1083,
      "name": "insert_decimal_eight_cols",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1083_insert_decimal_eight_cols.py",
      "read_script": "generator/df-reads-spark-iceberg/1083_insert_decimal_eight_cols.sql",
      "description": "INSERT with 8 DECIMAL columns at varying precisions.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1084_insert_mixed_twelve_types",
      "num": 1084,
      "name": "insert_mixed_twelve_types",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1084_insert_mixed_twelve_types.py",
      "read_script": "generator/df-reads-spark-iceberg/1084_insert_mixed_twelve_types.sql",
      "description": "INSERT with 12 different column types in one table.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "scale:large-dataset",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1085_insert_wide_twenty_cols",
      "num": 1085,
      "name": "insert_wide_twenty_cols",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1085_insert_wide_twenty_cols.py",
      "read_script": "generator/df-reads-spark-iceberg/1085_insert_wide_twenty_cols.sql",
      "description": "INSERT with 20 columns of mixed types.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1086_insert_sparse_wide",
      "num": 1086,
      "name": "insert_sparse_wide",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1086_insert_sparse_wide.py",
      "read_script": "generator/df-reads-spark-iceberg/1086_insert_sparse_wide.sql",
      "description": "INSERT into 15-column table where most columns are NULL.",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:null-handling",
        "type:string",
        "dml:insert",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1087_insert_single_row_all_types",
      "num": 1087,
      "name": "insert_single_row_all_types",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1087_insert_single_row_all_types.py",
      "read_script": "generator/df-reads-spark-iceberg/1087_insert_single_row_all_types.sql",
      "description": "INSERT exactly 1 row with all 7 types. Minimum-scale test.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1088_insert_two_rows_all_types",
      "num": 1088,
      "name": "insert_two_rows_all_types",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1088_insert_two_rows_all_types.py",
      "read_script": "generator/df-reads-spark-iceberg/1088_insert_two_rows_all_types.sql",
      "description": "INSERT exactly 2 rows with all 7 types.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1089_insert_thousand_rows_typed",
      "num": 1089,
      "name": "insert_thousand_rows_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1089_insert_thousand_rows_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1089_insert_thousand_rows_typed.sql",
      "description": "INSERT 1000 rows with DECIMAL + TIMESTAMP + BOOLEAN. Scale test.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/108_schema_field_id_reuse_after_drop",
      "num": 108,
      "name": "schema_field_id_reuse_after_drop",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/108_schema_field_id_reuse_after_drop.py",
      "read_script": "generator/df-reads-spark-iceberg/108_schema_field_id_reuse_after_drop.sql",
      "description": "Schema (11 columns) with column mapping mode = 'name' 2 INSERT batches + UPDATE effects pre-computed",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:column-mapping",
        "schema:field-id-reuse",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1090_insert_five_thousand_typed",
      "num": 1090,
      "name": "insert_five_thousand_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1090_insert_five_thousand_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1090_insert_five_thousand_typed.sql",
      "description": "INSERT 5000 rows with all major types. Large scale test.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1091_insert_ten_thousand_typed",
      "num": 1091,
      "name": "insert_ten_thousand_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1091_insert_ten_thousand_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1091_insert_ten_thousand_typed.sql",
      "description": "INSERT 10000 rows with DECIMAL + INT. Largest INSERT-only test.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1092_insert_overwrite_multi",
      "num": 1092,
      "name": "insert_overwrite_multi",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1092_insert_overwrite_multi.py",
      "read_script": "generator/df-reads-spark-iceberg/1092_insert_overwrite_multi.sql",
      "description": "Two INSERT OVERWRITEs. Only last survives.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1093_insert_struct_cdc_partition",
      "num": 1093,
      "name": "insert_struct_cdc_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1093_insert_struct_cdc_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1093_insert_struct_cdc_partition.sql",
      "description": "3-way combo: STRUCT type + CDC + partitioning.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "delta:change-data-feed",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1094_insert_decimal_constraint_partition",
      "num": 1094,
      "name": "insert_decimal_constraint_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1094_insert_decimal_constraint_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1094_insert_decimal_constraint_partition.sql",
      "description": "3-way combo: DECIMAL + constraint + partitioning.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1095_insert_timestamp_colmap_partition",
      "num": 1095,
      "name": "insert_timestamp_colmap_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1095_insert_timestamp_colmap_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1095_insert_timestamp_colmap_partition.sql",
      "description": "3-way combo: TIMESTAMP + colmap (name) + partitioning.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:column-mapping",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1096_insert_evolve_three_columns",
      "num": 1096,
      "name": "insert_evolve_three_columns",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1096_insert_evolve_three_columns.py",
      "read_script": "generator/df-reads-spark-iceberg/1096_insert_evolve_three_columns.sql",
      "description": "ADD 3 typed columns sequentially with INSERTs between each.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1097_insert_decimal_negative_cdc",
      "num": 1097,
      "name": "insert_decimal_negative_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1097_insert_decimal_negative_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1097_insert_decimal_negative_cdc.sql",
      "description": "INSERT negative DECIMAL values with CDC enabled.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1098_insert_typed_constraint_colmap",
      "num": 1098,
      "name": "insert_typed_constraint_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1098_insert_typed_constraint_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/1098_insert_typed_constraint_colmap.sql",
      "description": "3-way combo: all types + constraint + colmap (name).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1099_insert_all_features",
      "num": 1099,
      "name": "insert_all_features",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1099_insert_all_features.py",
      "read_script": "generator/df-reads-spark-iceberg/1099_insert_all_features.sql",
      "description": "INSERT with every feature enabled:",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/109_malformed_json_log_entries",
      "num": 109,
      "name": "malformed_json_log_entries",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/109_malformed_json_log_entries.py",
      "read_script": "generator/df-reads-spark-iceberg/109_malformed_json_log_entries.sql",
      "description": "Schema (12 columns) documenting malformed JSON scenarios",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "robust:malformed-input",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/10_insert_struct_basic",
      "num": 10,
      "name": "insert_struct_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/10_insert_struct_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/10_insert_struct_basic.sql",
      "description": "INSERT with simple STRUCT type. 100 rows. Deterministic formulas (i = 1..100): profile.name = 'user_' || i profile.age = 20 + (i % 40) as INT tag = 'tag_' || (i % 10)",
      "status": "pass",
      "duration_ms": 134,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:46:06.533780+00:00",
      "read_cold_ms": 134,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/10_log_compaction_compacted_deltas",
      "num": 10,
      "name": "log_compaction_compacted_deltas",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/10_log_compaction_compacted_deltas.py",
      "read_script": "generator/df-reads-spark-iceberg/10_log_compaction_compacted_deltas.sql",
      "description": "The Rust generator does 30 individual UPDATE operations. This SQL generator pre-computes the FINAL state after all operations in a single INSERT.",
      "status": "pass",
      "duration_ms": 30,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:46:06.533780+00:00",
      "read_cold_ms": 30,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:log-compaction",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1100_insert_ultimate",
      "num": 1100,
      "name": "insert_ultimate",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1100_insert_ultimate.py",
      "read_script": "generator/df-reads-spark-iceberg/1100_insert_ultimate.sql",
      "description": "ULTIMATE INSERT test -- every data type + every INSERT pattern + every feature.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "delta:change-data-feed",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1101_delete_where_int",
      "num": 1101,
      "name": "delete_where_int",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1101_delete_where_int.py",
      "read_script": "generator/df-reads-spark-iceberg/1101_delete_where_int.sql",
      "description": "DELETE with INT comparison predicate.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1102_delete_where_bigint",
      "num": 1102,
      "name": "delete_where_bigint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1102_delete_where_bigint.py",
      "read_script": "generator/df-reads-spark-iceberg/1102_delete_where_bigint.sql",
      "description": "DELETE with BIGINT comparison predicate.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1103_delete_where_smallint",
      "num": 1103,
      "name": "delete_where_smallint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1103_delete_where_smallint.py",
      "read_script": "generator/df-reads-spark-iceberg/1103_delete_where_smallint.sql",
      "description": "DELETE with SMALLINT predicate.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1104_delete_where_double",
      "num": 1104,
      "name": "delete_where_double",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1104_delete_where_double.py",
      "read_script": "generator/df-reads-spark-iceberg/1104_delete_where_double.sql",
      "description": "DELETE with DOUBLE comparison predicate.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1105_delete_where_float",
      "num": 1105,
      "name": "delete_where_float",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1105_delete_where_float.py",
      "read_script": "generator/df-reads-spark-iceberg/1105_delete_where_float.sql",
      "description": "DELETE with FLOAT comparison predicate.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1106_delete_where_decimal_gt",
      "num": 1106,
      "name": "delete_where_decimal_gt",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1106_delete_where_decimal_gt.py",
      "read_script": "generator/df-reads-spark-iceberg/1106_delete_where_decimal_gt.sql",
      "description": "DELETE with DECIMAL > threshold.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1107_delete_where_decimal_lt",
      "num": 1107,
      "name": "delete_where_decimal_lt",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1107_delete_where_decimal_lt.py",
      "read_script": "generator/df-reads-spark-iceberg/1107_delete_where_decimal_lt.sql",
      "description": "DELETE with DECIMAL < threshold.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1108_delete_where_decimal_between",
      "num": 1108,
      "name": "delete_where_decimal_between",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1108_delete_where_decimal_between.py",
      "read_script": "generator/df-reads-spark-iceberg/1108_delete_where_decimal_between.sql",
      "description": "DELETE with DECIMAL BETWEEN range.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1109_delete_where_decimal_negative",
      "num": 1109,
      "name": "delete_where_decimal_negative",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1109_delete_where_decimal_negative.py",
      "read_script": "generator/df-reads-spark-iceberg/1109_delete_where_decimal_negative.sql",
      "description": "DELETE on negative DECIMAL values.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/110_parquet_encoding_variations",
      "num": 110,
      "name": "parquet_encoding_variations",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/110_parquet_encoding_variations.py",
      "read_script": "generator/df-reads-spark-iceberg/110_parquet_encoding_variations.sql",
      "description": "Schema (28 columns) for multi-modal sensor data",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:binary",
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "scale:large-dataset",
        "storage:parquet-encoding",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1110_delete_where_decimal_zero",
      "num": 1110,
      "name": "delete_where_decimal_zero",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1110_delete_where_decimal_zero.py",
      "read_script": "generator/df-reads-spark-iceberg/1110_delete_where_decimal_zero.sql",
      "description": "DELETE where DECIMAL = 0.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1111_delete_where_decimal_precision",
      "num": 1111,
      "name": "delete_where_decimal_precision",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1111_delete_where_decimal_precision.py",
      "read_script": "generator/df-reads-spark-iceberg/1111_delete_where_decimal_precision.sql",
      "description": "DELETE with DECIMAL at 4 different precisions in WHERE.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1112_delete_where_timestamp_lt",
      "num": 1112,
      "name": "delete_where_timestamp_lt",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1112_delete_where_timestamp_lt.py",
      "read_script": "generator/df-reads-spark-iceberg/1112_delete_where_timestamp_lt.sql",
      "description": "DELETE with TIMESTAMP < cutoff.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1113_delete_where_timestamp_gt",
      "num": 1113,
      "name": "delete_where_timestamp_gt",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1113_delete_where_timestamp_gt.py",
      "read_script": "generator/df-reads-spark-iceberg/1113_delete_where_timestamp_gt.sql",
      "description": "DELETE with TIMESTAMP > cutoff.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1114_delete_where_timestamp_between",
      "num": 1114,
      "name": "delete_where_timestamp_between",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1114_delete_where_timestamp_between.py",
      "read_script": "generator/df-reads-spark-iceberg/1114_delete_where_timestamp_between.sql",
      "description": "DELETE with TIMESTAMP range (BETWEEN equivalent).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1115_delete_where_date",
      "num": 1115,
      "name": "delete_where_date",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1115_delete_where_date.py",
      "read_script": "generator/df-reads-spark-iceberg/1115_delete_where_date.sql",
      "description": "DELETE with DATE predicate.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1116_delete_where_boolean_true",
      "num": 1116,
      "name": "delete_where_boolean_true",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1116_delete_where_boolean_true.py",
      "read_script": "generator/df-reads-spark-iceberg/1116_delete_where_boolean_true.sql",
      "description": "DELETE WHERE boolean = true.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1117_delete_where_boolean_false",
      "num": 1117,
      "name": "delete_where_boolean_false",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1117_delete_where_boolean_false.py",
      "read_script": "generator/df-reads-spark-iceberg/1117_delete_where_boolean_false.sql",
      "description": "DELETE WHERE boolean = false.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1118_delete_where_boolean_compound",
      "num": 1118,
      "name": "delete_where_boolean_compound",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1118_delete_where_boolean_compound.py",
      "read_script": "generator/df-reads-spark-iceberg/1118_delete_where_boolean_compound.sql",
      "description": "DELETE with BOOLEAN + numeric compound predicate.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1119_delete_where_string_eq",
      "num": 1119,
      "name": "delete_where_string_eq",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1119_delete_where_string_eq.py",
      "read_script": "generator/df-reads-spark-iceberg/1119_delete_where_string_eq.sql",
      "description": "DELETE with STRING equality predicate.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/111_parquet_compression_types",
      "num": 111,
      "name": "parquet_compression_types",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/111_parquet_compression_types.py",
      "read_script": "generator/df-reads-spark-iceberg/111_parquet_compression_types.sql",
      "description": "Schema (26 columns) - compression codec testing",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:binary",
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "scale:large-dataset",
        "storage:parquet-compression",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1120_delete_where_string_empty",
      "num": 1120,
      "name": "delete_where_string_empty",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1120_delete_where_string_empty.py",
      "read_script": "generator/df-reads-spark-iceberg/1120_delete_where_string_empty.sql",
      "description": "DELETE WHERE string = '' (empty string).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1121_delete_where_is_null",
      "num": 1121,
      "name": "delete_where_is_null",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1121_delete_where_is_null.py",
      "read_script": "generator/df-reads-spark-iceberg/1121_delete_where_is_null.sql",
      "description": "DELETE WHERE typed column IS NULL.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1122_delete_where_is_not_null",
      "num": 1122,
      "name": "delete_where_is_not_null",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1122_delete_where_is_not_null.py",
      "read_script": "generator/df-reads-spark-iceberg/1122_delete_where_is_not_null.sql",
      "description": "DELETE WHERE typed column IS NOT NULL.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1123_delete_where_in_list",
      "num": 1123,
      "name": "delete_where_in_list",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1123_delete_where_in_list.py",
      "read_script": "generator/df-reads-spark-iceberg/1123_delete_where_in_list.sql",
      "description": "DELETE WHERE id IN (...) typed list.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1124_delete_preserves_int_types",
      "num": 1124,
      "name": "delete_preserves_int_types",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1124_delete_preserves_int_types.py",
      "read_script": "generator/df-reads-spark-iceberg/1124_delete_preserves_int_types.sql",
      "description": "DELETE + verify INT/SMALLINT/TINYINT/BIGINT survive on remaining rows.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1125_delete_preserves_decimal",
      "num": 1125,
      "name": "delete_preserves_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1125_delete_preserves_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/1125_delete_preserves_decimal.sql",
      "description": "DELETE + verify 4 DECIMAL precisions survive on remaining rows.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1126_delete_preserves_timestamp",
      "num": 1126,
      "name": "delete_preserves_timestamp",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1126_delete_preserves_timestamp.py",
      "read_script": "generator/df-reads-spark-iceberg/1126_delete_preserves_timestamp.sql",
      "description": "DELETE + verify TIMESTAMP microsecond precision survives.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1127_delete_preserves_date",
      "num": 1127,
      "name": "delete_preserves_date",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1127_delete_preserves_date.py",
      "read_script": "generator/df-reads-spark-iceberg/1127_delete_preserves_date.sql",
      "description": "DELETE + verify DATE values survive.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1128_delete_preserves_boolean",
      "num": 1128,
      "name": "delete_preserves_boolean",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1128_delete_preserves_boolean.py",
      "read_script": "generator/df-reads-spark-iceberg/1128_delete_preserves_boolean.sql",
      "description": "DELETE + verify BOOLEAN distribution survives.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1129_delete_preserves_string",
      "num": 1129,
      "name": "delete_preserves_string",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1129_delete_preserves_string.py",
      "read_script": "generator/df-reads-spark-iceberg/1129_delete_preserves_string.sql",
      "description": "DELETE + verify STRING patterns survive (empty, normal, long).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/112_cross_version_compatibility",
      "num": 112,
      "name": "cross_version_compatibility",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/112_cross_version_compatibility.py",
      "read_script": "generator/df-reads-spark-iceberg/112_cross_version_compatibility.sql",
      "description": "Schema (18 columns) - protocol version evolution",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "delta:column-mapping",
        "delta:row-tracking",
        "robust:cross-version",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1130_delete_preserves_struct",
      "num": 1130,
      "name": "delete_preserves_struct",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1130_delete_preserves_struct.py",
      "read_script": "generator/df-reads-spark-iceberg/1130_delete_preserves_struct.sql",
      "description": "DELETE + verify STRUCT fields survive.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:struct",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1131_delete_preserves_float_double",
      "num": 1131,
      "name": "delete_preserves_float_double",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1131_delete_preserves_float_double.py",
      "read_script": "generator/df-reads-spark-iceberg/1131_delete_preserves_float_double.sql",
      "description": "DELETE + verify FLOAT and DOUBLE survive.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1132_delete_preserves_all_types",
      "num": 1132,
      "name": "delete_preserves_all_types",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1132_delete_preserves_all_types.py",
      "read_script": "generator/df-reads-spark-iceberg/1132_delete_preserves_all_types.sql",
      "description": "DELETE + verify all 7 types survive simultaneously.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1133_delete_compound_decimal_int",
      "num": 1133,
      "name": "delete_compound_decimal_int",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1133_delete_compound_decimal_int.py",
      "read_script": "generator/df-reads-spark-iceberg/1133_delete_compound_decimal_int.sql",
      "description": "DELETE WHERE decimal_col > X AND int_col < Y.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1134_delete_compound_timestamp_boolean",
      "num": 1134,
      "name": "delete_compound_timestamp_boolean",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1134_delete_compound_timestamp_boolean.py",
      "read_script": "generator/df-reads-spark-iceberg/1134_delete_compound_timestamp_boolean.sql",
      "description": "DELETE WHERE timestamp < cutoff AND boolean = true.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1135_delete_compound_three_types",
      "num": 1135,
      "name": "delete_compound_three_types",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1135_delete_compound_three_types.py",
      "read_script": "generator/df-reads-spark-iceberg/1135_delete_compound_three_types.sql",
      "description": "DELETE WHERE decimal > X AND int < Y AND boolean = false.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1136_delete_compound_or_typed",
      "num": 1136,
      "name": "delete_compound_or_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1136_delete_compound_or_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1136_delete_compound_or_typed.sql",
      "description": "DELETE WHERE (decimal < X) OR (timestamp > Y).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1137_delete_expression_modular",
      "num": 1137,
      "name": "delete_expression_modular",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1137_delete_expression_modular.py",
      "read_script": "generator/df-reads-spark-iceberg/1137_delete_expression_modular.sql",
      "description": "DELETE WHERE typed_col % N = 0 (modular arithmetic on INT).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1138_delete_expression_range",
      "num": 1138,
      "name": "delete_expression_range",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1138_delete_expression_range.py",
      "read_script": "generator/df-reads-spark-iceberg/1138_delete_expression_range.sql",
      "description": "DELETE WHERE typed BETWEEN with DECIMAL.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1139_delete_sequential_typed",
      "num": 1139,
      "name": "delete_sequential_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1139_delete_sequential_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1139_delete_sequential_typed.sql",
      "description": "5 sequential DELETEs each on different typed predicate.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/113_large_single_file_millions_rows",
      "num": 113,
      "name": "large_single_file_millions_rows",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/113_large_single_file_millions_rows.py",
      "read_script": "generator/df-reads-spark-iceberg/113_large_single_file_millions_rows.sql",
      "description": "Schema (30 columns) for high-volume transaction processing",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1140_delete_sequential_same_type",
      "num": 1140,
      "name": "delete_sequential_same_type",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1140_delete_sequential_same_type.py",
      "read_script": "generator/df-reads-spark-iceberg/1140_delete_sequential_same_type.sql",
      "description": "3 sequential DELETEs all on DECIMAL predicates.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1141_delete_leaves_one_typed",
      "num": 1141,
      "name": "delete_leaves_one_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1141_delete_leaves_one_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1141_delete_leaves_one_typed.sql",
      "description": "DELETE leaving exactly 1 row. Verify all types on that single row.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1142_delete_leaves_zero",
      "num": 1142,
      "name": "delete_leaves_zero",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1142_delete_leaves_zero.py",
      "read_script": "generator/df-reads-spark-iceberg/1142_delete_leaves_zero.sql",
      "description": "DELETE all rows from typed table. Empty table state.",
      "status": "pass",
      "duration_ms": 1,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 1,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1143_delete_large_typed",
      "num": 1143,
      "name": "delete_large_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1143_delete_large_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1143_delete_large_typed.sql",
      "description": "DELETE 90% of large typed table. Scale + types.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1144_delete_small_typed",
      "num": 1144,
      "name": "delete_small_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1144_delete_small_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1144_delete_small_typed.sql",
      "description": "DELETE 1 row from typed table. Tests minimum DV creation.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1145_delete_typed_then_insert",
      "num": 1145,
      "name": "delete_typed_then_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1145_delete_typed_then_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/1145_delete_typed_then_insert.sql",
      "description": "DELETE typed rows then INSERT new typed rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1146_delete_typed_where_cast",
      "num": 1146,
      "name": "delete_typed_where_cast",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1146_delete_typed_where_cast.py",
      "read_script": "generator/df-reads-spark-iceberg/1146_delete_typed_where_cast.sql",
      "description": "DELETE WHERE with explicit CAST in predicate.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1147_delete_decimal_max_precision",
      "num": 1147,
      "name": "delete_decimal_max_precision",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1147_delete_decimal_max_precision.py",
      "read_script": "generator/df-reads-spark-iceberg/1147_delete_decimal_max_precision.sql",
      "description": "DELETE on DECIMAL(38,18) predicate. Tests max precision in WHERE.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1148_delete_timestamp_microsecond",
      "num": 1148,
      "name": "delete_timestamp_microsecond",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1148_delete_timestamp_microsecond.py",
      "read_script": "generator/df-reads-spark-iceberg/1148_delete_timestamp_microsecond.sql",
      "description": "DELETE with microsecond-precision TIMESTAMP predicate.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1149_delete_int_boundary",
      "num": 1149,
      "name": "delete_int_boundary",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1149_delete_int_boundary.py",
      "read_script": "generator/df-reads-spark-iceberg/1149_delete_int_boundary.sql",
      "description": "DELETE at INT boundary values.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/114_deletion_vector_inline_bitmap",
      "num": 114,
      "name": "deletion_vector_inline_bitmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/114_deletion_vector_inline_bitmap.py",
      "read_script": "generator/df-reads-spark-iceberg/114_deletion_vector_inline_bitmap.sql",
      "description": "Schema (19 columns) for real-time data corrections",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1150_delete_double_extreme",
      "num": 1150,
      "name": "delete_double_extreme",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1150_delete_double_extreme.py",
      "read_script": "generator/df-reads-spark-iceberg/1150_delete_double_extreme.sql",
      "description": "DELETE on DOUBLE extreme values.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1151_delete_decimal_cdc",
      "num": 1151,
      "name": "delete_decimal_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1151_delete_decimal_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1151_delete_decimal_cdc.sql",
      "description": "DELETE on DECIMAL predicate with CDC enabled.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1152_delete_timestamp_cdc",
      "num": 1152,
      "name": "delete_timestamp_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1152_delete_timestamp_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1152_delete_timestamp_cdc.sql",
      "description": "DELETE on TIMESTAMP predicate with CDC enabled.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1153_delete_boolean_cdc",
      "num": 1153,
      "name": "delete_boolean_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1153_delete_boolean_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1153_delete_boolean_cdc.sql",
      "description": "DELETE on BOOLEAN predicate with CDC enabled.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1154_delete_int_cdc",
      "num": 1154,
      "name": "delete_int_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1154_delete_int_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1154_delete_int_cdc.sql",
      "description": "DELETE on INT predicate with CDC enabled.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1155_delete_decimal_partition",
      "num": 1155,
      "name": "delete_decimal_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1155_delete_decimal_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1155_delete_decimal_partition.sql",
      "description": "DELETE on DECIMAL predicate within a specific partition.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1156_delete_timestamp_partition",
      "num": 1156,
      "name": "delete_timestamp_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1156_delete_timestamp_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1156_delete_timestamp_partition.sql",
      "description": "DELETE on TIMESTAMP predicate within a specific partition.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1157_delete_typed_partition_all",
      "num": 1157,
      "name": "delete_typed_partition_all",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1157_delete_typed_partition_all.py",
      "read_script": "generator/df-reads-spark-iceberg/1157_delete_typed_partition_all.sql",
      "description": "DELETE with different typed predicates per partition.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1158_delete_decimal_constraint",
      "num": 1158,
      "name": "delete_decimal_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1158_delete_decimal_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/1158_delete_decimal_constraint.sql",
      "description": "DELETE on DECIMAL predicate with CHECK constraint.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1159_delete_int_constraint",
      "num": 1159,
      "name": "delete_int_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1159_delete_int_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/1159_delete_int_constraint.sql",
      "description": "DELETE on INT predicate with CHECK constraint.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/115_checkpoint_v1_vs_v2_migration",
      "num": 115,
      "name": "checkpoint_v1_vs_v2_migration",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/115_checkpoint_v1_vs_v2_migration.py",
      "read_script": "generator/df-reads-spark-iceberg/115_checkpoint_v1_vs_v2_migration.sql",
      "description": "Schema (18 columns)",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "dml:overwrite",
        "delta:checkpoint-v1",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1160_delete_decimal_colmap",
      "num": 1160,
      "name": "delete_decimal_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1160_delete_decimal_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/1160_delete_decimal_colmap.sql",
      "description": "DELETE on DECIMAL predicate with column mapping mode=name.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1161_delete_timestamp_colmap",
      "num": 1161,
      "name": "delete_timestamp_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1161_delete_timestamp_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/1161_delete_timestamp_colmap.sql",
      "description": "DELETE on TIMESTAMP predicate with column mapping mode=name.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1162_delete_typed_evolve",
      "num": 1162,
      "name": "delete_typed_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1162_delete_typed_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/1162_delete_typed_evolve.sql",
      "description": "DELETE after schema evolution on typed table.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1163_delete_decimal_optimize",
      "num": 1163,
      "name": "delete_decimal_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1163_delete_decimal_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/1163_delete_decimal_optimize.sql",
      "description": "DELETE on DECIMAL predicate after OPTIMIZE.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1164_delete_timestamp_optimize",
      "num": 1164,
      "name": "delete_timestamp_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1164_delete_timestamp_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/1164_delete_timestamp_optimize.sql",
      "description": "DELETE on TIMESTAMP predicate after OPTIMIZE.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1165_delete_typed_no_dv",
      "num": 1165,
      "name": "delete_typed_no_dv",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1165_delete_typed_no_dv.py",
      "read_script": "generator/df-reads-spark-iceberg/1165_delete_typed_no_dv.sql",
      "description": "DELETE on typed table without deletion vectors (full rewrite path).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1166_delete_typed_not_null",
      "num": 1166,
      "name": "delete_typed_not_null",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1166_delete_typed_not_null.py",
      "read_script": "generator/df-reads-spark-iceberg/1166_delete_typed_not_null.sql",
      "description": "DELETE on NOT NULL typed table.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1167_delete_decimal_cdc_partition",
      "num": 1167,
      "name": "delete_decimal_cdc_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1167_delete_decimal_cdc_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1167_delete_decimal_cdc_partition.sql",
      "description": "DELETE DECIMAL + CDC + partition (three-way combo).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1168_delete_typed_colmap_cdc",
      "num": 1168,
      "name": "delete_typed_colmap_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1168_delete_typed_colmap_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1168_delete_typed_colmap_cdc.sql",
      "description": "DELETE typed + colmap + CDC (three-way combo).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1169_delete_typed_constraint_evolve",
      "num": 1169,
      "name": "delete_typed_constraint_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1169_delete_typed_constraint_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/1169_delete_typed_constraint_evolve.sql",
      "description": "DELETE typed + constraint + schema evolution (three-way combo).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/116_unicode_column_names",
      "num": 116,
      "name": "unicode_column_names",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/116_unicode_column_names.py",
      "read_script": "generator/df-reads-spark-iceberg/116_unicode_column_names.sql",
      "description": "Demonstrates Unicode and special characters in column names: - CJK characters (Japanese, Chinese, Korean) - Cyrillic (Russian) - Greek - Arabic - Emoji - Special characters (spaces, dots, brackets) - Mixed scripts",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "type:unicode",
        "dml:insert",
        "dml:overwrite",
        "delta:column-mapping",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1170_delete_decimal_colmap_partition",
      "num": 1170,
      "name": "delete_decimal_colmap_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1170_delete_decimal_colmap_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1170_delete_decimal_colmap_partition.sql",
      "description": "DELETE DECIMAL + colmap + partition (three-way combo).",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1171_delete_typed_optimize_cdc",
      "num": 1171,
      "name": "delete_typed_optimize_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1171_delete_typed_optimize_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1171_delete_typed_optimize_cdc.sql",
      "description": "DELETE typed + OPTIMIZE + CDC (three-way combo).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1172_delete_typed_partition_evolve",
      "num": 1172,
      "name": "delete_typed_partition_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1172_delete_typed_partition_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/1172_delete_typed_partition_evolve.sql",
      "description": "DELETE typed + partition + schema evolution.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1173_delete_struct_typed",
      "num": 1173,
      "name": "delete_struct_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1173_delete_struct_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1173_delete_struct_typed.sql",
      "description": "85 rows (amount > 300.00 removes ids 86-100)",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:struct",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1174_delete_four_way",
      "num": 1174,
      "name": "delete_four_way",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1174_delete_four_way.py",
      "read_script": "generator/df-reads-spark-iceberg/1174_delete_four_way.sql",
      "description": "DELETE typed + CDC + partition + constraint (four-way combo).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1175_delete_five_way",
      "num": 1175,
      "name": "delete_five_way",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1175_delete_five_way.py",
      "read_script": "generator/df-reads-spark-iceberg/1175_delete_five_way.sql",
      "description": "DELETE typed + CDC + colmap + partition + constraint (five-way combo).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1176_delete_then_insert_typed",
      "num": 1176,
      "name": "delete_then_insert_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1176_delete_then_insert_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1176_delete_then_insert_typed.sql",
      "description": "DELETE typed rows then INSERT new typed rows.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1177_delete_then_update_typed",
      "num": 1177,
      "name": "delete_then_update_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1177_delete_then_update_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1177_delete_then_update_typed.sql",
      "description": "DELETE then UPDATE on surviving typed rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1178_delete_then_merge_typed",
      "num": 1178,
      "name": "delete_then_merge_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1178_delete_then_merge_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1178_delete_then_merge_typed.sql",
      "description": "DELETE then MERGE on typed table.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1179_delete_chain_three",
      "num": 1179,
      "name": "delete_chain_three",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1179_delete_chain_three.py",
      "read_script": "generator/df-reads-spark-iceberg/1179_delete_chain_three.sql",
      "description": "Three sequential typed DELETEs narrowing by different types each time.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/117_deeply_nested_100_levels",
      "num": 117,
      "name": "deeply_nested_100_levels",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/117_deeply_nested_100_levels.py",
      "read_script": "generator/df-reads-spark-iceberg/117_deeply_nested_100_levels.sql",
      "description": "Demonstrates nested schema structures with 10 levels of depth: - Structs nested 10 levels deep (organizational hierarchy) - Arrays of nested structs (team members with skills) - Maps with nested value types (department budgets) - Mixed nesting patterns (project assignments)",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:array",
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:map",
        "type:string",
        "type:struct",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "scale:large-dataset",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1180_delete_chain_same_decimal",
      "num": 1180,
      "name": "delete_chain_same_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1180_delete_chain_same_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/1180_delete_chain_same_decimal.sql",
      "description": "Three DELETEs all on DECIMAL column at different thresholds.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1181_delete_multi_type_schema",
      "num": 1181,
      "name": "delete_multi_type_schema",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1181_delete_multi_type_schema.py",
      "read_script": "generator/df-reads-spark-iceberg/1181_delete_multi_type_schema.sql",
      "description": "DELETE on 8-column typed table.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1182_delete_decimal_then_decimal",
      "num": 1182,
      "name": "delete_decimal_then_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1182_delete_decimal_then_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/1182_delete_decimal_then_decimal.sql",
      "description": "Two DELETEs both on DECIMAL but different columns.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:string",
        "dml:delete",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1183_delete_timestamp_then_boolean",
      "num": 1183,
      "name": "delete_timestamp_then_boolean",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1183_delete_timestamp_then_boolean.py",
      "read_script": "generator/df-reads-spark-iceberg/1183_delete_timestamp_then_boolean.sql",
      "description": "51 rows (even ids 100-200 survive two sequential deletes)",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1184_delete_typed_all_match",
      "num": 1184,
      "name": "delete_typed_all_match",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1184_delete_typed_all_match.py",
      "read_script": "generator/df-reads-spark-iceberg/1184_delete_typed_all_match.sql",
      "description": "DELETE WHERE typed predicate matches ALL rows.",
      "status": "pass",
      "duration_ms": 1,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 1,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1185_delete_typed_no_match",
      "num": 1185,
      "name": "delete_typed_no_match",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1185_delete_typed_no_match.py",
      "read_script": "generator/df-reads-spark-iceberg/1185_delete_typed_no_match.sql",
      "description": "DELETE WHERE typed predicate matches NO rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1186_delete_decimal_exact_value",
      "num": 1186,
      "name": "delete_decimal_exact_value",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1186_delete_decimal_exact_value.py",
      "read_script": "generator/df-reads-spark-iceberg/1186_delete_decimal_exact_value.sql",
      "description": "DELETE WHERE decimal = exact value.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1187_delete_timestamp_exact",
      "num": 1187,
      "name": "delete_timestamp_exact",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1187_delete_timestamp_exact.py",
      "read_script": "generator/df-reads-spark-iceberg/1187_delete_timestamp_exact.sql",
      "description": "DELETE WHERE timestamp = exact value.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1188_delete_boolean_only_true",
      "num": 1188,
      "name": "delete_boolean_only_true",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1188_delete_boolean_only_true.py",
      "read_script": "generator/df-reads-spark-iceberg/1188_delete_boolean_only_true.sql",
      "description": "Table with ALL true values, DELETE WHERE flag = true.",
      "status": "pass",
      "duration_ms": 1,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 1,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1189_delete_string_pattern",
      "num": 1189,
      "name": "delete_string_pattern",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1189_delete_string_pattern.py",
      "read_script": "generator/df-reads-spark-iceberg/1189_delete_string_pattern.sql",
      "description": "DELETE WHERE string matches specific values via IN list.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/118_thousands_of_partitions",
      "num": 118,
      "name": "thousands_of_partitions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/118_thousands_of_partitions.py",
      "read_script": "generator/df-reads-spark-iceberg/118_thousands_of_partitions.sql",
      "description": "Schema (27 columns) with 4-column partitioning",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "delta:partitioning",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1190_delete_decimal_cdc_exact",
      "num": 1190,
      "name": "delete_decimal_cdc_exact",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1190_delete_decimal_cdc_exact.py",
      "read_script": "generator/df-reads-spark-iceberg/1190_delete_decimal_cdc_exact.sql",
      "description": "DELETE DECIMAL + CDC with exact CDF counts.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1191_delete_typed_cdc_partition_constraint",
      "num": 1191,
      "name": "delete_typed_cdc_partition_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1191_delete_typed_cdc_partition_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/1191_delete_typed_cdc_partition_constraint.sql",
      "description": "DELETE typed + CDC + partition + constraint (four-way).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1192_delete_typed_colmap_cdc_partition",
      "num": 1192,
      "name": "delete_typed_colmap_cdc_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1192_delete_typed_colmap_cdc_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1192_delete_typed_colmap_cdc_partition.sql",
      "description": "DELETE typed + colmap + CDC + partition (four-way).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1193_delete_typed_optimize_partition_cdc",
      "num": 1193,
      "name": "delete_typed_optimize_partition_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1193_delete_typed_optimize_partition_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1193_delete_typed_optimize_partition_cdc.sql",
      "description": "DELETE typed + OPTIMIZE + partition + CDC (four-way).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1194_delete_typed_evolve_cdc_partition",
      "num": 1194,
      "name": "delete_typed_evolve_cdc_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1194_delete_typed_evolve_cdc_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1194_delete_typed_evolve_cdc_partition.sql",
      "description": "DELETE typed + evolve + CDC + partition (four-way).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1195_delete_typed_five_way",
      "num": 1195,
      "name": "delete_typed_five_way",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1195_delete_typed_five_way.py",
      "read_script": "generator/df-reads-spark-iceberg/1195_delete_typed_five_way.sql",
      "description": "DELETE typed + CDC + colmap + partition + constraint + evolve (five-way).",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1196_delete_decimal_partition_multi_pred",
      "num": 1196,
      "name": "delete_decimal_partition_multi_pred",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1196_delete_decimal_partition_multi_pred.py",
      "read_script": "generator/df-reads-spark-iceberg/1196_delete_decimal_partition_multi_pred.sql",
      "description": "Multiple DECIMAL-predicated DELETEs on partitioned table.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1197_delete_typed_colmap_evolve",
      "num": 1197,
      "name": "delete_typed_colmap_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1197_delete_typed_colmap_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/1197_delete_typed_colmap_evolve.sql",
      "description": "DELETE typed + colmap + schema evolution.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1198_delete_all_types_cdc",
      "num": 1198,
      "name": "delete_all_types_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1198_delete_all_types_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1198_delete_all_types_cdc.sql",
      "description": "DELETE removing rows that contain every data type + CDC.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1199_delete_typed_colmap_partition_constraint_cdc",
      "num": 1199,
      "name": "delete_typed_colmap_partition_constraint_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1199_delete_typed_colmap_partition_constraint_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1199_delete_typed_colmap_partition_constraint_cdc.sql",
      "description": "DELETE + 5 features (CDC + colmap + partition + constraint + typed).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/119_wide_table_hundreds_columns",
      "num": 119,
      "name": "wide_table_hundreds_columns",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/119_wide_table_hundreds_columns.py",
      "read_script": "generator/df-reads-spark-iceberg/119_wide_table_hundreds_columns.sql",
      "description": "Schema (255 columns)",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "dml:overwrite",
        "scale:large-dataset",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/11_insert_struct_nested",
      "num": 11,
      "name": "insert_struct_nested",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/11_insert_struct_nested.py",
      "read_script": "generator/df-reads-spark-iceberg/11_insert_struct_nested.sql",
      "description": "INSERT with 2-level nested STRUCT. meta.source (STRING), meta.details.version (INT), meta.details.active (BOOLEAN).",
      "status": "pass",
      "duration_ms": 41,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:46:06.533780+00:00",
      "read_cold_ms": 41,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/11_last_checkpoint_json_pointer",
      "num": 11,
      "name": "last_checkpoint_json_pointer",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/11_last_checkpoint_json_pointer.py",
      "read_script": "generator/df-reads-spark-iceberg/11_last_checkpoint_json_pointer.sql",
      "description": "The Rust generator pre-computes the FINAL state after all operations in a single INSERT. This SQL generator replicates the same logic.",
      "status": "pass",
      "duration_ms": 40,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:46:06.533780+00:00",
      "read_cold_ms": 40,
      "read_warm_ms": 27,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1200_delete_ultimate",
      "num": 1200,
      "name": "delete_ultimate",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1200_delete_ultimate.py",
      "read_script": "generator/df-reads-spark-iceberg/1200_delete_ultimate.sql",
      "description": "ULTIMATE DELETE test -- every data type + every predicate pattern",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1201_stats_int_after_insert",
      "num": 1201,
      "name": "stats_int_after_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1201_stats_int_after_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/1201_stats_int_after_insert.sql",
      "description": "INT column statistics correctness after multi-batch INSERT.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "storage:statistics",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1202_stats_decimal_after_insert",
      "num": 1202,
      "name": "stats_decimal_after_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1202_stats_decimal_after_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/1202_stats_decimal_after_insert.sql",
      "description": "DECIMAL(10,2) column statistics correctness after multi-batch INSERT.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "storage:statistics",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1203_stats_timestamp_after_insert",
      "num": 1203,
      "name": "stats_timestamp_after_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1203_stats_timestamp_after_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/1203_stats_timestamp_after_insert.sql",
      "description": "TIMESTAMP column statistics correctness after multi-batch INSERT.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "storage:statistics",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1204_stats_string_after_insert",
      "num": 1204,
      "name": "stats_string_after_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1204_stats_string_after_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/1204_stats_string_after_insert.sql",
      "description": "STRING column statistics correctness after multi-batch INSERT.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "storage:statistics",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1205_stats_boolean_after_insert",
      "num": 1205,
      "name": "stats_boolean_after_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1205_stats_boolean_after_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/1205_stats_boolean_after_insert.sql",
      "description": "BOOLEAN column statistics correctness after multi-batch INSERT.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "storage:statistics",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1206_stats_null_count_after_insert",
      "num": 1206,
      "name": "stats_null_count_after_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1206_stats_null_count_after_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/1206_stats_null_count_after_insert.sql",
      "description": "nullCount statistics correctness after multi-batch INSERT.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1207_stats_after_update",
      "num": 1207,
      "name": "stats_after_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1207_stats_after_update.py",
      "read_script": "generator/df-reads-spark-iceberg/1207_stats_after_update.sql",
      "description": "INT statistics correctness after UPDATE rewrites files.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1208_stats_after_delete",
      "num": 1208,
      "name": "stats_after_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1208_stats_after_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/1208_stats_after_delete.sql",
      "description": "Statistics correctness after DELETE with deletion vectors.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1209_stats_after_optimize",
      "num": 1209,
      "name": "stats_after_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1209_stats_after_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/1209_stats_after_optimize.sql",
      "description": "Statistics correctness after OPTIMIZE compacts multiple files.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/120_perf_multi_file_parallel_read",
      "num": 120,
      "name": "perf_multi_file_parallel_read",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/120_perf_multi_file_parallel_read.py",
      "read_script": "generator/df-reads-spark-iceberg/120_perf_multi_file_parallel_read.sql",
      "description": "Schema (20 columns) for e-commerce order analytics 15 versions: 1 initial + 14 append batches",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "delta:constraints",
        "scale:large-dataset",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1210_stats_decimal_after_update",
      "num": 1210,
      "name": "stats_decimal_after_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1210_stats_decimal_after_update.py",
      "read_script": "generator/df-reads-spark-iceberg/1210_stats_decimal_after_update.sql",
      "description": "DECIMAL statistics correctness after UPDATE rewrites files.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1211_stats_timestamp_after_update",
      "num": 1211,
      "name": "stats_timestamp_after_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1211_stats_timestamp_after_update.py",
      "read_script": "generator/df-reads-spark-iceberg/1211_stats_timestamp_after_update.sql",
      "description": "TIMESTAMP statistics correctness after UPDATE shifts timestamps.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1212_stats_null_after_update",
      "num": 1212,
      "name": "stats_null_after_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1212_stats_null_after_update.py",
      "read_script": "generator/df-reads-spark-iceberg/1212_stats_null_after_update.sql",
      "description": "nullCount statistics correctness after UPDATE introduces NULLs.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1213_stats_after_delete_min",
      "num": 1213,
      "name": "stats_after_delete_min",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1213_stats_after_delete_min.py",
      "read_script": "generator/df-reads-spark-iceberg/1213_stats_after_delete_min.sql",
      "description": "Statistics behavior after DELETE removes the global minimum value.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1214_stats_after_delete_max",
      "num": 1214,
      "name": "stats_after_delete_max",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1214_stats_after_delete_max.py",
      "read_script": "generator/df-reads-spark-iceberg/1214_stats_after_delete_max.sql",
      "description": "Statistics behavior after DELETE removes the global maximum value.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1215_stats_multi_file_predicate",
      "num": 1215,
      "name": "stats_multi_file_predicate",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1215_stats_multi_file_predicate.py",
      "read_script": "generator/df-reads-spark-iceberg/1215_stats_multi_file_predicate.sql",
      "description": "Per-file statistics enable precise file skipping across 5 files.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1216_stats_decimal_multi_file",
      "num": 1216,
      "name": "stats_decimal_multi_file",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1216_stats_decimal_multi_file.py",
      "read_script": "generator/df-reads-spark-iceberg/1216_stats_decimal_multi_file.sql",
      "description": "DECIMAL per-file statistics across 5 files with non-overlapping ranges.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1217_stats_string_truncation",
      "num": 1217,
      "name": "stats_string_truncation",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1217_stats_string_truncation.py",
      "read_script": "generator/df-reads-spark-iceberg/1217_stats_string_truncation.sql",
      "description": "STRING statistics with long values (100+ chars).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "storage:statistics",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1218_stats_after_merge",
      "num": 1218,
      "name": "stats_after_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1218_stats_after_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/1218_stats_after_merge.sql",
      "description": "Statistics correctness after MERGE rewrites files.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1219_stats_mixed_null_nonnull",
      "num": 1219,
      "name": "stats_mixed_null_nonnull",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1219_stats_mixed_null_nonnull.py",
      "read_script": "generator/df-reads-spark-iceberg/1219_stats_mixed_null_nonnull.sql",
      "description": "nullCount statistics across files with mixed NULL patterns.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:null-handling",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/121_perf_log_replay_no_checkpoint",
      "num": 121,
      "name": "perf_log_replay_no_checkpoint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/121_perf_log_replay_no_checkpoint.py",
      "read_script": "generator/df-reads-spark-iceberg/121_perf_log_replay_no_checkpoint.sql",
      "description": "Schema (15 columns) for IoT sensor telemetry 120 versions: 1 initial + 119 append batches, NO checkpoint",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1220_stats_after_schema_evolve",
      "num": 1220,
      "name": "stats_after_schema_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1220_stats_after_schema_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/1220_stats_after_schema_evolve.sql",
      "description": "Statistics correctness after schema evolution (ADD COLUMN).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1221_stats_partition_per_file",
      "num": 1221,
      "name": "stats_partition_per_file",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1221_stats_partition_per_file.py",
      "read_script": "generator/df-reads-spark-iceberg/1221_stats_partition_per_file.sql",
      "description": "Per-file statistics in a partitioned table.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1222_stats_decimal_precision",
      "num": 1222,
      "name": "stats_decimal_precision",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1222_stats_decimal_precision.py",
      "read_script": "generator/df-reads-spark-iceberg/1222_stats_decimal_precision.sql",
      "description": "DECIMAL(10,4) statistics must distinguish values at 4 decimal places.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1223_stats_double_extremes",
      "num": 1223,
      "name": "stats_double_extremes",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1223_stats_double_extremes.py",
      "read_script": "generator/df-reads-spark-iceberg/1223_stats_double_extremes.sql",
      "description": "DOUBLE statistics with extreme values (very small and very large).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1224_stats_all_same_value",
      "num": 1224,
      "name": "stats_all_same_value",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1224_stats_all_same_value.py",
      "read_script": "generator/df-reads-spark-iceberg/1224_stats_all_same_value.sql",
      "description": "Statistics correctness when all values in a file are identical (min=max).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1225_stats_boolean_mixed_files",
      "num": 1225,
      "name": "stats_boolean_mixed_files",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1225_stats_boolean_mixed_files.py",
      "read_script": "generator/df-reads-spark-iceberg/1225_stats_boolean_mixed_files.sql",
      "description": "BOOLEAN statistics across files with different true/false distributions.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1226_stats_after_dv_delete",
      "num": 1226,
      "name": "stats_after_dv_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1226_stats_after_dv_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/1226_stats_after_dv_delete.sql",
      "description": "File-level stats after a Deletion Vector (DV) delete.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1227_stats_cdc_files",
      "num": 1227,
      "name": "stats_cdc_files",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1227_stats_cdc_files.py",
      "read_script": "generator/df-reads-spark-iceberg/1227_stats_cdc_files.sql",
      "description": "Stats correctness when Change Data Capture (CDC) is enabled.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1228_stats_after_optimize_dml",
      "num": 1228,
      "name": "stats_after_optimize_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1228_stats_after_optimize_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/1228_stats_after_optimize_dml.sql",
      "description": "Stats correctness after OPTIMIZE followed by DML (UPDATE).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1229_stats_negative_values",
      "num": 1229,
      "name": "stats_negative_values",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1229_stats_negative_values.py",
      "read_script": "generator/df-reads-spark-iceberg/1229_stats_negative_values.sql",
      "description": "Stats correctness with negative INT values across multiple files.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/122_perf_multipart_checkpoint",
      "num": 122,
      "name": "perf_multipart_checkpoint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/122_perf_multipart_checkpoint.py",
      "read_script": "generator/df-reads-spark-iceberg/122_perf_multipart_checkpoint.sql",
      "description": "Schema (19 columns) for financial transaction archive 21 versions: 1 initial + 19 daily appends + 1 UPDATE",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "delta:checkpoint-multipart",
        "delta:partitioning",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1230_stats_decimal_negative",
      "num": 1230,
      "name": "stats_decimal_negative",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1230_stats_decimal_negative.py",
      "read_script": "generator/df-reads-spark-iceberg/1230_stats_decimal_negative.sql",
      "description": "Stats correctness with negative DECIMAL values across files.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1231_partition_by_int",
      "num": 1231,
      "name": "partition_by_int",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1231_partition_by_int.py",
      "read_script": "generator/df-reads-spark-iceberg/1231_partition_by_int.sql",
      "description": "PARTITIONED BY (bucket INT) with typed INT partition column.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1232_partition_by_bigint",
      "num": 1232,
      "name": "partition_by_bigint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1232_partition_by_bigint.py",
      "read_script": "generator/df-reads-spark-iceberg/1232_partition_by_bigint.sql",
      "description": "PARTITIONED BY (group_id BIGINT) with typed BIGINT partition column.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1233_partition_by_boolean",
      "num": 1233,
      "name": "partition_by_boolean",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1233_partition_by_boolean.py",
      "read_script": "generator/df-reads-spark-iceberg/1233_partition_by_boolean.sql",
      "description": "PARTITIONED BY (active BOOLEAN) with typed BOOLEAN partition column.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1234_partition_by_smallint",
      "num": 1234,
      "name": "partition_by_smallint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1234_partition_by_smallint.py",
      "read_script": "generator/df-reads-spark-iceberg/1234_partition_by_smallint.sql",
      "description": "PARTITIONED BY (tier SMALLINT) with typed SMALLINT partition column.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1235_partition_by_int_dml",
      "num": 1235,
      "name": "partition_by_int_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1235_partition_by_int_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/1235_partition_by_int_dml.sql",
      "description": "MERGE across a PARTITIONED BY (category INT) table.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1236_partition_by_int_cdc",
      "num": 1236,
      "name": "partition_by_int_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1236_partition_by_int_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1236_partition_by_int_cdc.sql",
      "description": "PARTITIONED BY (bucket INT) with CDC enabled.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1237_partition_by_boolean_cdc",
      "num": 1237,
      "name": "partition_by_boolean_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1237_partition_by_boolean_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1237_partition_by_boolean_cdc.sql",
      "description": "PARTITIONED BY (is_active BOOLEAN) with CDC enabled.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1238_partition_by_int_evolve",
      "num": 1238,
      "name": "partition_by_int_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1238_partition_by_int_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/1238_partition_by_int_evolve.sql",
      "description": "PARTITIONED BY (bucket INT) with schema evolution (ADD COLUMN).",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1239_partition_by_int_colmap",
      "num": 1239,
      "name": "partition_by_int_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1239_partition_by_int_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/1239_partition_by_int_colmap.sql",
      "description": "PARTITIONED BY (bucket INT) with column mapping mode = name.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/123_histogram_benchmark_optimal",
      "num": 123,
      "name": "histogram_benchmark_optimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/123_histogram_benchmark_optimal.py",
      "read_script": "generator/df-reads-spark-iceberg/123_histogram_benchmark_optimal.sql",
      "description": "Schema (20 columns) for sensor analytics platform 10,000,000 rows with various distribution patterns",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "delta:partitioning",
        "iceberg:uniform",
        "scale:large-dataset",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1240_partition_by_boolean_merge",
      "num": 1240,
      "name": "partition_by_boolean_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1240_partition_by_boolean_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/1240_partition_by_boolean_merge.sql",
      "description": "MERGE across PARTITIONED BY (flag BOOLEAN) table.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1241_partition_by_int_constraint",
      "num": 1241,
      "name": "partition_by_int_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1241_partition_by_int_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/1241_partition_by_int_constraint.sql",
      "description": "PARTITIONED BY (tier INT) with a CHECK constraint.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1242_partition_by_int_optimize",
      "num": 1242,
      "name": "partition_by_int_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1242_partition_by_int_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/1242_partition_by_int_optimize.sql",
      "description": "PARTITIONED BY (bucket INT) with multiple batches, OPTIMIZE, then DML.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1243_partition_by_int_null",
      "num": 1243,
      "name": "partition_by_int_null",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1243_partition_by_int_null.py",
      "read_script": "generator/df-reads-spark-iceberg/1243_partition_by_int_null.sql",
      "description": "PARTITIONED BY (bucket INT) with NULL partition values.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1244_partition_by_int_nmbys",
      "num": 1244,
      "name": "partition_by_int_nmbys",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1244_partition_by_int_nmbys.py",
      "read_script": "generator/df-reads-spark-iceberg/1244_partition_by_int_nmbys.sql",
      "description": "PARTITIONED BY (bucket INT) with MERGE using",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1245_partition_by_int_five_way",
      "num": 1245,
      "name": "partition_by_int_five_way",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1245_partition_by_int_five_way.py",
      "read_script": "generator/df-reads-spark-iceberg/1245_partition_by_int_five_way.sql",
      "description": "Five-way feature combination with PARTITIONED BY (bucket INT):",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1246_time_travel_insert_versions",
      "num": 1246,
      "name": "time_travel_insert_versions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1246_time_travel_insert_versions.py",
      "read_script": "generator/df-reads-spark-iceberg/1246_time_travel_insert_versions.sql",
      "description": "Time travel across multiple INSERT versions.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1247_time_travel_update_versions",
      "num": 1247,
      "name": "time_travel_update_versions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1247_time_travel_update_versions.py",
      "read_script": "generator/df-reads-spark-iceberg/1247_time_travel_update_versions.sql",
      "description": "Time travel to read pre-UPDATE and post-UPDATE versions.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1248_time_travel_delete_versions",
      "num": 1248,
      "name": "time_travel_delete_versions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1248_time_travel_delete_versions.py",
      "read_script": "generator/df-reads-spark-iceberg/1248_time_travel_delete_versions.sql",
      "description": "Time travel to read pre-DELETE version.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1249_time_travel_schema_evolve",
      "num": 1249,
      "name": "time_travel_schema_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1249_time_travel_schema_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/1249_time_travel_schema_evolve.sql",
      "description": "Time travel across schema evolution boundary.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/124_dbx_modify_roundtrip",
      "num": 124,
      "name": "dbx_modify_roundtrip",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/124_dbx_modify_roundtrip.py",
      "read_script": "generator/df-reads-spark-iceberg/124_dbx_modify_roundtrip.sql",
      "description": "Download DBX table -> Modify locally with DeltaForge -> Upload back to DBX",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1250_time_travel_merge_versions",
      "num": 1250,
      "name": "time_travel_merge_versions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1250_time_travel_merge_versions.py",
      "read_script": "generator/df-reads-spark-iceberg/1250_time_travel_merge_versions.sql",
      "description": "Time travel to read pre-MERGE version.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1251_time_travel_multiple_updates",
      "num": 1251,
      "name": "time_travel_multiple_updates",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1251_time_travel_multiple_updates.py",
      "read_script": "generator/df-reads-spark-iceberg/1251_time_travel_multiple_updates.sql",
      "description": "Multiple sequential UPDATEs creating 4 versions (V0-V3).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1252_time_travel_delete_reinsert",
      "num": 1252,
      "name": "time_travel_delete_reinsert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1252_time_travel_delete_reinsert.py",
      "read_script": "generator/df-reads-spark-iceberg/1252_time_travel_delete_reinsert.sql",
      "description": "DELETE then re-INSERT creating 3 versions.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1253_time_travel_typed_values",
      "num": 1253,
      "name": "time_travel_typed_values",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1253_time_travel_typed_values.py",
      "read_script": "generator/df-reads-spark-iceberg/1253_time_travel_typed_values.sql",
      "description": "Time travel with DECIMAL and TIMESTAMP typed columns.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1254_time_travel_partition",
      "num": 1254,
      "name": "time_travel_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1254_time_travel_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1254_time_travel_partition.sql",
      "description": "Time travel on a partitioned table with multiple versions.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1255_time_travel_cdc",
      "num": 1255,
      "name": "time_travel_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1255_time_travel_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1255_time_travel_cdc.sql",
      "description": "CDC-enabled table with multiple versions and CDF availability.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1256_time_travel_optimize",
      "num": 1256,
      "name": "time_travel_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1256_time_travel_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/1256_time_travel_optimize.sql",
      "description": "OPTIMIZE does not change logical data, only file layout.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1257_time_travel_five_versions",
      "num": 1257,
      "name": "time_travel_five_versions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1257_time_travel_five_versions.py",
      "read_script": "generator/df-reads-spark-iceberg/1257_time_travel_five_versions.sql",
      "description": "5 sequential INSERTs creating V0-V4, each adding 20 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1258_time_travel_version_zero",
      "num": 1258,
      "name": "time_travel_version_zero",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1258_time_travel_version_zero.py",
      "read_script": "generator/df-reads-spark-iceberg/1258_time_travel_version_zero.sql",
      "description": "Reading VERSION AS OF 0 after many subsequent mutations.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1259_time_travel_colmap",
      "num": 1259,
      "name": "time_travel_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1259_time_travel_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/1259_time_travel_colmap.sql",
      "description": "Column mapping (name mode) with time travel.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/125_deltaforge_create_dbx_modify",
      "num": 125,
      "name": "deltaforge_create_dbx_modify",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/125_deltaforge_create_dbx_modify.py",
      "read_script": "generator/df-reads-spark-iceberg/125_deltaforge_create_dbx_modify.sql",
      "description": "DeltaForge creates table locally -> Upload to DBX -> DBX modifies -> Download -> DeltaForge reads",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1260_time_travel_constraint",
      "num": 1260,
      "name": "time_travel_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1260_time_travel_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/1260_time_travel_constraint.sql",
      "description": "Time travel reading version before constraint was added.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1261_pushdown_int_eq",
      "num": 1261,
      "name": "pushdown_int_eq",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1261_pushdown_int_eq.py",
      "read_script": "generator/df-reads-spark-iceberg/1261_pushdown_int_eq.sql",
      "description": "Integer equality predicate pushdown with file-level statistics.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1262_pushdown_int_range",
      "num": 1262,
      "name": "pushdown_int_range",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1262_pushdown_int_range.py",
      "read_script": "generator/df-reads-spark-iceberg/1262_pushdown_int_range.sql",
      "description": "Integer range predicate pushdown. WHERE score BETWEEN 20 AND 59",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1263_pushdown_decimal_eq",
      "num": 1263,
      "name": "pushdown_decimal_eq",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1263_pushdown_decimal_eq.py",
      "read_script": "generator/df-reads-spark-iceberg/1263_pushdown_decimal_eq.sql",
      "description": "DECIMAL equality predicate pushdown with disjoint ranges.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1264_pushdown_decimal_range",
      "num": 1264,
      "name": "pushdown_decimal_range",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1264_pushdown_decimal_range.py",
      "read_script": "generator/df-reads-spark-iceberg/1264_pushdown_decimal_range.sql",
      "description": "DECIMAL range predicate pushdown.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1265_pushdown_timestamp_range",
      "num": 1265,
      "name": "pushdown_timestamp_range",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1265_pushdown_timestamp_range.py",
      "read_script": "generator/df-reads-spark-iceberg/1265_pushdown_timestamp_range.sql",
      "description": "TIMESTAMP range predicate pushdown.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1266_pushdown_string_prefix",
      "num": 1266,
      "name": "pushdown_string_prefix",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1266_pushdown_string_prefix.py",
      "read_script": "generator/df-reads-spark-iceberg/1266_pushdown_string_prefix.sql",
      "description": "STRING range predicate pushdown using prefix filtering.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1267_pushdown_boolean_filter",
      "num": 1267,
      "name": "pushdown_boolean_filter",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1267_pushdown_boolean_filter.py",
      "read_script": "generator/df-reads-spark-iceberg/1267_pushdown_boolean_filter.sql",
      "description": "BOOLEAN predicate pushdown. Batch 1 all true, batch 2 all false.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1268_pushdown_null_filter",
      "num": 1268,
      "name": "pushdown_null_filter",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1268_pushdown_null_filter.py",
      "read_script": "generator/df-reads-spark-iceberg/1268_pushdown_null_filter.sql",
      "description": "NULL filtering with file-level null counts.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1269_pushdown_after_update",
      "num": 1269,
      "name": "pushdown_after_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1269_pushdown_after_update.py",
      "read_script": "generator/df-reads-spark-iceberg/1269_pushdown_after_update.sql",
      "description": "Predicate pushdown after UPDATE rewrites files.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/126_optimize_local_upload",
      "num": 126,
      "name": "optimize_local_upload",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/126_optimize_local_upload.py",
      "read_script": "generator/df-reads-spark-iceberg/126_optimize_local_upload.sql",
      "description": "Table designed for testing optimization scenarios with local uploads.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "delta:optimize",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1270_pushdown_after_delete",
      "num": 1270,
      "name": "pushdown_after_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1270_pushdown_after_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/1270_pushdown_after_delete.sql",
      "description": "Predicate pushdown after DELETE (via deletion vectors).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1271_pushdown_decimal_negative",
      "num": 1271,
      "name": "pushdown_decimal_negative",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1271_pushdown_decimal_negative.py",
      "read_script": "generator/df-reads-spark-iceberg/1271_pushdown_decimal_negative.sql",
      "description": "DECIMAL predicate pushdown with negative values.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1272_pushdown_mixed_types",
      "num": 1272,
      "name": "pushdown_mixed_types",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1272_pushdown_mixed_types.py",
      "read_script": "generator/df-reads-spark-iceberg/1272_pushdown_mixed_types.sql",
      "description": "Compound predicate pushdown on INT + DECIMAL columns.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1273_pushdown_partition_plus_stats",
      "num": 1273,
      "name": "pushdown_partition_plus_stats",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1273_pushdown_partition_plus_stats.py",
      "read_script": "generator/df-reads-spark-iceberg/1273_pushdown_partition_plus_stats.sql",
      "description": "Partition pruning combined with file-level stats pushdown.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1274_pushdown_after_optimize",
      "num": 1274,
      "name": "pushdown_after_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1274_pushdown_after_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/1274_pushdown_after_optimize.sql",
      "description": "Predicate pushdown after OPTIMIZE compacts files.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1275_pushdown_all_types",
      "num": 1275,
      "name": "pushdown_all_types",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1275_pushdown_all_types.py",
      "read_script": "generator/df-reads-spark-iceberg/1275_pushdown_all_types.sql",
      "description": "Compound predicate pushdown on INT + DECIMAL + TIMESTAMP simultaneously.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1276_checkpoint_insert_chain",
      "num": 1276,
      "name": "checkpoint_insert_chain",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1276_checkpoint_insert_chain.py",
      "read_script": "generator/df-reads-spark-iceberg/1276_checkpoint_insert_chain.sql",
      "description": "11 sequential INSERT batches forcing checkpoint at version 10.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1277_checkpoint_mixed_dml",
      "num": 1277,
      "name": "checkpoint_mixed_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1277_checkpoint_mixed_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/1277_checkpoint_mixed_dml.sql",
      "description": "Mixed INSERT/UPDATE/DELETE operations across 12 versions forcing checkpoint.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1278_checkpoint_typed",
      "num": 1278,
      "name": "checkpoint_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1278_checkpoint_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1278_checkpoint_typed.sql",
      "description": "Typed columns (DECIMAL, TIMESTAMP, BOOLEAN) survive checkpoint.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1279_checkpoint_partition",
      "num": 1279,
      "name": "checkpoint_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1279_checkpoint_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1279_checkpoint_partition.sql",
      "description": "Partitioned table with 12+ commits forcing checkpoint.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/127_compact_with_dv",
      "num": 127,
      "name": "compact_with_dv",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/127_compact_with_dv.py",
      "read_script": "generator/df-reads-spark-iceberg/127_compact_with_dv.sql",
      "description": "Schema (9 columns): employee_id (BIGINT), employee_code (STRING), name (STRING), email (STRING), department (STRING), level (STRING), salary (BIGINT), hire_date (TIMESTAMP), status (STRING)",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1280_checkpoint_schema_evolve",
      "num": 1280,
      "name": "checkpoint_schema_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1280_checkpoint_schema_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/1280_checkpoint_schema_evolve.sql",
      "description": "Schema evolution across checkpoint boundary.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1281_checkpoint_cdc",
      "num": 1281,
      "name": "checkpoint_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1281_checkpoint_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1281_checkpoint_cdc.sql",
      "description": "CDC-enabled table with 12+ versions forcing checkpoint.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1282_checkpoint_constraint",
      "num": 1282,
      "name": "checkpoint_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1282_checkpoint_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/1282_checkpoint_constraint.sql",
      "description": "CHECK constraint metadata survives checkpoint.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1283_checkpoint_colmap",
      "num": 1283,
      "name": "checkpoint_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1283_checkpoint_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/1283_checkpoint_colmap.sql",
      "description": "Column mapping (name mode) with 12+ versions forcing checkpoint.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1284_checkpoint_optimize",
      "num": 1284,
      "name": "checkpoint_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1284_checkpoint_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/1284_checkpoint_optimize.sql",
      "description": "OPTIMIZE within a 12-version sequence forcing checkpoint.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1285_checkpoint_merge",
      "num": 1285,
      "name": "checkpoint_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1285_checkpoint_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/1285_checkpoint_merge.sql",
      "description": "Sequential MERGEs across checkpoint boundary.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1286_evolve_tt_add_column",
      "num": 1286,
      "name": "evolve_tt_add_column",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1286_evolve_tt_add_column.py",
      "read_script": "generator/df-reads-spark-iceberg/1286_evolve_tt_add_column.sql",
      "description": "Schema evolution (ADD COLUMN) combined with time travel.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1287_evolve_tt_add_two_columns",
      "num": 1287,
      "name": "evolve_tt_add_two_columns",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1287_evolve_tt_add_two_columns.py",
      "read_script": "generator/df-reads-spark-iceberg/1287_evolve_tt_add_two_columns.sql",
      "description": "Two sequential ADD COLUMN evolutions with time travel.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1288_evolve_tt_add_decimal",
      "num": 1288,
      "name": "evolve_tt_add_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1288_evolve_tt_add_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/1288_evolve_tt_add_decimal.sql",
      "description": "Schema evolution adding a DECIMAL column with time travel.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1289_evolve_tt_add_timestamp",
      "num": 1289,
      "name": "evolve_tt_add_timestamp",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1289_evolve_tt_add_timestamp.py",
      "read_script": "generator/df-reads-spark-iceberg/1289_evolve_tt_add_timestamp.sql",
      "description": "Schema evolution adding a TIMESTAMP column with time travel.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "schema:add-column",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/128_schema_evolution_roundtrip",
      "num": 128,
      "name": "schema_evolution_roundtrip",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/128_schema_evolution_roundtrip.py",
      "read_script": "generator/df-reads-spark-iceberg/128_schema_evolution_roundtrip.sql",
      "description": "Schema evolution across multiple versions with column additions.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "delta:constraints",
        "schema:add-column",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1290_evolve_tt_rename",
      "num": 1290,
      "name": "evolve_tt_rename",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1290_evolve_tt_rename.py",
      "read_script": "generator/df-reads-spark-iceberg/1290_evolve_tt_rename.sql",
      "description": "RENAME COLUMN with column mapping + time travel.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:time-travel",
        "schema:add-column",
        "schema:rename-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1291_evolve_tt_drop",
      "num": 1291,
      "name": "evolve_tt_drop",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1291_evolve_tt_drop.py",
      "read_script": "generator/df-reads-spark-iceberg/1291_evolve_tt_drop.sql",
      "description": "DROP COLUMN with column mapping + time travel.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:time-travel",
        "schema:add-column",
        "schema:drop-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1292_evolve_tt_add_then_dml",
      "num": 1292,
      "name": "evolve_tt_add_then_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1292_evolve_tt_add_then_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/1292_evolve_tt_add_then_dml.sql",
      "description": "ADD COLUMN followed by UPDATE, then INSERT, with time travel.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1293_evolve_tt_multi_evolve",
      "num": 1293,
      "name": "evolve_tt_multi_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1293_evolve_tt_multi_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/1293_evolve_tt_multi_evolve.sql",
      "description": "Three sequential ADD COLUMN evolutions interleaved with INSERTs.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1294_evolve_tt_typed_values",
      "num": 1294,
      "name": "evolve_tt_typed_values",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1294_evolve_tt_typed_values.py",
      "read_script": "generator/df-reads-spark-iceberg/1294_evolve_tt_typed_values.sql",
      "description": "Schema evolution with typed columns (DECIMAL, TIMESTAMP, BOOLEAN) + time travel.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "schema:add-column",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1295_evolve_tt_with_constraint",
      "num": 1295,
      "name": "evolve_tt_with_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1295_evolve_tt_with_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/1295_evolve_tt_with_constraint.sql",
      "description": "ADD COLUMN + ADD CONSTRAINT with time travel.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:time-travel",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1296_nullable_metadata_basic",
      "num": 1296,
      "name": "nullable_metadata_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1296_nullable_metadata_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/1296_nullable_metadata_basic.sql",
      "description": "Mix of NOT NULL and nullable columns. Verify Spark reads correct nullable flags.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1297_nullable_metadata_after_evolve",
      "num": 1297,
      "name": "nullable_metadata_after_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1297_nullable_metadata_after_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/1297_nullable_metadata_after_evolve.sql",
      "description": "NOT NULL columns + evolved nullable column. Evolved columns default to nullable.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:default-values",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1298_nullable_metadata_all_not_null",
      "num": 1298,
      "name": "nullable_metadata_all_not_null",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1298_nullable_metadata_all_not_null.py",
      "read_script": "generator/df-reads-spark-iceberg/1298_nullable_metadata_all_not_null.sql",
      "description": "All columns NOT NULL. Verify Spark reports correct schema.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1299_nullable_metadata_with_dml",
      "num": 1299,
      "name": "nullable_metadata_with_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1299_nullable_metadata_with_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/1299_nullable_metadata_with_dml.sql",
      "description": "NOT NULL + nullable mix through UPDATE/DELETE/MERGE.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/129_concurrent_modifications",
      "num": 129,
      "name": "concurrent_modifications",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/129_concurrent_modifications.py",
      "read_script": "generator/df-reads-spark-iceberg/129_concurrent_modifications.sql",
      "description": "Multiple concurrent modifications to a table simulating",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "scale:large-dataset",
        "robust:concurrent-writes",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/12_insert_struct_with_null",
      "num": 12,
      "name": "insert_struct_with_null",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/12_insert_struct_with_null.py",
      "read_script": "generator/df-reads-spark-iceberg/12_insert_struct_with_null.sql",
      "description": "INSERT STRUCT where every 5th row has both struct fields NULL.",
      "status": "pass",
      "duration_ms": 53,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:46:06.533780+00:00",
      "read_cold_ms": 53,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/12_version_checksum_with_histogram",
      "num": 12,
      "name": "version_checksum_with_histogram",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/12_version_checksum_with_histogram.py",
      "read_script": "generator/df-reads-spark-iceberg/12_version_checksum_with_histogram.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 57,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:46:06.533780+00:00",
      "read_cold_ms": 57,
      "read_warm_ms": 37,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1300_nullable_metadata_partition",
      "num": 1300,
      "name": "nullable_metadata_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1300_nullable_metadata_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1300_nullable_metadata_partition.sql",
      "description": "NOT NULL partition key. Partitioned table where partition column is NOT NULL.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1301_append_only_basic",
      "num": 1301,
      "name": "append_only_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1301_append_only_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/1301_append_only_basic.sql",
      "description": "Append-only table (delta.appendOnly=true). Only INSERTs allowed.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1302_append_only_typed",
      "num": 1302,
      "name": "append_only_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1302_append_only_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1302_append_only_typed.sql",
      "description": "Append-only with DECIMAL+TIMESTAMP+BOOLEAN typed columns.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1303_append_only_cdc",
      "num": 1303,
      "name": "append_only_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1303_append_only_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1303_append_only_cdc.sql",
      "description": "Append-only + CDC enabled. Only inserts, CDF should have 100 insert records.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1304_enable_cdc_at_create",
      "num": 1304,
      "name": "enable_cdc_at_create",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1304_enable_cdc_at_create.py",
      "read_script": "generator/df-reads-spark-iceberg/1304_enable_cdc_at_create.sql",
      "description": "CDC enabled from table creation with full DML lifecycle.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1305_enable_dv_at_create",
      "num": 1305,
      "name": "enable_dv_at_create",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1305_enable_dv_at_create.py",
      "read_script": "generator/df-reads-spark-iceberg/1305_enable_dv_at_create.sql",
      "description": "Deletion vectors enabled from creation with full DML lifecycle.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1306_colmap_from_start",
      "num": 1306,
      "name": "colmap_from_start",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1306_colmap_from_start.py",
      "read_script": "generator/df-reads-spark-iceberg/1306_colmap_from_start.sql",
      "description": "Column mapping from table creation with full DML lifecycle + RENAME.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:rename-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1307_all_properties_from_start",
      "num": 1307,
      "name": "all_properties_from_start",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1307_all_properties_from_start.py",
      "read_script": "generator/df-reads-spark-iceberg/1307_all_properties_from_start.sql",
      "description": "All properties enabled at CREATE (DV + CDC + colmap) with full DML.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1308_minimal_properties",
      "num": 1308,
      "name": "minimal_properties",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1308_minimal_properties.py",
      "read_script": "generator/df-reads-spark-iceberg/1308_minimal_properties.sql",
      "description": "Table with NO special properties (no DV, no CDC, no colmap).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1309_hundred_files",
      "num": 1309,
      "name": "hundred_files",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1309_hundred_files.py",
      "read_script": "generator/df-reads-spark-iceberg/1309_hundred_files.sql",
      "description": "100 INSERT batches of 5 rows each (500 total, 100 files).",
      "status": "pass",
      "duration_ms": 70,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 70,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/130_deltaforge_dbx_deltaforge",
      "num": 130,
      "name": "deltaforge_dbx_deltaforge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/130_deltaforge_dbx_deltaforge.py",
      "read_script": "generator/df-reads-spark-iceberg/130_deltaforge_dbx_deltaforge.sql",
      "description": "Complex multi-operation chaos scenario with sensor readings.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "dml:overwrite",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1310_hundred_files_delete",
      "num": 1310,
      "name": "hundred_files_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1310_hundred_files_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/1310_hundred_files_delete.sql",
      "description": "50 INSERT batches of 10 rows (500 total, 50 files).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1311_hundred_files_typed",
      "num": 1311,
      "name": "hundred_files_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1311_hundred_files_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1311_hundred_files_typed.sql",
      "description": "100 INSERT batches of 5 rows with DECIMAL+TIMESTAMP+BOOLEAN (500 total).",
      "status": "pass",
      "duration_ms": 40,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 40,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1312_stats_checkpoint",
      "num": 1312,
      "name": "stats_checkpoint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1312_stats_checkpoint.py",
      "read_script": "generator/df-reads-spark-iceberg/1312_stats_checkpoint.sql",
      "description": "11 INSERT batches (checkpoint at V10). Verify stats correct after checkpoint.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1313_stats_partition_pushdown",
      "num": 1313,
      "name": "stats_partition_pushdown",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1313_stats_partition_pushdown.py",
      "read_script": "generator/df-reads-spark-iceberg/1313_stats_partition_pushdown.sql",
      "description": "Partitioned table + 3 batches per partition. Predicate uses both",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1314_pushdown_checkpoint",
      "num": 1314,
      "name": "pushdown_checkpoint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1314_pushdown_checkpoint.py",
      "read_script": "generator/df-reads-spark-iceberg/1314_pushdown_checkpoint.sql",
      "description": "12+ commits then predicate pushdown query. Checkpoint must not break file skipping.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1315_time_travel_checkpoint",
      "num": 1315,
      "name": "time_travel_checkpoint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1315_time_travel_checkpoint.py",
      "read_script": "generator/df-reads-spark-iceberg/1315_time_travel_checkpoint.sql",
      "description": "12+ commits, time travel to version before and after checkpoint.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1316_stats_typed_partition",
      "num": 1316,
      "name": "stats_typed_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1316_stats_typed_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1316_stats_typed_partition.sql",
      "description": "INT-partitioned table with 3 batches per partition. Stats per file,",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1317_pushdown_after_merge",
      "num": 1317,
      "name": "pushdown_after_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1317_pushdown_after_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/1317_pushdown_after_merge.sql",
      "description": "5 INSERT batches, then MERGE updates one batch's range. Predicate should",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1318_stats_evolve_checkpoint",
      "num": 1318,
      "name": "stats_evolve_checkpoint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1318_stats_evolve_checkpoint.py",
      "read_script": "generator/df-reads-spark-iceberg/1318_stats_evolve_checkpoint.sql",
      "description": "Schema evolution + 12+ commits + checkpoint. Evolved column stats must",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1319_time_travel_partition_typed",
      "num": 1319,
      "name": "time_travel_partition_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1319_time_travel_partition_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1319_time_travel_partition_typed.sql",
      "description": "INT-partitioned table with multiple versions. Time travel reads old",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/131_vacuum",
      "num": 131,
      "name": "vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/131_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/131_vacuum.sql",
      "description": "Complex multi-operation chaos scenario with employee data.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "delta:vacuum",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1320_pushdown_cdc",
      "num": 1320,
      "name": "pushdown_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1320_pushdown_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1320_pushdown_cdc.sql",
      "description": "CDC-enabled table + multi-batch + predicate pushdown. CDC files must",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1321_stats_after_three_updates",
      "num": 1321,
      "name": "stats_after_three_updates",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1321_stats_after_three_updates.py",
      "read_script": "generator/df-reads-spark-iceberg/1321_stats_after_three_updates.sql",
      "description": "INSERT 2 batches, 3 sequential UPDATEs. File-level stats must",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1322_pushdown_decimal_four_files",
      "num": 1322,
      "name": "pushdown_decimal_four_files",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1322_pushdown_decimal_four_files.py",
      "read_script": "generator/df-reads-spark-iceberg/1322_pushdown_decimal_four_files.sql",
      "description": "4 batches with disjoint DECIMAL(10,4) ranges. Predicate",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1323_time_travel_ten_versions",
      "num": 1323,
      "name": "time_travel_ten_versions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1323_time_travel_ten_versions.py",
      "read_script": "generator/df-reads-spark-iceberg/1323_time_travel_ten_versions.sql",
      "description": "10 INSERT batches (V0-V9). Read each version cumulatively.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1324_checkpoint_after_merge",
      "num": 1324,
      "name": "checkpoint_after_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1324_checkpoint_after_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/1324_checkpoint_after_merge.sql",
      "description": "INSERT + 10 MERGEs (V0-V10). Checkpoint at V10.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1325_stats_partition_typed_key",
      "num": 1325,
      "name": "stats_partition_typed_key",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1325_stats_partition_typed_key.py",
      "read_script": "generator/df-reads-spark-iceberg/1325_stats_partition_typed_key.sql",
      "description": "INT-partitioned table, 2 batches per partition. Predicate",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1326_pushdown_timestamp_three_files",
      "num": 1326,
      "name": "pushdown_timestamp_three_files",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1326_pushdown_timestamp_three_files.py",
      "read_script": "generator/df-reads-spark-iceberg/1326_pushdown_timestamp_three_files.sql",
      "description": "3 batches with disjoint TIMESTAMP ranges (Jan/Feb/Mar 2024).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1327_time_travel_after_optimize",
      "num": 1327,
      "name": "time_travel_after_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1327_time_travel_after_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/1327_time_travel_after_optimize.sql",
      "description": "INSERT 4 batches (V0-V3). OPTIMIZE (V4). Time travel to V2",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1328_checkpoint_with_dv",
      "num": 1328,
      "name": "checkpoint_with_dv",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1328_checkpoint_with_dv.py",
      "read_script": "generator/df-reads-spark-iceberg/1328_checkpoint_with_dv.sql",
      "description": "12+ commits including DELETE with deletion vectors. Checkpoint",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1329_stats_colmap",
      "num": 1329,
      "name": "stats_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1329_stats_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/1329_stats_colmap.sql",
      "description": "Column mapping (name mode) + multi-file stats. Verify that",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/132_restore",
      "num": 132,
      "name": "restore",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/132_restore.py",
      "read_script": "generator/df-reads-spark-iceberg/132_restore.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1330_pushdown_after_delete_dv",
      "num": 1330,
      "name": "pushdown_after_delete_dv",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1330_pushdown_after_delete_dv.py",
      "read_script": "generator/df-reads-spark-iceberg/1330_pushdown_after_delete_dv.sql",
      "description": "3 batches, DELETE from batch 2 via deletion vectors. Predicate",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1331_time_travel_with_merge",
      "num": 1331,
      "name": "time_travel_with_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1331_time_travel_with_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/1331_time_travel_with_merge.sql",
      "description": "INSERT, MERGE, UPDATE, DELETE across 4 versions. Time travel",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1332_checkpoint_nmbys",
      "num": 1332,
      "name": "checkpoint_nmbys",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1332_checkpoint_nmbys.py",
      "read_script": "generator/df-reads-spark-iceberg/1332_checkpoint_nmbys.sql",
      "description": "12+ commits including MERGE with NOT MATCHED BY SOURCE DELETE.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1333_stats_after_nmbys",
      "num": 1333,
      "name": "stats_after_nmbys",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1333_stats_after_nmbys.py",
      "read_script": "generator/df-reads-spark-iceberg/1333_stats_after_nmbys.sql",
      "description": "INSERT 2 batches, MERGE with NOT MATCHED BY SOURCE deletes",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1334_pushdown_nmbys",
      "num": 1334,
      "name": "pushdown_nmbys",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1334_pushdown_nmbys.py",
      "read_script": "generator/df-reads-spark-iceberg/1334_pushdown_nmbys.sql",
      "description": "INSERT 3 batches, NOT MATCHED BY SOURCE deletes unmatched",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1335_time_travel_nmbys",
      "num": 1335,
      "name": "time_travel_nmbys",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1335_time_travel_nmbys.py",
      "read_script": "generator/df-reads-spark-iceberg/1335_time_travel_nmbys.sql",
      "description": "INSERT 100 rows (V0). MERGE NOT MATCHED BY SOURCE deletes 40 (V1).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1336_stats_checkpoint_partition",
      "num": 1336,
      "name": "stats_checkpoint_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1336_stats_checkpoint_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1336_stats_checkpoint_partition.sql",
      "description": "INT-partitioned table, 12+ commits forcing checkpoint.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1337_pushdown_checkpoint_typed",
      "num": 1337,
      "name": "pushdown_checkpoint_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1337_pushdown_checkpoint_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1337_pushdown_checkpoint_typed.sql",
      "description": "12+ commits with DECIMAL data, checkpoint, then DECIMAL",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1338_time_travel_checkpoint",
      "num": 1338,
      "name": "time_travel_checkpoint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1338_time_travel_checkpoint.py",
      "read_script": "generator/df-reads-spark-iceberg/1338_time_travel_checkpoint.sql",
      "description": "15 commits, checkpoint at V10. Time travel to V5 (before",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1339_stats_evolve_partition",
      "num": 1339,
      "name": "stats_evolve_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1339_stats_evolve_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1339_stats_evolve_partition.sql",
      "description": "Schema evolution + partitioned + multi-file. Evolved column",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/133_clone_interop",
      "num": 133,
      "name": "clone_interop",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/133_clone_interop.py",
      "read_script": "generator/df-reads-spark-iceberg/133_clone_interop.sql",
      "description": "Download table -> CLONE (shallow and deep) with DeltaForge -> Verify DBX reads clones correctly",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1340_pushdown_evolve",
      "num": 1340,
      "name": "pushdown_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1340_pushdown_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/1340_pushdown_evolve.sql",
      "description": "Schema evolution + predicate on evolved column. WHERE extra > 50",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1341_time_travel_evolve_partition",
      "num": 1341,
      "name": "time_travel_evolve_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1341_time_travel_evolve_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1341_time_travel_evolve_partition.sql",
      "description": "Partitioned + schema evolution, time travel across schema change.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:time-travel",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1342_checkpoint_evolve_partition",
      "num": 1342,
      "name": "checkpoint_evolve_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1342_checkpoint_evolve_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1342_checkpoint_evolve_partition.sql",
      "description": "Partitioned + schema evolution + 12+ commits + checkpoint.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1343_stats_cdc_partition",
      "num": 1343,
      "name": "stats_cdc_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1343_stats_cdc_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1343_stats_cdc_partition.sql",
      "description": "CDC + partition + multi-file stats. CDF files are separate",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1344_pushdown_colmap",
      "num": 1344,
      "name": "pushdown_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1344_pushdown_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/1344_pushdown_colmap.sql",
      "description": "Column mapping (name mode) + predicate pushdown. Uses logical",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1345_time_travel_cdc",
      "num": 1345,
      "name": "time_travel_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1345_time_travel_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1345_time_travel_cdc.sql",
      "description": "CDC + time travel. Read old version AND CDF. Both must work.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1346_checkpoint_all_features",
      "num": 1346,
      "name": "checkpoint_all_features",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1346_checkpoint_all_features.py",
      "read_script": "generator/df-reads-spark-iceberg/1346_checkpoint_all_features.sql",
      "description": "CDC + colmap + partition + constraint + evolve. 12+ commits.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1347_stats_ultimate",
      "num": 1347,
      "name": "stats_ultimate",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1347_stats_ultimate.py",
      "read_script": "generator/df-reads-spark-iceberg/1347_stats_ultimate.sql",
      "description": "ULTIMATE stats test. 5 batches, UPDATE, DELETE, MERGE, OPTIMIZE.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1348_pushdown_ultimate",
      "num": 1348,
      "name": "pushdown_ultimate",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1348_pushdown_ultimate.py",
      "read_script": "generator/df-reads-spark-iceberg/1348_pushdown_ultimate.sql",
      "description": "ULTIMATE pushdown test. 5 typed batches with",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1349_time_travel_ultimate",
      "num": 1349,
      "name": "time_travel_ultimate",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1349_time_travel_ultimate.py",
      "read_script": "generator/df-reads-spark-iceberg/1349_time_travel_ultimate.sql",
      "description": "ULTIMATE time travel. 8 versions with INSERT, INSERT, UPDATE,",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/134_delete_interop",
      "num": 134,
      "name": "delete_interop",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/134_delete_interop.py",
      "read_script": "generator/df-reads-spark-iceberg/134_delete_interop.sql",
      "description": "- DELETE operations with deletion vectors enabled - Task management data with timestamps - Nullable completed_at field based on modulo condition",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1350_interop_ultimate",
      "num": 1350,
      "name": "interop_ultimate",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1350_interop_ultimate.py",
      "read_script": "generator/df-reads-spark-iceberg/1350_interop_ultimate.sql",
      "description": "ULTIMATE interop test combining ALL features:",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:time-travel",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1351_zorder_basic",
      "num": 1351,
      "name": "zorder_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1351_zorder_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/1351_zorder_basic.sql",
      "description": "Basic Z-ORDER on INT column. INSERT 200 rows in 4 batches,",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1352_zorder_decimal",
      "num": 1352,
      "name": "zorder_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1352_zorder_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/1352_zorder_decimal.sql",
      "description": "Z-ORDER on DECIMAL column. Tests DECIMAL(10,2) values survive",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1353_zorder_timestamp",
      "num": 1353,
      "name": "zorder_timestamp",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1353_zorder_timestamp.py",
      "read_script": "generator/df-reads-spark-iceberg/1353_zorder_timestamp.sql",
      "description": "Z-ORDER on TIMESTAMP column. Tests TIMESTAMP values survive",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1354_zorder_string",
      "num": 1354,
      "name": "zorder_string",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1354_zorder_string.py",
      "read_script": "generator/df-reads-spark-iceberg/1354_zorder_string.sql",
      "description": "Z-ORDER on STRING column. INSERT 200 rows in 4 batches,",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1355_zorder_boolean",
      "num": 1355,
      "name": "zorder_boolean",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1355_zorder_boolean.py",
      "read_script": "generator/df-reads-spark-iceberg/1355_zorder_boolean.sql",
      "description": "Z-ORDER on BOOLEAN column. INSERT 200 rows in 4 batches,",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1356_zorder_two_columns",
      "num": 1356,
      "name": "zorder_two_columns",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1356_zorder_two_columns.py",
      "read_script": "generator/df-reads-spark-iceberg/1356_zorder_two_columns.sql",
      "description": "Z-ORDER on two columns simultaneously (INT + STRING).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1357_zorder_three_columns",
      "num": 1357,
      "name": "zorder_three_columns",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1357_zorder_three_columns.py",
      "read_script": "generator/df-reads-spark-iceberg/1357_zorder_three_columns.sql",
      "description": "Z-ORDER on three columns (INT + DECIMAL + STRING).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1358_zorder_cdc",
      "num": 1358,
      "name": "zorder_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1358_zorder_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1358_zorder_cdc.sql",
      "description": "Z-ORDER + CDC. ZORDER must NOT emit CDF rows. Critical interop test.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1359_zorder_partition",
      "num": 1359,
      "name": "zorder_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1359_zorder_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1359_zorder_partition.sql",
      "description": "Z-ORDER on partitioned table. Z-ORDER should operate per-partition.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:partitioning",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/135_update_interop",
      "num": 135,
      "name": "update_interop",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/135_update_interop.py",
      "read_script": "generator/df-reads-spark-iceberg/135_update_interop.sql",
      "description": "- Chaos Update Interop table generation - 250 customers with deterministic data generation - Deletion vectors enabled - Various data types: Int64, Utf8, Timestamp",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1360_zorder_after_delete",
      "num": 1360,
      "name": "zorder_after_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1360_zorder_after_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/1360_zorder_after_delete.sql",
      "description": "Z-ORDER after DELETE. DELETE creates DVs, ZORDER materializes",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1361_zorder_after_update",
      "num": 1361,
      "name": "zorder_after_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1361_zorder_after_update.py",
      "read_script": "generator/df-reads-spark-iceberg/1361_zorder_after_update.sql",
      "description": "Z-ORDER after UPDATE. UPDATE creates DVs, ZORDER materializes",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1362_zorder_after_merge",
      "num": 1362,
      "name": "zorder_after_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1362_zorder_after_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/1362_zorder_after_merge.sql",
      "description": "Z-ORDER after MERGE. MERGE modifies data, ZORDER reorders.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1363_zorder_multi_type_preserve",
      "num": 1363,
      "name": "zorder_multi_type_preserve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1363_zorder_multi_type_preserve.py",
      "read_script": "generator/df-reads-spark-iceberg/1363_zorder_multi_type_preserve.sql",
      "description": "Z-ORDER + verify all 6 typed columns survive reorg.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1364_zorder_then_dml",
      "num": 1364,
      "name": "zorder_then_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1364_zorder_then_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/1364_zorder_then_dml.sql",
      "description": "Z-ORDER then subsequent DML. Tests that DML works on",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1365_zorder_then_merge",
      "num": 1365,
      "name": "zorder_then_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1365_zorder_then_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/1365_zorder_then_merge.sql",
      "description": "Z-ORDER then MERGE. Tests MERGE on ZORDER-compacted files.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1366_zorder_constraint",
      "num": 1366,
      "name": "zorder_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1366_zorder_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/1366_zorder_constraint.sql",
      "description": "Z-ORDER + constraint. Constraint metadata must survive ZORDER.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1367_zorder_colmap",
      "num": 1367,
      "name": "zorder_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1367_zorder_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/1367_zorder_colmap.sql",
      "description": "Z-ORDER + column mapping. ZORDER uses logical column names.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1368_zorder_evolve",
      "num": 1368,
      "name": "zorder_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1368_zorder_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/1368_zorder_evolve.sql",
      "description": "Z-ORDER + schema evolution. ADD COLUMN then ZORDER.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1369_zorder_not_null",
      "num": 1369,
      "name": "zorder_not_null",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1369_zorder_not_null.py",
      "read_script": "generator/df-reads-spark-iceberg/1369_zorder_not_null.sql",
      "description": "Z-ORDER + NOT NULL. NOT NULL columns preserved through ZORDER.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/136_merge_interop",
      "num": 136,
      "name": "merge_interop",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/136_merge_interop.py",
      "read_script": "generator/df-reads-spark-iceberg/136_merge_interop.sql",
      "description": "MERGE source (inline): 125 rows (updates 1-50, deletes 51-75, inserts 151-200) Deletion vectors enabled",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1370_zorder_cdc_partition",
      "num": 1370,
      "name": "zorder_cdc_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1370_zorder_cdc_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1370_zorder_cdc_partition.sql",
      "description": "Z-ORDER + CDC + partition. Three-way combo.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:optimize",
        "delta:partitioning",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1371_zorder_colmap_cdc",
      "num": 1371,
      "name": "zorder_colmap_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1371_zorder_colmap_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1371_zorder_colmap_cdc.sql",
      "description": "Z-ORDER + column mapping + CDC. Three-way combo.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1372_zorder_constraint_partition",
      "num": 1372,
      "name": "zorder_constraint_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1372_zorder_constraint_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1372_zorder_constraint_partition.sql",
      "description": "Z-ORDER + constraint + partition. Three-way combo.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:optimize",
        "delta:partitioning",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1373_zorder_evolve_cdc",
      "num": 1373,
      "name": "zorder_evolve_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1373_zorder_evolve_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1373_zorder_evolve_cdc.sql",
      "description": "Z-ORDER + schema evolution + CDC. Three-way combo.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:optimize",
        "delta:z-order",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1374_zorder_four_way",
      "num": 1374,
      "name": "zorder_four_way",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1374_zorder_four_way.py",
      "read_script": "generator/df-reads-spark-iceberg/1374_zorder_four_way.sql",
      "description": "Z-ORDER + CDC + partition + constraint. Four-way combo.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:optimize",
        "delta:partitioning",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1375_zorder_five_way",
      "num": 1375,
      "name": "zorder_five_way",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1375_zorder_five_way.py",
      "read_script": "generator/df-reads-spark-iceberg/1375_zorder_five_way.sql",
      "description": "Z-ORDER + CDC + colmap + partition + constraint. Five-way combo.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:optimize",
        "delta:partitioning",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1376_vacuum_after_delete",
      "num": 1376,
      "name": "vacuum_after_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1376_vacuum_after_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/1376_vacuum_after_delete.sql",
      "description": "VACUUM after DELETE with deletion vectors.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1377_vacuum_after_update",
      "num": 1377,
      "name": "vacuum_after_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1377_vacuum_after_update.py",
      "read_script": "generator/df-reads-spark-iceberg/1377_vacuum_after_update.sql",
      "description": "VACUUM after UPDATE. INSERT 200 rows, UPDATE score+100",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1378_vacuum_after_optimize",
      "num": 1378,
      "name": "vacuum_after_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1378_vacuum_after_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/1378_vacuum_after_optimize.sql",
      "description": "VACUUM after OPTIMIZE. INSERT 200 rows in 4 batches,",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1379_vacuum_typed_data",
      "num": 1379,
      "name": "vacuum_typed_data",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1379_vacuum_typed_data.py",
      "read_script": "generator/df-reads-spark-iceberg/1379_vacuum_typed_data.sql",
      "description": "VACUUM preserves typed data (DECIMAL, TIMESTAMP, BOOLEAN).",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/137_zorder_interop",
      "num": 137,
      "name": "zorder_interop",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/137_zorder_interop.py",
      "read_script": "generator/df-reads-spark-iceberg/137_zorder_interop.sql",
      "description": "- Z-ORDER fragmented table creation - Multiple INSERT batches creating fragmentation - Deletion vectors enabled - Timestamp handling with microsecond precision",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:z-order",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1380_vacuum_decimal",
      "num": 1380,
      "name": "vacuum_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1380_vacuum_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/1380_vacuum_decimal.sql",
      "description": "VACUUM preserves DECIMAL precision across two precisions.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1381_vacuum_timestamp",
      "num": 1381,
      "name": "vacuum_timestamp",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1381_vacuum_timestamp.py",
      "read_script": "generator/df-reads-spark-iceberg/1381_vacuum_timestamp.sql",
      "description": "VACUUM preserves TIMESTAMP microsecond precision.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1382_vacuum_cdc",
      "num": 1382,
      "name": "vacuum_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1382_vacuum_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1382_vacuum_cdc.sql",
      "description": "VACUUM with CDC (Change Data Feed) enabled.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1383_vacuum_partition",
      "num": 1383,
      "name": "vacuum_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1383_vacuum_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1383_vacuum_partition.sql",
      "description": "VACUUM on partitioned table.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1384_vacuum_constraint",
      "num": 1384,
      "name": "vacuum_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1384_vacuum_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/1384_vacuum_constraint.sql",
      "description": "VACUUM preserves CHECK constraint metadata.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1385_vacuum_colmap",
      "num": 1385,
      "name": "vacuum_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1385_vacuum_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/1385_vacuum_colmap.sql",
      "description": "VACUUM with column mapping mode=name.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1386_vacuum_evolve",
      "num": 1386,
      "name": "vacuum_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1386_vacuum_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/1386_vacuum_evolve.sql",
      "description": "VACUUM preserves evolved schema.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:vacuum",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1387_vacuum_after_merge",
      "num": 1387,
      "name": "vacuum_after_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1387_vacuum_after_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/1387_vacuum_after_merge.sql",
      "description": "VACUUM after MERGE. INSERT 200 rows in 4 batches,",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1388_vacuum_cdc_partition",
      "num": 1388,
      "name": "vacuum_cdc_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1388_vacuum_cdc_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1388_vacuum_cdc_partition.sql",
      "description": "VACUUM with CDC + partitioning.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1389_vacuum_colmap_cdc",
      "num": 1389,
      "name": "vacuum_colmap_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1389_vacuum_colmap_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1389_vacuum_colmap_cdc.sql",
      "description": "VACUUM with column mapping + CDC.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/138_analyze_interop",
      "num": 138,
      "name": "analyze_interop",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/138_analyze_interop.py",
      "read_script": "generator/df-reads-spark-iceberg/138_analyze_interop.sql",
      "description": "DBX creates table -> DeltaForge ANALYZE (creates _stats folder) -> DBX verifies reads still work",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1390_vacuum_checkpoint",
      "num": 1390,
      "name": "vacuum_checkpoint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1390_vacuum_checkpoint.py",
      "read_script": "generator/df-reads-spark-iceberg/1390_vacuum_checkpoint.sql",
      "description": "VACUUM after forced checkpoint (11+ commits).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1391_vacuum_then_dml",
      "num": 1391,
      "name": "vacuum_then_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1391_vacuum_then_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/1391_vacuum_then_dml.sql",
      "description": "DML operations after VACUUM.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1392_vacuum_four_way",
      "num": 1392,
      "name": "vacuum_four_way",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1392_vacuum_four_way.py",
      "read_script": "generator/df-reads-spark-iceberg/1392_vacuum_four_way.sql",
      "description": "VACUUM + CDC + partition + constraint (four-way combo).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1393_vacuum_five_way",
      "num": 1393,
      "name": "vacuum_five_way",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1393_vacuum_five_way.py",
      "read_script": "generator/df-reads-spark-iceberg/1393_vacuum_five_way.sql",
      "description": "VACUUM + CDC + colmap + partition + constraint (five-way combo).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1394_restore_basic",
      "num": 1394,
      "name": "restore_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1394_restore_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/1394_restore_basic.sql",
      "description": "Basic RESTORE TO VERSION AS OF.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1395_restore_after_delete",
      "num": 1395,
      "name": "restore_after_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1395_restore_after_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/1395_restore_after_delete.sql",
      "description": "RESTORE after DELETE undoes the deletion.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1396_restore_after_update",
      "num": 1396,
      "name": "restore_after_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1396_restore_after_update.py",
      "read_script": "generator/df-reads-spark-iceberg/1396_restore_after_update.sql",
      "description": "RESTORE after UPDATE undoes the score change.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1397_restore_typed",
      "num": 1397,
      "name": "restore_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1397_restore_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1397_restore_typed.sql",
      "description": "RESTORE preserves typed data (DECIMAL, TIMESTAMP, BOOLEAN).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1398_restore_cdc",
      "num": 1398,
      "name": "restore_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1398_restore_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1398_restore_cdc.sql",
      "description": "RESTORE with CDC enabled.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1399_restore_partition",
      "num": 1399,
      "name": "restore_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1399_restore_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1399_restore_partition.sql",
      "description": "RESTORE on partitioned table.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/139_checkpoint_interop",
      "num": 139,
      "name": "checkpoint_interop",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/139_checkpoint_interop.py",
      "read_script": "generator/df-reads-spark-iceberg/139_checkpoint_interop.sql",
      "description": "- Multiple versions with inserts, updates, and deletes - Deletion vectors enabled - Checkpoint interoperability testing",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/13_action_metadata_change_schema",
      "num": 13,
      "name": "action_metadata_change_schema",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/13_action_metadata_change_schema.py",
      "read_script": "generator/df-reads-spark-iceberg/13_action_metadata_change_schema.sql",
      "description": "Metadata action with schema changes.",
      "status": "pass",
      "duration_ms": 29,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:46:06.533780+00:00",
      "read_cold_ms": 29,
      "read_warm_ms": 14,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/13_insert_values_clause",
      "num": 13,
      "name": "insert_values_clause",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/13_insert_values_clause.py",
      "read_script": "generator/df-reads-spark-iceberg/13_insert_values_clause.sql",
      "description": "5 rows with exact literal values covering DECIMAL (positive, tiny, negative, zero, large), BOOLEAN, and TIMESTAMP (UTC, microsecond precision).",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:46:06.533780+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1400_restore_schema_evolve",
      "num": 1400,
      "name": "restore_schema_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1400_restore_schema_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/1400_restore_schema_evolve.sql",
      "description": "RESTORE to a version before schema evolution.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1401_restore_after_merge",
      "num": 1401,
      "name": "restore_after_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1401_restore_after_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/1401_restore_after_merge.sql",
      "description": "RESTORE after MERGE. INSERT 100 (V0). MERGE 120-row CTE",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1402_restore_colmap",
      "num": 1402,
      "name": "restore_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1402_restore_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/1402_restore_colmap.sql",
      "description": "RESTORE with column mapping mode=name. INSERT 100 (V0).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1403_restore_constraint",
      "num": 1403,
      "name": "restore_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1403_restore_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/1403_restore_constraint.sql",
      "description": "RESTORE removes constraint added after V0.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1404_restore_multiple_dml",
      "num": 1404,
      "name": "restore_multiple_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1404_restore_multiple_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/1404_restore_multiple_dml.sql",
      "description": "RESTORE after multiple DML operations.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1405_restore_decimal",
      "num": 1405,
      "name": "restore_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1405_restore_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/1405_restore_decimal.sql",
      "description": "RESTORE preserves DECIMAL precision.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1406_restore_timestamp",
      "num": 1406,
      "name": "restore_timestamp",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1406_restore_timestamp.py",
      "read_script": "generator/df-reads-spark-iceberg/1406_restore_timestamp.sql",
      "description": "RESTORE preserves TIMESTAMP microsecond precision.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1407_restore_to_middle",
      "num": 1407,
      "name": "restore_to_middle",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1407_restore_to_middle.py",
      "read_script": "generator/df-reads-spark-iceberg/1407_restore_to_middle.sql",
      "description": "RESTORE to a middle version (not V0).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1408_restore_partition_typed",
      "num": 1408,
      "name": "restore_partition_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1408_restore_partition_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1408_restore_partition_typed.sql",
      "description": "RESTORE with INT-typed partition column.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1409_restore_cdc_partition",
      "num": 1409,
      "name": "restore_cdc_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1409_restore_cdc_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1409_restore_cdc_partition.sql",
      "description": "RESTORE with CDC + partition. CDC captures RESTORE changes.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:partitioning",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/140_txn_log_interop",
      "num": 140,
      "name": "txn_log_interop",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/140_txn_log_interop.py",
      "read_script": "generator/df-reads-spark-iceberg/140_txn_log_interop.sql",
      "description": "- Transaction log interoperability testing - Multiple versions (0-5) of data writes - Mixed engine history simulation - NO deletion vectors (no table properties)",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1410_restore_then_dml",
      "num": 1410,
      "name": "restore_then_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1410_restore_then_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/1410_restore_then_dml.sql",
      "description": "DML operations after RESTORE.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1411_zorder_then_vacuum",
      "num": 1411,
      "name": "zorder_then_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1411_zorder_then_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/1411_zorder_then_vacuum.sql",
      "description": "Z-ORDER followed by VACUUM. INSERT 200 in 4 batches.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:vacuum",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1412_vacuum_then_zorder",
      "num": 1412,
      "name": "vacuum_then_zorder",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1412_vacuum_then_zorder.py",
      "read_script": "generator/df-reads-spark-iceberg/1412_vacuum_then_zorder.sql",
      "description": "VACUUM then Z-ORDER. INSERT 200 in 4 batches. OPTIMIZE (plain).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:vacuum",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1413_restore_after_zorder",
      "num": 1413,
      "name": "restore_after_zorder",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1413_restore_after_zorder.py",
      "read_script": "generator/df-reads-spark-iceberg/1413_restore_after_zorder.sql",
      "description": "RESTORE after Z-ORDER. INSERT 200 in 4 batches (V0-V3).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:time-travel",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1414_zorder_restore_dml",
      "num": 1414,
      "name": "zorder_restore_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1414_zorder_restore_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/1414_zorder_restore_dml.sql",
      "description": "Z-ORDER then RESTORE then DML.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:time-travel",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1415_vacuum_restore_interaction",
      "num": 1415,
      "name": "vacuum_restore_interaction",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1415_vacuum_restore_interaction.py",
      "read_script": "generator/df-reads-spark-iceberg/1415_vacuum_restore_interaction.sql",
      "description": "VACUUM + RESTORE interaction. After VACUUM, old version files are gone",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:time-travel",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1416_zorder_cdc_typed",
      "num": 1416,
      "name": "zorder_cdc_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1416_zorder_cdc_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1416_zorder_cdc_typed.sql",
      "description": "Z-ORDER + CDC + typed data (DECIMAL+TIMESTAMP). Three-way combo.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:change-data-feed",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1417_vacuum_cdc_typed",
      "num": 1417,
      "name": "vacuum_cdc_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1417_vacuum_cdc_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1417_vacuum_cdc_typed.sql",
      "description": "VACUUM + CDC + typed data (DECIMAL+TIMESTAMP). Three-way combo.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:change-data-feed",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1418_restore_cdc_typed",
      "num": 1418,
      "name": "restore_cdc_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1418_restore_cdc_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1418_restore_cdc_typed.sql",
      "description": "RESTORE + CDC + typed data (DECIMAL+TIMESTAMP). Three-way combo.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:change-data-feed",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1419_zorder_vacuum_cdc",
      "num": 1419,
      "name": "zorder_vacuum_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1419_zorder_vacuum_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1419_zorder_vacuum_cdc.sql",
      "description": "Z-ORDER then VACUUM + CDC. Full lifecycle.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:optimize",
        "delta:vacuum",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/141_table_props_interop",
      "num": 141,
      "name": "table_props_interop",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/141_table_props_interop.py",
      "read_script": "generator/df-reads-spark-iceberg/141_table_props_interop.sql",
      "description": "- Table properties creation and modification - Initial properties: delta.logRetentionDuration, delta.deletedFileRetentionDuration - Additional properties via ALTER TABLE: delta.autoOptimize.*, spark.source, spark.version - Multiple insert batches",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1420_zorder_partition_typed",
      "num": 1420,
      "name": "zorder_partition_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1420_zorder_partition_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1420_zorder_partition_typed.sql",
      "description": "Z-ORDER + partition + typed DECIMAL/TIMESTAMP.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:optimize",
        "delta:partitioning",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1421_vacuum_partition_typed",
      "num": 1421,
      "name": "vacuum_partition_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1421_vacuum_partition_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1421_vacuum_partition_typed.sql",
      "description": "VACUUM + partition + typed data (DECIMAL+TIMESTAMP).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:partitioning",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1422_restore_partition_cdc",
      "num": 1422,
      "name": "restore_partition_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1422_restore_partition_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1422_restore_partition_cdc.sql",
      "description": "RESTORE + partition + CDC.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:partitioning",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1423_zorder_colmap_typed",
      "num": 1423,
      "name": "zorder_colmap_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1423_zorder_colmap_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1423_zorder_colmap_typed.sql",
      "description": "Z-ORDER + colmap=name + typed DECIMAL data.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1424_vacuum_evolve_typed",
      "num": 1424,
      "name": "vacuum_evolve_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1424_vacuum_evolve_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1424_vacuum_evolve_typed.sql",
      "description": "VACUUM + schema evolution + typed data.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:vacuum",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1425_restore_evolve_typed",
      "num": 1425,
      "name": "restore_evolve_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1425_restore_evolve_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1425_restore_evolve_typed.sql",
      "description": "RESTORE + schema evolution. RESTORE to pre-evolution version.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1426_zorder_constraint_typed",
      "num": 1426,
      "name": "zorder_constraint_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1426_zorder_constraint_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1426_zorder_constraint_typed.sql",
      "description": "Z-ORDER + constraint + DECIMAL. Constraint survives ZORDER.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1427_vacuum_constraint_typed",
      "num": 1427,
      "name": "vacuum_constraint_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1427_vacuum_constraint_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1427_vacuum_constraint_typed.sql",
      "description": "VACUUM + constraint + DECIMAL. Constraint survives VACUUM.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1428_restore_constraint_typed",
      "num": 1428,
      "name": "restore_constraint_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1428_restore_constraint_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1428_restore_constraint_typed.sql",
      "description": "RESTORE + constraint. RESTORE to pre-constraint state.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1429_zorder_nmbys",
      "num": 1429,
      "name": "zorder_nmbys",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1429_zorder_nmbys.py",
      "read_script": "generator/df-reads-spark-iceberg/1429_zorder_nmbys.sql",
      "description": "Z-ORDER after MERGE NM-BY-SOURCE. Tests ZORDER on NM-BY-SOURCE-modified data.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:merge",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/142_dv_created_interop",
      "num": 142,
      "name": "dv_created_interop",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/142_dv_created_interop.py",
      "read_script": "generator/df-reads-spark-iceberg/142_dv_created_interop.sql",
      "description": "- Deletion vectors enabled table creation - Initial data insertion (1000 rows) - Additional append insertion (100 rows) - Table prepared for DeltaForge to create deletion vectors",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1430_vacuum_nmbys",
      "num": 1430,
      "name": "vacuum_nmbys",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1430_vacuum_nmbys.py",
      "read_script": "generator/df-reads-spark-iceberg/1430_vacuum_nmbys.sql",
      "description": "VACUUM after NM-BY-SOURCE. Cleans old files from NM-BY-SOURCE DELETE.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:merge",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1431_restore_nmbys",
      "num": 1431,
      "name": "restore_nmbys",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1431_restore_nmbys.py",
      "read_script": "generator/df-reads-spark-iceberg/1431_restore_nmbys.sql",
      "description": "RESTORE after NM-BY-SOURCE to pre-MERGE state.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1432_zorder_evolve_partition",
      "num": 1432,
      "name": "zorder_evolve_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1432_zorder_evolve_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1432_zorder_evolve_partition.sql",
      "description": "Z-ORDER + schema evolution + partition. Three-way combo.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:partitioning",
        "delta:z-order",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1433_vacuum_evolve_partition",
      "num": 1433,
      "name": "vacuum_evolve_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1433_vacuum_evolve_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1433_vacuum_evolve_partition.sql",
      "description": "VACUUM + schema evolution + partition. Three-way combo.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "delta:vacuum",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1434_restore_evolve_partition",
      "num": 1434,
      "name": "restore_evolve_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1434_restore_evolve_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1434_restore_evolve_partition.sql",
      "description": "RESTORE + schema evolution + partition to pre-evolution state.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "delta:time-travel",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1435_zorder_checkpoint",
      "num": 1435,
      "name": "zorder_checkpoint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1435_zorder_checkpoint.py",
      "read_script": "generator/df-reads-spark-iceberg/1435_zorder_checkpoint.sql",
      "description": "Z-ORDER + checkpoint (12+ commits triggers checkpoint).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1436_vacuum_checkpoint",
      "num": 1436,
      "name": "vacuum_checkpoint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1436_vacuum_checkpoint.py",
      "read_script": "generator/df-reads-spark-iceberg/1436_vacuum_checkpoint.sql",
      "description": "VACUUM + checkpoint (12+ commits). VACUUM after checkpoint.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1437_restore_checkpoint",
      "num": 1437,
      "name": "restore_checkpoint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1437_restore_checkpoint.py",
      "read_script": "generator/df-reads-spark-iceberg/1437_restore_checkpoint.sql",
      "description": "RESTORE after checkpoint to pre-checkpoint version.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1438_zorder_stats",
      "num": 1438,
      "name": "zorder_stats",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1438_zorder_stats.py",
      "read_script": "generator/df-reads-spark-iceberg/1438_zorder_stats.sql",
      "description": "Z-ORDER + verify stats correct after reorg. Multi-batch + ZORDER + predicate.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1439_vacuum_stats",
      "num": 1439,
      "name": "vacuum_stats",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1439_vacuum_stats.py",
      "read_script": "generator/df-reads-spark-iceberg/1439_vacuum_stats.sql",
      "description": "VACUUM + verify stats. After VACUUM old files gone, stats on",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/143_column_mapping_interop",
      "num": 143,
      "name": "column_mapping_interop",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/143_column_mapping_interop.py",
      "read_script": "generator/df-reads-spark-iceberg/143_column_mapping_interop.sql",
      "description": "- Column mapping with \"name\" mode enabled - Initial data insertion (500 rows) - Additional append insertion (100 rows with NULL optional_field) - Protocol versions for column mapping (reader v2, writer v5)",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:constraints",
        "schema:rename-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1440_restore_time_travel",
      "num": 1440,
      "name": "restore_time_travel",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1440_restore_time_travel.py",
      "read_script": "generator/df-reads-spark-iceberg/1440_restore_time_travel.sql",
      "description": "RESTORE + time travel. After RESTORE, read the restored state + old versions.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1441_zorder_cdc_colmap_partition",
      "num": 1441,
      "name": "zorder_cdc_colmap_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1441_zorder_cdc_colmap_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1441_zorder_cdc_colmap_partition.sql",
      "description": "Z-ORDER + CDC + colmap + partition. Four-way combo.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:optimize",
        "delta:partitioning",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1442_vacuum_cdc_colmap_partition",
      "num": 1442,
      "name": "vacuum_cdc_colmap_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1442_vacuum_cdc_colmap_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1442_vacuum_cdc_colmap_partition.sql",
      "description": "VACUUM + CDC + colmap + partition. Four-way combo.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:partitioning",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1443_restore_cdc_colmap",
      "num": 1443,
      "name": "restore_cdc_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1443_restore_cdc_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/1443_restore_cdc_colmap.sql",
      "description": "RESTORE + CDC + colmap. Three-way combo.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1444_zorder_then_update_delete",
      "num": 1444,
      "name": "zorder_then_update_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1444_zorder_then_update_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/1444_zorder_then_update_delete.sql",
      "description": "Z-ORDER then UPDATE then DELETE. Full lifecycle.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:update",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1445_vacuum_then_merge",
      "num": 1445,
      "name": "vacuum_then_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1445_vacuum_then_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/1445_vacuum_then_merge.sql",
      "description": "VACUUM then MERGE. Tests MERGE after VACUUM cleaned old files.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1446_restore_then_merge",
      "num": 1446,
      "name": "restore_then_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1446_restore_then_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/1446_restore_then_merge.sql",
      "description": "RESTORE then MERGE on restored data.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1447_zorder_vacuum_restore_lifecycle",
      "num": 1447,
      "name": "zorder_vacuum_restore_lifecycle",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1447_zorder_vacuum_restore_lifecycle.py",
      "read_script": "generator/df-reads-spark-iceberg/1447_zorder_vacuum_restore_lifecycle.sql",
      "description": "Full lifecycle: INSERT, Z-ORDER, DML, VACUUM, more DML.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:time-travel",
        "delta:vacuum",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1448_zorder_all_features",
      "num": 1448,
      "name": "zorder_all_features",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1448_zorder_all_features.py",
      "read_script": "generator/df-reads-spark-iceberg/1448_zorder_all_features.sql",
      "description": "Z-ORDER + all features: CDC+colmap+partition+constraint+evolve.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:optimize",
        "delta:partitioning",
        "delta:z-order",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1449_vacuum_all_features",
      "num": 1449,
      "name": "vacuum_all_features",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1449_vacuum_all_features.py",
      "read_script": "generator/df-reads-spark-iceberg/1449_vacuum_all_features.sql",
      "description": "VACUUM + all features: CDC+colmap+partition+constraint+evolve.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:partitioning",
        "delta:vacuum",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/144_concurrent_writes_interop",
      "num": 144,
      "name": "concurrent_writes_interop",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/144_concurrent_writes_interop.py",
      "read_script": "generator/df-reads-spark-iceberg/144_concurrent_writes_interop.sql",
      "description": "- Concurrent write scenarios with multiple batches - Deletion vectors enabled - Multiple versions (6 total: init + 5 batches) - Timestamp fields with NULL values",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "robust:concurrent-writes",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1450_zorder_vacuum_restore_ultimate",
      "num": 1450,
      "name": "zorder_vacuum_restore_ultimate",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1450_zorder_vacuum_restore_ultimate.py",
      "read_script": "generator/df-reads-spark-iceberg/1450_zorder_vacuum_restore_ultimate.sql",
      "description": "ULTIMATE test. INSERT, Z-ORDER, DML, VACUUM, RESTORE lifecycle. All features.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:optimize",
        "delta:partitioning",
        "delta:time-travel",
        "delta:vacuum",
        "delta:z-order",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1451_partition_by_decimal",
      "num": 1451,
      "name": "partition_by_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1451_partition_by_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/1451_partition_by_decimal.sql",
      "description": "DECIMAL(5,2) partition key. 4 partitions with typed DECIMAL values.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1452_partition_by_decimal_negative",
      "num": 1452,
      "name": "partition_by_decimal_negative",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1452_partition_by_decimal_negative.py",
      "read_script": "generator/df-reads-spark-iceberg/1452_partition_by_decimal_negative.sql",
      "description": "DECIMAL(8,2) partition key with negative values. 3 partitions: -100.00, 0.00, 500.00.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1453_partition_by_decimal_merge",
      "num": 1453,
      "name": "partition_by_decimal_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1453_partition_by_decimal_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/1453_partition_by_decimal_merge.sql",
      "description": "MERGE across DECIMAL(5,2) partitions. INSERT 80 base rows,",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1454_partition_by_decimal_cdc",
      "num": 1454,
      "name": "partition_by_decimal_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1454_partition_by_decimal_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1454_partition_by_decimal_cdc.sql",
      "description": "DECIMAL(5,2) partition key + CDC. CDF must contain correct DECIMAL partition values.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1455_partition_by_date",
      "num": 1455,
      "name": "partition_by_date",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1455_partition_by_date.py",
      "read_script": "generator/df-reads-spark-iceberg/1455_partition_by_date.sql",
      "description": "DATE partition key. 4 DATE partitions, 30 days apart.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:floating",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1456_partition_by_date_merge",
      "num": 1456,
      "name": "partition_by_date_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1456_partition_by_date_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/1456_partition_by_date_merge.sql",
      "description": "MERGE across DATE partitions. INSERT 80 base rows,",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1457_partition_by_date_cdc",
      "num": 1457,
      "name": "partition_by_date_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1457_partition_by_date_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1457_partition_by_date_cdc.sql",
      "description": "DATE partition key + CDC. CDF must contain correct DATE partition values.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1458_partition_by_date_evolve",
      "num": 1458,
      "name": "partition_by_date_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1458_partition_by_date_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/1458_partition_by_date_evolve.sql",
      "description": "DATE partition key + schema evolution. INSERT 60 rows, ALTER ADD COLUMN,",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1459_partition_by_timestamp_string",
      "num": 1459,
      "name": "partition_by_timestamp_string",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1459_partition_by_timestamp_string.py",
      "read_script": "generator/df-reads-spark-iceberg/1459_partition_by_timestamp_string.sql",
      "description": "STRING partition key representing hourly timestamp buckets (production pattern).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/145_cdf_write",
      "num": 145,
      "name": "cdf_write",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/145_cdf_write.py",
      "read_script": "generator/df-reads-spark-iceberg/145_cdf_write.sql",
      "description": "Download table with CDF enabled -> DeltaForge performs UPDATE/DELETE -> Verify _change_data/ files created",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1460_partition_by_date_dml",
      "num": 1460,
      "name": "partition_by_date_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1460_partition_by_date_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/1460_partition_by_date_dml.sql",
      "description": "DATE partition key with targeted DML per partition.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:floating",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1461_partition_by_decimal_constraint",
      "num": 1461,
      "name": "partition_by_decimal_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1461_partition_by_decimal_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/1461_partition_by_decimal_constraint.sql",
      "description": "DECIMAL(5,2) partition key + CHECK constraint (score >= 0).",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1462_partition_by_decimal_colmap",
      "num": 1462,
      "name": "partition_by_decimal_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1462_partition_by_decimal_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/1462_partition_by_decimal_colmap.sql",
      "description": "DECIMAL(5,2) partition key + column mapping (name mode).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1463_partition_by_date_colmap",
      "num": 1463,
      "name": "partition_by_date_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1463_partition_by_date_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/1463_partition_by_date_colmap.sql",
      "description": "DATE partition key + column mapping (name mode).",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1464_partition_by_decimal_optimize",
      "num": 1464,
      "name": "partition_by_decimal_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1464_partition_by_decimal_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/1464_partition_by_decimal_optimize.sql",
      "description": "DECIMAL(5,2) partition key + OPTIMIZE compaction.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1465_partition_by_date_nmbys",
      "num": 1465,
      "name": "partition_by_date_nmbys",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1465_partition_by_date_nmbys.py",
      "read_script": "generator/df-reads-spark-iceberg/1465_partition_by_date_nmbys.sql",
      "description": "DATE partition key + MERGE with NOT MATCHED BY SOURCE DELETE.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:merge",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1466_update_coalesce",
      "num": 1466,
      "name": "update_coalesce",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1466_update_coalesce.py",
      "read_script": "generator/df-reads-spark-iceberg/1466_update_coalesce.sql",
      "description": "UPDATE SET using COALESCE to replace NULLs with backup values.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1467_update_nullif",
      "num": 1467,
      "name": "update_nullif",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1467_update_nullif.py",
      "read_script": "generator/df-reads-spark-iceberg/1467_update_nullif.sql",
      "description": "UPDATE SET using NULLIF to replace sentinel value (0) with NULL.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1468_update_abs",
      "num": 1468,
      "name": "update_abs",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1468_update_abs.py",
      "read_script": "generator/df-reads-spark-iceberg/1468_update_abs.sql",
      "description": "UPDATE SET using ABS to convert negative values to positive.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1469_update_floor_ceil",
      "num": 1469,
      "name": "update_floor_ceil",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1469_update_floor_ceil.py",
      "read_script": "generator/df-reads-spark-iceberg/1469_update_floor_ceil.sql",
      "description": "UPDATE SET using FLOOR and CEIL on DOUBLE values.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/146_cdf_write_interop",
      "num": 146,
      "name": "cdf_write_interop",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/146_cdf_write_interop.py",
      "read_script": "generator/df-reads-spark-iceberg/146_cdf_write_interop.sql",
      "description": "- Change Data Feed (CDF) enabled table - Deletion vectors enabled - Initial data insertion (200 rows) - UPDATE operation for price adjustment (creates _change_data/ files)",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1470_update_greatest_least",
      "num": 1470,
      "name": "update_greatest_least",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1470_update_greatest_least.py",
      "read_script": "generator/df-reads-spark-iceberg/1470_update_greatest_least.sql",
      "description": "UPDATE SET using GREATEST and LEAST across multiple columns.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1471_update_length",
      "num": 1471,
      "name": "update_length",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1471_update_length.py",
      "read_script": "generator/df-reads-spark-iceberg/1471_update_length.sql",
      "description": "UPDATE SET using LENGTH of a STRING column.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1472_update_substring",
      "num": 1472,
      "name": "update_substring",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1472_update_substring.py",
      "read_script": "generator/df-reads-spark-iceberg/1472_update_substring.sql",
      "description": "UPDATE SET using SUBSTRING to extract parts of a string.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1473_update_replace",
      "num": 1473,
      "name": "update_replace",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1473_update_replace.py",
      "read_script": "generator/df-reads-spark-iceberg/1473_update_replace.sql",
      "description": "UPDATE SET using REPLACE to substitute characters in strings.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1474_update_trim",
      "num": 1474,
      "name": "update_trim",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1474_update_trim.py",
      "read_script": "generator/df-reads-spark-iceberg/1474_update_trim.sql",
      "description": "UPDATE SET using TRIM to remove leading/trailing whitespace.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1475_update_concat_cast_combo",
      "num": 1475,
      "name": "update_concat_cast_combo",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1475_update_concat_cast_combo.py",
      "read_script": "generator/df-reads-spark-iceberg/1475_update_concat_cast_combo.sql",
      "description": "UPDATE SET using combined CONCAT + CAST + ROUND to build a label string.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1476_delete_where_coalesce",
      "num": 1476,
      "name": "delete_where_coalesce",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1476_delete_where_coalesce.py",
      "read_script": "generator/df-reads-spark-iceberg/1476_delete_where_coalesce.sql",
      "description": "DELETE WHERE COALESCE(nullable_col, default) > threshold.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1477_delete_where_abs",
      "num": 1477,
      "name": "delete_where_abs",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1477_delete_where_abs.py",
      "read_script": "generator/df-reads-spark-iceberg/1477_delete_where_abs.sql",
      "description": "DELETE WHERE ABS(value) > threshold.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1478_delete_where_length",
      "num": 1478,
      "name": "delete_where_length",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1478_delete_where_length.py",
      "read_script": "generator/df-reads-spark-iceberg/1478_delete_where_length.sql",
      "description": "DELETE WHERE LENGTH(name) > N.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1479_merge_coalesce",
      "num": 1479,
      "name": "merge_coalesce",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1479_merge_coalesce.py",
      "read_script": "generator/df-reads-spark-iceberg/1479_merge_coalesce.sql",
      "description": "MERGE with COALESCE in UPDATE SET to fill NULLs from source.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/147_cdf_read",
      "num": 147,
      "name": "cdf_read",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/147_cdf_read.py",
      "read_script": "generator/df-reads-spark-iceberg/147_cdf_read.sql",
      "description": "DBX creates table with CDF, performs UPDATE/DELETE -> DeltaForge reads _change_data/ files",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "dml:update",
        "delta:change-data-feed",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1480_merge_nullif",
      "num": 1480,
      "name": "merge_nullif",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1480_merge_nullif.py",
      "read_script": "generator/df-reads-spark-iceberg/1480_merge_nullif.sql",
      "description": "MERGE with NULLIF in UPDATE SET.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1481_merge_greatest_least",
      "num": 1481,
      "name": "merge_greatest_least",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1481_merge_greatest_least.py",
      "read_script": "generator/df-reads-spark-iceberg/1481_merge_greatest_least.sql",
      "description": "MERGE using GREATEST to keep the max value between source and target.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1482_merge_abs_floor",
      "num": 1482,
      "name": "merge_abs_floor",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1482_merge_abs_floor.py",
      "read_script": "generator/df-reads-spark-iceberg/1482_merge_abs_floor.sql",
      "description": "MERGE with ABS and FLOOR in UPDATE SET.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1483_update_coalesce_decimal",
      "num": 1483,
      "name": "update_coalesce_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1483_update_coalesce_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/1483_update_coalesce_decimal.sql",
      "description": "UPDATE with COALESCE on DECIMAL column.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1484_update_coalesce_timestamp",
      "num": 1484,
      "name": "update_coalesce_timestamp",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1484_update_coalesce_timestamp.py",
      "read_script": "generator/df-reads-spark-iceberg/1484_update_coalesce_timestamp.sql",
      "description": "UPDATE with COALESCE on TIMESTAMP column.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1485_update_case_nested",
      "num": 1485,
      "name": "update_case_nested",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1485_update_case_nested.py",
      "read_script": "generator/df-reads-spark-iceberg/1485_update_case_nested.sql",
      "description": "UPDATE with nested CASE expressions (CASE inside CASE).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:default-values",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1486_struct_three_level",
      "num": 1486,
      "name": "struct_three_level",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1486_struct_three_level.py",
      "read_script": "generator/df-reads-spark-iceberg/1486_struct_three_level.sql",
      "description": "2-level nested STRUCT through DML operations.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:struct",
        "dml:delete",
        "dml:insert",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1487_struct_three_level_merge",
      "num": 1487,
      "name": "struct_three_level_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1487_struct_three_level_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/1487_struct_three_level_merge.sql",
      "description": "2-level nested STRUCT + MERGE.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "dml:merge",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1488_struct_three_level_cdc",
      "num": 1488,
      "name": "struct_three_level_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1488_struct_three_level_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1488_struct_three_level_cdc.sql",
      "description": "2-level nested STRUCT + CDC (Change Data Feed).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:struct",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1489_struct_with_decimal",
      "num": 1489,
      "name": "struct_with_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1489_struct_with_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/1489_struct_with_decimal.sql",
      "description": "STRUCT containing INT field (simulating numeric precision) through DML.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:struct",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/148_cdf_read_interop",
      "num": 148,
      "name": "cdf_read_interop",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/148_cdf_read_interop.py",
      "read_script": "generator/df-reads-spark-iceberg/148_cdf_read_interop.sql",
      "description": "- Change Data Feed (CDF) enabled table - Multiple UPDATE operations (creates _change_data/ files) - DELETE operation (creates _change_data/ files) - Modulo predicates for UPDATE/DELETE",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1490_struct_array_field",
      "num": 1490,
      "name": "struct_array_field",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1490_struct_array_field.py",
      "read_script": "generator/df-reads-spark-iceberg/1490_struct_array_field.sql",
      "description": "STRUCT preservation through complex DML chain:",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1491_map_insert_basic",
      "num": 1491,
      "name": "map_insert_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1491_map_insert_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/1491_map_insert_basic.sql",
      "description": "Simulated MAP data as STRING column through DML chain.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1492_binary_insert",
      "num": 1492,
      "name": "binary_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1492_binary_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/1492_binary_insert.sql",
      "description": "INSERT with BINARY data via CAST.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:binary",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1493_binary_update",
      "num": 1493,
      "name": "binary_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1493_binary_update.py",
      "read_script": "generator/df-reads-spark-iceberg/1493_binary_update.sql",
      "description": "UPDATE on table with BINARY column.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:binary",
        "type:integer",
        "type:string",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1494_binary_delete",
      "num": 1494,
      "name": "binary_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1494_binary_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/1494_binary_delete.sql",
      "description": "DELETE from table with BINARY column.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:binary",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1495_binary_merge",
      "num": 1495,
      "name": "binary_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1495_binary_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/1495_binary_merge.sql",
      "description": "MERGE on table with BINARY column.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:binary",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1496_binary_cdc",
      "num": 1496,
      "name": "binary_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1496_binary_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1496_binary_cdc.sql",
      "description": "BINARY column + CDC (Change Data Feed).",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:binary",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1497_float_update",
      "num": 1497,
      "name": "float_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1497_float_update.py",
      "read_script": "generator/df-reads-spark-iceberg/1497_float_update.sql",
      "description": "FLOAT (32-bit) column through UPDATE.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1498_float_merge",
      "num": 1498,
      "name": "float_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1498_float_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/1498_float_merge.sql",
      "description": "FLOAT (32-bit) column through MERGE.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1499_smallint_tinyint_dml",
      "num": 1499,
      "name": "smallint_tinyint_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1499_smallint_tinyint_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/1499_smallint_tinyint_dml.sql",
      "description": "SMALLINT + TINYINT through full DML chain.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/149_identity_column",
      "num": 149,
      "name": "identity_column",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/149_identity_column.py",
      "read_script": "generator/df-reads-spark-iceberg/149_identity_column.sql",
      "description": "- IDENTITY column (auto_id with START WITH 1 INCREMENT BY 1) - Event data with deterministic formulas - Timestamp handling with microsecond precision",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:column-mapping",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/14_action_format_specification_parquet",
      "num": 14,
      "name": "action_format_specification_parquet",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/14_action_format_specification_parquet.py",
      "read_script": "generator/df-reads-spark-iceberg/14_action_format_specification_parquet.sql",
      "description": "25000 rows",
      "status": "pass",
      "duration_ms": 60,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:46:06.533780+00:00",
      "read_cold_ms": 60,
      "read_warm_ms": 39,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/14_insert_multi_batch_same_schema",
      "num": 14,
      "name": "insert_multi_batch_same_schema",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/14_insert_multi_batch_same_schema.py",
      "read_script": "generator/df-reads-spark-iceberg/14_insert_multi_batch_same_schema.sql",
      "description": "10 separate INSERT batches (20 rows each) into the same Iceberg table. Creates 10 Iceberg snapshots to test that delta-forge reads all data files.",
      "status": "pass",
      "duration_ms": 101,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:46:06.533780+00:00",
      "read_cold_ms": 101,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "iceberg:snapshots",
        "scale:many-batches",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1500_smallint_partition",
      "num": 1500,
      "name": "smallint_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1500_smallint_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1500_smallint_partition.sql",
      "description": "SMALLINT through a partitioned table.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:14:44.325283+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1501_merge_coalesce_decimal",
      "num": 1501,
      "name": "merge_coalesce_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1501_merge_coalesce_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/1501_merge_coalesce_decimal.sql",
      "description": "MERGE with COALESCE on DECIMAL column.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1502_merge_coalesce_timestamp",
      "num": 1502,
      "name": "merge_coalesce_timestamp",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1502_merge_coalesce_timestamp.py",
      "read_script": "generator/df-reads-spark-iceberg/1502_merge_coalesce_timestamp.sql",
      "description": "MERGE with COALESCE on TIMESTAMP column.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1503_merge_nullif_decimal",
      "num": 1503,
      "name": "merge_nullif_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1503_merge_nullif_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/1503_merge_nullif_decimal.sql",
      "description": "MERGE with NULLIF on DECIMAL column.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1504_merge_coalesce_multi_col",
      "num": 1504,
      "name": "merge_coalesce_multi_col",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1504_merge_coalesce_multi_col.py",
      "read_script": "generator/df-reads-spark-iceberg/1504_merge_coalesce_multi_col.sql",
      "description": "MERGE with COALESCE across 3 different typed columns simultaneously.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1505_merge_coalesce_nmbys",
      "num": 1505,
      "name": "merge_coalesce_nmbys",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1505_merge_coalesce_nmbys.py",
      "read_script": "generator/df-reads-spark-iceberg/1505_merge_coalesce_nmbys.sql",
      "description": "MERGE with COALESCE in NOT MATCHED BY SOURCE clause.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1506_delete_where_coalesce_decimal",
      "num": 1506,
      "name": "delete_where_coalesce_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1506_delete_where_coalesce_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/1506_delete_where_coalesce_decimal.sql",
      "description": "DELETE WHERE COALESCE(amount, 0) < threshold.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1507_update_where_abs_decimal",
      "num": 1507,
      "name": "update_where_abs_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1507_update_where_abs_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/1507_update_where_abs_decimal.sql",
      "description": "UPDATE WHERE ABS(CAST(balance AS DOUBLE)) > threshold.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1508_delete_where_floor_double",
      "num": 1508,
      "name": "delete_where_floor_double",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1508_delete_where_floor_double.py",
      "read_script": "generator/df-reads-spark-iceberg/1508_delete_where_floor_double.sql",
      "description": "DELETE WHERE FLOOR(value) > threshold.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1509_update_where_length_concat",
      "num": 1509,
      "name": "update_where_length_concat",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1509_update_where_length_concat.py",
      "read_script": "generator/df-reads-spark-iceberg/1509_update_where_length_concat.sql",
      "description": "UPDATE WHERE LENGTH(CONCAT(first_name, last_name)) > threshold.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/150_check_constraints",
      "num": 150,
      "name": "check_constraints",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/150_check_constraints.py",
      "read_script": "generator/df-reads-spark-iceberg/150_check_constraints.sql",
      "description": "- CHECK constraints for data validation - Decimal precision handling - Float rounding for rating values",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1510_merge_where_coalesce_predicate",
      "num": 1510,
      "name": "merge_where_coalesce_predicate",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1510_merge_where_coalesce_predicate.py",
      "read_script": "generator/df-reads-spark-iceberg/1510_merge_where_coalesce_predicate.sql",
      "description": "MERGE with COALESCE in WHEN MATCHED condition.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1511_delete_where_greatest",
      "num": 1511,
      "name": "delete_where_greatest",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1511_delete_where_greatest.py",
      "read_script": "generator/df-reads-spark-iceberg/1511_delete_where_greatest.sql",
      "description": "DELETE WHERE GREATEST(a, b, c) > threshold.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1512_update_where_least",
      "num": 1512,
      "name": "update_where_least",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1512_update_where_least.py",
      "read_script": "generator/df-reads-spark-iceberg/1512_update_where_least.sql",
      "description": "UPDATE WHERE LEAST(a, b, c) < threshold.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1513_merge_abs_predicate",
      "num": 1513,
      "name": "merge_abs_predicate",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1513_merge_abs_predicate.py",
      "read_script": "generator/df-reads-spark-iceberg/1513_merge_abs_predicate.sql",
      "description": "MERGE with ABS in WHEN MATCHED AND condition.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1514_delete_where_coalesce_or",
      "num": 1514,
      "name": "delete_where_coalesce_or",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1514_delete_where_coalesce_or.py",
      "read_script": "generator/df-reads-spark-iceberg/1514_delete_where_coalesce_or.sql",
      "description": "DELETE with COALESCE + OR compound predicate.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1515_update_greatest_least_decimal",
      "num": 1515,
      "name": "update_greatest_least_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1515_update_greatest_least_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/1515_update_greatest_least_decimal.sql",
      "description": "UPDATE SET using GREATEST/LEAST on DECIMAL columns.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1516_partition_dir_int_values",
      "num": 1516,
      "name": "partition_dir_int_values",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1516_partition_dir_int_values.py",
      "read_script": "generator/df-reads-spark-iceberg/1516_partition_dir_int_values.sql",
      "description": "Verify INT partition directory encoding.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1517_partition_dir_boolean_values",
      "num": 1517,
      "name": "partition_dir_boolean_values",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1517_partition_dir_boolean_values.py",
      "read_script": "generator/df-reads-spark-iceberg/1517_partition_dir_boolean_values.sql",
      "description": "Verify BOOLEAN partition directory encoding.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1518_partition_dir_decimal_values",
      "num": 1518,
      "name": "partition_dir_decimal_values",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1518_partition_dir_decimal_values.py",
      "read_script": "generator/df-reads-spark-iceberg/1518_partition_dir_decimal_values.sql",
      "description": "Verify DECIMAL partition directory encoding.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1519_partition_dir_null_int",
      "num": 1519,
      "name": "partition_dir_null_int",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1519_partition_dir_null_int.py",
      "read_script": "generator/df-reads-spark-iceberg/1519_partition_dir_null_int.sql",
      "description": "Verify NULL INT partition directory encoding.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/151_protocol_block",
      "num": 151,
      "name": "protocol_block",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/151_protocol_block.py",
      "read_script": "generator/df-reads-spark-iceberg/151_protocol_block.sql",
      "description": "- Protocol version blocking with advanced features - Deletion vectors - Row tracking - Column mapping (name mode) - DELETE operations using IN predicate",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1520_partition_dir_special_string",
      "num": 1520,
      "name": "partition_dir_special_string",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1520_partition_dir_special_string.py",
      "read_script": "generator/df-reads-spark-iceberg/1520_partition_dir_special_string.sql",
      "description": "Verify partition directories with special characters in STRING values.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1521_coalesce_cdc_partition",
      "num": 1521,
      "name": "coalesce_cdc_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1521_coalesce_cdc_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1521_coalesce_cdc_partition.sql",
      "description": "COALESCE in UPDATE + CDC + partition. Three-way combination.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1522_functions_constraint",
      "num": 1522,
      "name": "functions_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1522_functions_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/1522_functions_constraint.sql",
      "description": "SQL functions + constraint combination.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1523_functions_colmap",
      "num": 1523,
      "name": "functions_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1523_functions_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/1523_functions_colmap.sql",
      "description": "SQL functions + column mapping (mode=name).",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1524_functions_evolve",
      "num": 1524,
      "name": "functions_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1524_functions_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/1524_functions_evolve.sql",
      "description": "SQL functions on evolved (newly added) column.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1525_binary_struct_combo",
      "num": 1525,
      "name": "binary_struct_combo",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1525_binary_struct_combo.py",
      "read_script": "generator/df-reads-spark-iceberg/1525_binary_struct_combo.sql",
      "description": "BINARY + STRUCT in same table. Tests complex type combination",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:binary",
        "type:integer",
        "type:string",
        "type:struct",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1526_coalesce_merge_cdc",
      "num": 1526,
      "name": "coalesce_merge_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1526_coalesce_merge_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1526_coalesce_merge_cdc.sql",
      "description": "MERGE with COALESCE + CDC.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1527_functions_zorder",
      "num": 1527,
      "name": "functions_zorder",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1527_functions_zorder.py",
      "read_script": "generator/df-reads-spark-iceberg/1527_functions_zorder.sql",
      "description": "SQL functions in DML then Z-ORDER.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1528_functions_vacuum",
      "num": 1528,
      "name": "functions_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1528_functions_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/1528_functions_vacuum.sql",
      "description": "SQL functions in DML then VACUUM.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1529_functions_restore",
      "num": 1529,
      "name": "functions_restore",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1529_functions_restore.py",
      "read_script": "generator/df-reads-spark-iceberg/1529_functions_restore.sql",
      "description": "SQL functions in DML then RESTORE.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "iceberg:snapshots",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/152_uniform_iceberg",
      "num": 152,
      "name": "uniform_iceberg",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/152_uniform_iceberg.py",
      "read_script": "generator/df-reads-spark-iceberg/152_uniform_iceberg.sql",
      "description": "- Simple table creation (Uniform/UniFormat requires Unity Catalog) - 100 rows with deterministic data - Placeholder for Uniform/Iceberg interop testing",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1530_decimal_partition_functions",
      "num": 1530,
      "name": "decimal_partition_functions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1530_decimal_partition_functions.py",
      "read_script": "generator/df-reads-spark-iceberg/1530_decimal_partition_functions.sql",
      "description": "DECIMAL partition + COALESCE function.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1531_date_partition_functions",
      "num": 1531,
      "name": "date_partition_functions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1531_date_partition_functions.py",
      "read_script": "generator/df-reads-spark-iceberg/1531_date_partition_functions.sql",
      "description": "DATE partition + LENGTH/TRIM/ABS functions.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:date",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1532_float_cdc",
      "num": 1532,
      "name": "float_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1532_float_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1532_float_cdc.sql",
      "description": "FLOAT + CDC.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1533_float_partition",
      "num": 1533,
      "name": "float_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1533_float_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1533_float_partition.sql",
      "description": "FLOAT in partitioned table.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1534_tinyint_dml_chain",
      "num": 1534,
      "name": "tinyint_dml_chain",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1534_tinyint_dml_chain.py",
      "read_script": "generator/df-reads-spark-iceberg/1534_tinyint_dml_chain.sql",
      "description": "TINYINT through INSERT/UPDATE/DELETE chain.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1535_tinyint_merge",
      "num": 1535,
      "name": "tinyint_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1535_tinyint_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/1535_tinyint_merge.sql",
      "description": "TINYINT through MERGE.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1536_smallint_merge",
      "num": 1536,
      "name": "smallint_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1536_smallint_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/1536_smallint_merge.sql",
      "description": "SMALLINT through MERGE.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1537_smallint_cdc",
      "num": 1537,
      "name": "smallint_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1537_smallint_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1537_smallint_cdc.sql",
      "description": "SMALLINT + CDC.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1538_tinyint_partition",
      "num": 1538,
      "name": "tinyint_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1538_tinyint_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1538_tinyint_partition.sql",
      "description": "TINYINT in partitioned table.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1539_binary_partition",
      "num": 1539,
      "name": "binary_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1539_binary_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1539_binary_partition.sql",
      "description": "BINARY in partitioned table.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:binary",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/153_int96_timestamp",
      "num": 153,
      "name": "int96_timestamp",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/153_int96_timestamp.py",
      "read_script": "generator/df-reads-spark-iceberg/153_int96_timestamp.sql",
      "description": "DBX writes table with INT96 timestamps -> DeltaForge reads correctly",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1540_struct_functions",
      "num": 1540,
      "name": "struct_functions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1540_struct_functions.py",
      "read_script": "generator/df-reads-spark-iceberg/1540_struct_functions.sql",
      "description": "STRUCT + SQL functions on non-struct columns.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1541_functions_multi_type",
      "num": 1541,
      "name": "functions_multi_type",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1541_functions_multi_type.py",
      "read_script": "generator/df-reads-spark-iceberg/1541_functions_multi_type.sql",
      "description": "SQL functions across 4 types in single UPDATE.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1542_functions_delete_merge",
      "num": 1542,
      "name": "functions_delete_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1542_functions_delete_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/1542_functions_delete_merge.sql",
      "description": "DELETE with function predicate, then MERGE with function in SET.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1543_functions_checkpoint",
      "num": 1543,
      "name": "functions_checkpoint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1543_functions_checkpoint.py",
      "read_script": "generator/df-reads-spark-iceberg/1543_functions_checkpoint.sql",
      "description": "SQL functions in DML across 12+ commits with checkpoint.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1544_coalesce_nmbys_cdc",
      "num": 1544,
      "name": "coalesce_nmbys_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1544_coalesce_nmbys_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1544_coalesce_nmbys_cdc.sql",
      "description": "COALESCE in NOT MATCHED BY SOURCE + CDC.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1545_decimal_partition_zorder",
      "num": 1545,
      "name": "decimal_partition_zorder",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1545_decimal_partition_zorder.py",
      "read_script": "generator/df-reads-spark-iceberg/1545_decimal_partition_zorder.sql",
      "description": "DECIMAL partition + Z-ORDER.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:partitioning",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1546_date_partition_time_travel",
      "num": 1546,
      "name": "date_partition_time_travel",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1546_date_partition_time_travel.py",
      "read_script": "generator/df-reads-spark-iceberg/1546_date_partition_time_travel.sql",
      "description": "DATE partition + time travel.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:date",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1547_functions_typed_partition_cdc",
      "num": 1547,
      "name": "functions_typed_partition_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1547_functions_typed_partition_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1547_functions_typed_partition_cdc.sql",
      "description": "SQL functions + typed partition + CDC. Three-way combination.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1548_binary_struct_functions",
      "num": 1548,
      "name": "binary_struct_functions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1548_binary_struct_functions.py",
      "read_script": "generator/df-reads-spark-iceberg/1548_binary_struct_functions.sql",
      "description": "BINARY + STRUCT + SQL functions combo.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:binary",
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1549_all_functions_all_types",
      "num": 1549,
      "name": "all_functions_all_types",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1549_all_functions_all_types.py",
      "read_script": "generator/df-reads-spark-iceberg/1549_all_functions_all_types.sql",
      "description": "Every SQL function + every data type in one test.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/154_decimal_precision",
      "num": 154,
      "name": "decimal_precision",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/154_decimal_precision.py",
      "read_script": "generator/df-reads-spark-iceberg/154_decimal_precision.sql",
      "description": "Maximum precision Decimal(38,0) handling across implementations",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boundary",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1550_gap_coverage_ultimate",
      "num": 1550,
      "name": "gap_coverage_ultimate",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1550_gap_coverage_ultimate.py",
      "read_script": "generator/df-reads-spark-iceberg/1550_gap_coverage_ultimate.sql",
      "description": "ULTIMATE gap test combining DECIMAL partition + SQL functions",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "delta:z-order",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1551_delete_not_in",
      "num": 1551,
      "name": "delete_not_in",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1551_delete_not_in.py",
      "read_script": "generator/df-reads-spark-iceberg/1551_delete_not_in.sql",
      "description": "DELETE WHERE id NOT IN (specific values). Tests the NOT IN",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1552_update_not_in",
      "num": 1552,
      "name": "update_not_in",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1552_update_not_in.py",
      "read_script": "generator/df-reads-spark-iceberg/1552_update_not_in.sql",
      "description": "UPDATE WHERE id NOT IN (...). Tests the NOT IN predicate",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1553_delete_not_between_int",
      "num": 1553,
      "name": "delete_not_between_int",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1553_delete_not_between_int.py",
      "read_script": "generator/df-reads-spark-iceberg/1553_delete_not_between_int.sql",
      "description": "DELETE WHERE score NOT BETWEEN X AND Y. Tests the NOT BETWEEN",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1554_update_not_between_int",
      "num": 1554,
      "name": "update_not_between_int",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1554_update_not_between_int.py",
      "read_script": "generator/df-reads-spark-iceberg/1554_update_not_between_int.sql",
      "description": "UPDATE WHERE score NOT BETWEEN X AND Y. Tests NOT BETWEEN",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1555_delete_not_between_decimal",
      "num": 1555,
      "name": "delete_not_between_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1555_delete_not_between_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/1555_delete_not_between_decimal.sql",
      "description": "DELETE WHERE DECIMAL NOT BETWEEN. Tests NOT BETWEEN predicate",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1556_update_not_between_decimal",
      "num": 1556,
      "name": "update_not_between_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1556_update_not_between_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/1556_update_not_between_decimal.sql",
      "description": "UPDATE WHERE DECIMAL NOT BETWEEN. Tests NOT BETWEEN predicate",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1557_delete_between_timestamp",
      "num": 1557,
      "name": "delete_between_timestamp",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1557_delete_between_timestamp.py",
      "read_script": "generator/df-reads-spark-iceberg/1557_delete_between_timestamp.sql",
      "description": "DELETE WHERE TIMESTAMP BETWEEN range. Tests BETWEEN predicate",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1558_update_between_timestamp",
      "num": 1558,
      "name": "update_between_timestamp",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1558_update_between_timestamp.py",
      "read_script": "generator/df-reads-spark-iceberg/1558_update_between_timestamp.sql",
      "description": "UPDATE WHERE TIMESTAMP BETWEEN range. Tests BETWEEN predicate",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1559_delete_not_between_timestamp",
      "num": 1559,
      "name": "delete_not_between_timestamp",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1559_delete_not_between_timestamp.py",
      "read_script": "generator/df-reads-spark-iceberg/1559_delete_not_between_timestamp.sql",
      "description": "DELETE WHERE TIMESTAMP NOT BETWEEN. Tests NOT BETWEEN predicate",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/155_vacuum_race",
      "num": 155,
      "name": "vacuum_race",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/155_vacuum_race.py",
      "read_script": "generator/df-reads-spark-iceberg/155_vacuum_race.sql",
      "description": "- Vacuum race condition handling test table - UPDATE operations that create orphaned files - Deletion vectors enabled - Modulo operator in UPDATE predicates",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1560_delete_between_decimal",
      "num": 1560,
      "name": "delete_between_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1560_delete_between_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/1560_delete_between_decimal.sql",
      "description": "DELETE WHERE DECIMAL BETWEEN (straightforward version).",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1561_update_power",
      "num": 1561,
      "name": "update_power",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1561_update_power.py",
      "read_script": "generator/df-reads-spark-iceberg/1561_update_power.sql",
      "description": "UPDATE SET with POWER function. Computes squared and cubed",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1562_update_sqrt",
      "num": 1562,
      "name": "update_sqrt",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1562_update_sqrt.py",
      "read_script": "generator/df-reads-spark-iceberg/1562_update_sqrt.sql",
      "description": "UPDATE SET with SQRT function. Computes square roots of",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1563_update_sign",
      "num": 1563,
      "name": "update_sign",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1563_update_sign.py",
      "read_script": "generator/df-reads-spark-iceberg/1563_update_sign.sql",
      "description": "UPDATE SET with SIGN function. Computes the sign (-1, 0, +1)",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1564_update_mod",
      "num": 1564,
      "name": "update_mod",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1564_update_mod.py",
      "read_script": "generator/df-reads-spark-iceberg/1564_update_mod.sql",
      "description": "UPDATE SET with modulo (% operator). Computes remainders",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1565_update_upper_lower",
      "num": 1565,
      "name": "update_upper_lower",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1565_update_upper_lower.py",
      "read_script": "generator/df-reads-spark-iceberg/1565_update_upper_lower.sql",
      "description": "UPDATE SET with UPPER and LOWER string functions.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1566_update_lpad_rpad",
      "num": 1566,
      "name": "update_lpad_rpad",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1566_update_lpad_rpad.py",
      "read_script": "generator/df-reads-spark-iceberg/1566_update_lpad_rpad.sql",
      "description": "UPDATE SET with LPAD and RPAD string functions.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1567_update_reverse",
      "num": 1567,
      "name": "update_reverse",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1567_update_reverse.py",
      "read_script": "generator/df-reads-spark-iceberg/1567_update_reverse.sql",
      "description": "UPDATE SET with REVERSE string function.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1568_update_math_combo",
      "num": 1568,
      "name": "update_math_combo",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1568_update_math_combo.py",
      "read_script": "generator/df-reads-spark-iceberg/1568_update_math_combo.sql",
      "description": "Multiple math functions in one UPDATE SET clause. Applies",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1569_update_string_combo",
      "num": 1569,
      "name": "update_string_combo",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1569_update_string_combo.py",
      "read_script": "generator/df-reads-spark-iceberg/1569_update_string_combo.sql",
      "description": "Multiple string functions in one UPDATE SET clause. Applies",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/156_stale_checkpoint",
      "num": 156,
      "name": "stale_checkpoint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/156_stale_checkpoint.py",
      "read_script": "generator/df-reads-spark-iceberg/156_stale_checkpoint.sql",
      "description": "Stale checkpoint handling with multiple UPDATE operations",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1570_delete_where_power",
      "num": 1570,
      "name": "delete_where_power",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1570_delete_where_power.py",
      "read_script": "generator/df-reads-spark-iceberg/1570_delete_where_power.sql",
      "description": "DELETE WHERE POWER(col, 2) > threshold. Tests math function",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1571_delete_where_sqrt",
      "num": 1571,
      "name": "delete_where_sqrt",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1571_delete_where_sqrt.py",
      "read_script": "generator/df-reads-spark-iceberg/1571_delete_where_sqrt.sql",
      "description": "DELETE WHERE SQRT(col) < threshold. Tests SQRT function",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1572_merge_power_sqrt",
      "num": 1572,
      "name": "merge_power_sqrt",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1572_merge_power_sqrt.py",
      "read_script": "generator/df-reads-spark-iceberg/1572_merge_power_sqrt.sql",
      "description": "MERGE with POWER and SQRT in UPDATE SET clause. Tests math",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1573_update_sign_decimal",
      "num": 1573,
      "name": "update_sign_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1573_update_sign_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/1573_update_sign_decimal.sql",
      "description": "SIGN function on DECIMAL column. Tests SIGN applied to",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1574_functions_partition_cdc",
      "num": 1574,
      "name": "functions_partition_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1574_functions_partition_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1574_functions_partition_cdc.sql",
      "description": "Math + string functions combined with partitioning and CDC.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1575_functions_negation_combo",
      "num": 1575,
      "name": "functions_negation_combo",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1575_functions_negation_combo.py",
      "read_script": "generator/df-reads-spark-iceberg/1575_functions_negation_combo.sql",
      "description": "Negation predicates combined with math/string functions in",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1576_overwrite_then_zorder",
      "num": 1576,
      "name": "overwrite_then_zorder",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1576_overwrite_then_zorder.py",
      "read_script": "generator/df-reads-spark-iceberg/1576_overwrite_then_zorder.sql",
      "description": "INSERT OVERWRITE then OPTIMIZE ZORDER BY.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1577_overwrite_then_vacuum",
      "num": 1577,
      "name": "overwrite_then_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1577_overwrite_then_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/1577_overwrite_then_vacuum.sql",
      "description": "INSERT OVERWRITE then OPTIMIZE then VACUUM.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1578_overwrite_after_merge",
      "num": 1578,
      "name": "overwrite_after_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1578_overwrite_after_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/1578_overwrite_after_merge.sql",
      "description": "MERGE then INSERT OVERWRITE. The OVERWRITE replaces all",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "dml:overwrite",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1579_overwrite_restore",
      "num": 1579,
      "name": "overwrite_restore",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1579_overwrite_restore.py",
      "read_script": "generator/df-reads-spark-iceberg/1579_overwrite_restore.sql",
      "description": "INSERT OVERWRITE then RESTORE to pre-OVERWRITE version.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/157_occ_conflict",
      "num": 157,
      "name": "occ_conflict",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/157_occ_conflict.py",
      "read_script": "generator/df-reads-spark-iceberg/157_occ_conflict.sql",
      "description": "Optimistic Concurrency Control conflict handling test table",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1580_overwrite_typed_vacuum",
      "num": 1580,
      "name": "overwrite_typed_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1580_overwrite_typed_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/1580_overwrite_typed_vacuum.sql",
      "description": "INSERT OVERWRITE with DECIMAL+TIMESTAMP then VACUUM.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1581_functions_in_merge_nmbys",
      "num": 1581,
      "name": "functions_in_merge_nmbys",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1581_functions_in_merge_nmbys.py",
      "read_script": "generator/df-reads-spark-iceberg/1581_functions_in_merge_nmbys.sql",
      "description": "Functions in NOT MATCHED BY SOURCE UPDATE SET clause.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1582_functions_in_merge_delete",
      "num": 1582,
      "name": "functions_in_merge_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1582_functions_in_merge_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/1582_functions_in_merge_delete.sql",
      "description": "Functions in MERGE DELETE condition.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1583_functions_colmap",
      "num": 1583,
      "name": "functions_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1583_functions_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/1583_functions_colmap.sql",
      "description": "Math functions with column mapping mode=name.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1584_functions_evolve",
      "num": 1584,
      "name": "functions_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1584_functions_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/1584_functions_evolve.sql",
      "description": "Functions on an evolved (added) column.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1585_functions_constraint",
      "num": 1585,
      "name": "functions_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1585_functions_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/1585_functions_constraint.sql",
      "description": "Functions producing constraint-valid values.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1586_negation_cdc",
      "num": 1586,
      "name": "negation_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1586_negation_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1586_negation_cdc.sql",
      "description": "NOT BETWEEN + NOT IN predicates with CDC enabled.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1587_negation_partition",
      "num": 1587,
      "name": "negation_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1587_negation_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1587_negation_partition.sql",
      "description": "NOT BETWEEN predicate with partitioned table.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1588_between_decimal_cdc",
      "num": 1588,
      "name": "between_decimal_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1588_between_decimal_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1588_between_decimal_cdc.sql",
      "description": "DECIMAL BETWEEN predicate with CDC enabled.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1589_between_timestamp_partition",
      "num": 1589,
      "name": "between_timestamp_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1589_between_timestamp_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1589_between_timestamp_partition.sql",
      "description": "TIMESTAMP BETWEEN predicate with partitioned table.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/158_schema_evolution_complex",
      "num": 158,
      "name": "schema_evolution_complex",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/158_schema_evolution_complex.py",
      "read_script": "generator/df-reads-spark-iceberg/158_schema_evolution_complex.sql",
      "description": "Complex schema evolution with column additions after initial insert",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1590_functions_zorder",
      "num": 1590,
      "name": "functions_zorder",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1590_functions_zorder.py",
      "read_script": "generator/df-reads-spark-iceberg/1590_functions_zorder.sql",
      "description": "ABS/SQRT/SIGN in UPDATE then Z-ORDER on computed column.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1591_five_deletes",
      "num": 1591,
      "name": "five_deletes",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1591_five_deletes.py",
      "read_script": "generator/df-reads-spark-iceberg/1591_five_deletes.sql",
      "description": "5 sequential DELETEs with different typed predicates.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1592_five_updates_same_col",
      "num": 1592,
      "name": "five_updates_same_col",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1592_five_updates_same_col.py",
      "read_script": "generator/df-reads-spark-iceberg/1592_five_updates_same_col.sql",
      "description": "5 UPDATEs on same DECIMAL column with overlapping ranges.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1593_interleaved_overwrite_dml",
      "num": 1593,
      "name": "interleaved_overwrite_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1593_interleaved_overwrite_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/1593_interleaved_overwrite_dml.sql",
      "description": "INSERT OVERWRITE interleaved with DML operations.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:overwrite",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1594_ten_merges",
      "num": 1594,
      "name": "ten_merges",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1594_ten_merges.py",
      "read_script": "generator/df-reads-spark-iceberg/1594_ten_merges.sql",
      "description": "10 sequential MERGEs. Extreme MERGE chain stress test.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1595_twenty_inserts",
      "num": 1595,
      "name": "twenty_inserts",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1595_twenty_inserts.py",
      "read_script": "generator/df-reads-spark-iceberg/1595_twenty_inserts.sql",
      "description": "20 sequential INSERT batches. Tests many-file read",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1596_delete_update_delete_update",
      "num": 1596,
      "name": "delete_update_delete_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1596_delete_update_delete_update.py",
      "read_script": "generator/df-reads-spark-iceberg/1596_delete_update_delete_update.sql",
      "description": "Alternating DELETE and UPDATE 4 times.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1597_merge_delete_merge_delete",
      "num": 1597,
      "name": "merge_delete_merge_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1597_merge_delete_merge_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/1597_merge_delete_merge_delete.sql",
      "description": "Alternating MERGE and DELETE operations.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1598_overwrite_merge_overwrite",
      "num": 1598,
      "name": "overwrite_merge_overwrite",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1598_overwrite_merge_overwrite.py",
      "read_script": "generator/df-reads-spark-iceberg/1598_overwrite_merge_overwrite.sql",
      "description": "Two OVERWRITE-MERGE cycles.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "dml:overwrite",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1599_stress_typed_chain",
      "num": 1599,
      "name": "stress_typed_chain",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1599_stress_typed_chain.py",
      "read_script": "generator/df-reads-spark-iceberg/1599_stress_typed_chain.sql",
      "description": "Long DML chain with typed columns: INSERT, UPDATE DECIMAL,",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/159_crc_checksum",
      "num": 159,
      "name": "crc_checksum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/159_crc_checksum.py",
      "read_script": "generator/df-reads-spark-iceberg/159_crc_checksum.sql",
      "description": "Multiple UPDATE operations that may test CRC checksum handling",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/15_action_add_file_with_stats",
      "num": 15,
      "name": "action_add_file_with_stats",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/15_action_add_file_with_stats.py",
      "read_script": "generator/df-reads-spark-iceberg/15_action_add_file_with_stats.sql",
      "description": "32000 rows",
      "status": "pass",
      "duration_ms": 50,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:46:06.533780+00:00",
      "read_cold_ms": 50,
      "read_warm_ms": 39,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/15_insert_multi_batch_growing",
      "num": 15,
      "name": "insert_multi_batch_growing",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/15_insert_multi_batch_growing.py",
      "read_script": "generator/df-reads-spark-iceberg/15_insert_multi_batch_growing.sql",
      "description": "Each batch uses a distinct name prefix and value multiplier.",
      "status": "pass",
      "duration_ms": 78,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:46:06.533780+00:00",
      "read_cold_ms": 78,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "scale:many-batches",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1600_stress_all_features",
      "num": 1600,
      "name": "stress_all_features",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1600_stress_all_features.py",
      "read_script": "generator/df-reads-spark-iceberg/1600_stress_all_features.sql",
      "description": "Maximum stress test combining CDC, column mapping, partitions,",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "dml:overwrite",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "delta:vacuum",
        "delta:z-order",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1601_not_in_decimal",
      "num": 1601,
      "name": "not_in_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1601_not_in_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/1601_not_in_decimal.sql",
      "description": "DELETE WHERE amount NOT IN (specific DECIMAL values).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1602_not_between_decimal_cdc",
      "num": 1602,
      "name": "not_between_decimal_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1602_not_between_decimal_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1602_not_between_decimal_cdc.sql",
      "description": "NOT BETWEEN DECIMAL + CDC.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1603_between_timestamp_cdc",
      "num": 1603,
      "name": "between_timestamp_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1603_between_timestamp_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1603_between_timestamp_cdc.sql",
      "description": "BETWEEN TIMESTAMP + CDC.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1604_negation_colmap",
      "num": 1604,
      "name": "negation_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1604_negation_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/1604_negation_colmap.sql",
      "description": "NOT BETWEEN + column mapping (name mode).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1605_negation_constraint",
      "num": 1605,
      "name": "negation_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1605_negation_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/1605_negation_constraint.sql",
      "description": "NOT BETWEEN + constraint. Constraint remains valid after delete.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1606_negation_evolve",
      "num": 1606,
      "name": "negation_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1606_negation_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/1606_negation_evolve.sql",
      "description": "NOT BETWEEN + schema evolution.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1607_between_decimal_partition",
      "num": 1607,
      "name": "between_decimal_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1607_between_decimal_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1607_between_decimal_partition.sql",
      "description": "BETWEEN DECIMAL + partition.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1608_functions_not_between",
      "num": 1608,
      "name": "functions_not_between",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1608_functions_not_between.py",
      "read_script": "generator/df-reads-spark-iceberg/1608_functions_not_between.sql",
      "description": "ABS + NOT BETWEEN combo.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1609_functions_between_decimal",
      "num": 1609,
      "name": "functions_between_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1609_functions_between_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/1609_functions_between_decimal.sql",
      "description": "COALESCE + BETWEEN DECIMAL combo.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/160_symlink_manifest",
      "num": 160,
      "name": "symlink_manifest",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/160_symlink_manifest.py",
      "read_script": "generator/df-reads-spark-iceberg/160_symlink_manifest.sql",
      "description": "Partitioned table with deletion vectors enabled for symlink manifest testing",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1610_power_sqrt_partition",
      "num": 1610,
      "name": "power_sqrt_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1610_power_sqrt_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1610_power_sqrt_partition.sql",
      "description": "POWER/SQRT + partition.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1611_sign_decimal_cdc",
      "num": 1611,
      "name": "sign_decimal_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1611_sign_decimal_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1611_sign_decimal_cdc.sql",
      "description": "SIGN(DECIMAL) + CDC.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1612_reverse_upper_merge",
      "num": 1612,
      "name": "reverse_upper_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1612_reverse_upper_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/1612_reverse_upper_merge.sql",
      "description": "REVERSE + UPPER in MERGE UPDATE SET.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1613_lpad_rpad_partition",
      "num": 1613,
      "name": "lpad_rpad_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1613_lpad_rpad_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1613_lpad_rpad_partition.sql",
      "description": "LPAD/RPAD + partition.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1614_functions_timestamp",
      "num": 1614,
      "name": "functions_timestamp",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1614_functions_timestamp.py",
      "read_script": "generator/df-reads-spark-iceberg/1614_functions_timestamp.sql",
      "description": "Functions on rows that include TIMESTAMP columns.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1615_not_in_cdc_partition",
      "num": 1615,
      "name": "not_in_cdc_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1615_not_in_cdc_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1615_not_in_cdc_partition.sql",
      "description": "NOT IN + CDC + partition. Three-way combo.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1616_between_decimal_colmap",
      "num": 1616,
      "name": "between_decimal_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1616_between_decimal_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/1616_between_decimal_colmap.sql",
      "description": "BETWEEN DECIMAL + column mapping (name mode).",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1617_not_between_constraint",
      "num": 1617,
      "name": "not_between_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1617_not_between_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/1617_not_between_constraint.sql",
      "description": "NOT BETWEEN + constraint. After delete, remaining rows satisfy constraint.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1618_functions_nmbys",
      "num": 1618,
      "name": "functions_nmbys",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1618_functions_nmbys.py",
      "read_script": "generator/df-reads-spark-iceberg/1618_functions_nmbys.sql",
      "description": "ABS/COALESCE in NOT MATCHED BY SOURCE + constraint.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1619_negation_merge",
      "num": 1619,
      "name": "negation_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1619_negation_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/1619_negation_merge.sql",
      "description": "NOT BETWEEN in MERGE WHEN MATCHED condition.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/161_generated_columns",
      "num": 161,
      "name": "generated_columns",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/161_generated_columns.py",
      "read_script": "generator/df-reads-spark-iceberg/161_generated_columns.sql",
      "description": "Table with computed/generated columns (full_name, total)",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1620_between_decimal_merge",
      "num": 1620,
      "name": "between_decimal_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1620_between_decimal_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/1620_between_decimal_merge.sql",
      "description": "BETWEEN DECIMAL in MERGE condition.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1621_overwrite_functions",
      "num": 1621,
      "name": "overwrite_functions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1621_overwrite_functions.py",
      "read_script": "generator/df-reads-spark-iceberg/1621_overwrite_functions.sql",
      "description": "INSERT OVERWRITE then function-based UPDATE.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1622_overwrite_negation",
      "num": 1622,
      "name": "overwrite_negation",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1622_overwrite_negation.py",
      "read_script": "generator/df-reads-spark-iceberg/1622_overwrite_negation.sql",
      "description": "INSERT OVERWRITE then NOT BETWEEN DELETE.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:overwrite",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1623_five_deletes_typed",
      "num": 1623,
      "name": "five_deletes_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1623_five_deletes_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1623_five_deletes_typed.sql",
      "description": "5 sequential DELETEs all on DECIMAL predicates.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1624_five_updates_typed",
      "num": 1624,
      "name": "five_updates_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1624_five_updates_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1624_five_updates_typed.sql",
      "description": "5 UPDATEs each using a different function.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1625_overwrite_zorder_vacuum",
      "num": 1625,
      "name": "overwrite_zorder_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1625_overwrite_zorder_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/1625_overwrite_zorder_vacuum.sql",
      "description": "INSERT OVERWRITE + Z-ORDER + VACUUM lifecycle.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:optimize",
        "delta:vacuum",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1626_negation_zorder",
      "num": 1626,
      "name": "negation_zorder",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1626_negation_zorder.py",
      "read_script": "generator/df-reads-spark-iceberg/1626_negation_zorder.sql",
      "description": "NOT BETWEEN DELETE then Z-ORDER.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1627_negation_vacuum",
      "num": 1627,
      "name": "negation_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1627_negation_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/1627_negation_vacuum.sql",
      "description": "NOT BETWEEN DELETE then OPTIMIZE + VACUUM.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1628_negation_restore",
      "num": 1628,
      "name": "negation_restore",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1628_negation_restore.py",
      "read_script": "generator/df-reads-spark-iceberg/1628_negation_restore.sql",
      "description": "NOT BETWEEN DELETE then RESTORE to pre-delete version.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1629_between_decimal_zorder",
      "num": 1629,
      "name": "between_decimal_zorder",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1629_between_decimal_zorder.py",
      "read_script": "generator/df-reads-spark-iceberg/1629_between_decimal_zorder.sql",
      "description": "BETWEEN DECIMAL DELETE then Z-ORDER.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/162_default_columns",
      "num": 162,
      "name": "default_columns",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/162_default_columns.py",
      "read_script": "generator/df-reads-spark-iceberg/162_default_columns.sql",
      "description": "- Default column values simulation - Nullable column handling with deterministic NULL pattern - Deletion vectors enabled",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:default-values",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1630_functions_restore",
      "num": 1630,
      "name": "functions_restore",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1630_functions_restore.py",
      "read_script": "generator/df-reads-spark-iceberg/1630_functions_restore.sql",
      "description": "Function-based UPDATE then RESTORE to undo.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1631_power_partition_cdc",
      "num": 1631,
      "name": "power_partition_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1631_power_partition_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1631_power_partition_cdc.sql",
      "description": "POWER function + partition + CDC.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1632_sqrt_colmap",
      "num": 1632,
      "name": "sqrt_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1632_sqrt_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/1632_sqrt_colmap.sql",
      "description": "SQRT + column mapping (name mode).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1633_sign_partition",
      "num": 1633,
      "name": "sign_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1633_sign_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1633_sign_partition.sql",
      "description": "SIGN + partition.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1634_reverse_cdc",
      "num": 1634,
      "name": "reverse_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1634_reverse_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1634_reverse_cdc.sql",
      "description": "REVERSE + CDC.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1635_lpad_constraint",
      "num": 1635,
      "name": "lpad_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1635_lpad_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/1635_lpad_constraint.sql",
      "description": "LPAD + constraint.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1636_upper_lower_merge",
      "num": 1636,
      "name": "upper_lower_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1636_upper_lower_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/1636_upper_lower_merge.sql",
      "description": "UPPER/LOWER in MERGE SET.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1637_functions_five_way",
      "num": 1637,
      "name": "functions_five_way",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1637_functions_five_way.py",
      "read_script": "generator/df-reads-spark-iceberg/1637_functions_five_way.sql",
      "description": "SQL functions + CDC + colmap + partition + constraint. Five-way.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1638_negation_five_way",
      "num": 1638,
      "name": "negation_five_way",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1638_negation_five_way.py",
      "read_script": "generator/df-reads-spark-iceberg/1638_negation_five_way.sql",
      "description": "NOT BETWEEN + CDC + partition + constraint + schema evolution. Five-way.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1639_between_decimal_five_way",
      "num": 1639,
      "name": "between_decimal_five_way",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1639_between_decimal_five_way.py",
      "read_script": "generator/df-reads-spark-iceberg/1639_between_decimal_five_way.sql",
      "description": "DECIMAL BETWEEN + CDC + colmap + partition + constraint. Five-way.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/163_not_null_constraint",
      "num": 163,
      "name": "not_null_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/163_not_null_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/163_not_null_constraint.sql",
      "description": "- NOT NULL constraints on columns - Nullable vs non-nullable column handling - Deletion vectors enabled - ALTER TABLE ADD CONSTRAINT for NOT NULL enforcement",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1640_overwrite_five_way",
      "num": 1640,
      "name": "overwrite_five_way",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1640_overwrite_five_way.py",
      "read_script": "generator/df-reads-spark-iceberg/1640_overwrite_five_way.sql",
      "description": "INSERT OVERWRITE + CDC + colmap + partition + constraint. Five-way.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1641_stress_ten_operations",
      "num": 1641,
      "name": "stress_ten_operations",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1641_stress_ten_operations.py",
      "read_script": "generator/df-reads-spark-iceberg/1641_stress_ten_operations.sql",
      "description": "10 sequential DML operations of mixed types.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1642_stress_functions_chain",
      "num": 1642,
      "name": "stress_functions_chain",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1642_stress_functions_chain.py",
      "read_script": "generator/df-reads-spark-iceberg/1642_stress_functions_chain.sql",
      "description": "Chain of function-based UPDATEs: ABS -> SQRT -> FLOOR -> CAST.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1643_not_in_merge_delete",
      "num": 1643,
      "name": "not_in_merge_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1643_not_in_merge_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/1643_not_in_merge_delete.sql",
      "description": "NOT IN in MERGE WHEN MATCHED DELETE condition.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1644_between_decimal_nmbys",
      "num": 1644,
      "name": "between_decimal_nmbys",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1644_between_decimal_nmbys.py",
      "read_script": "generator/df-reads-spark-iceberg/1644_between_decimal_nmbys.sql",
      "description": "BETWEEN DECIMAL in NOT MATCHED BY SOURCE condition.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1645_functions_time_travel",
      "num": 1645,
      "name": "functions_time_travel",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1645_functions_time_travel.py",
      "read_script": "generator/df-reads-spark-iceberg/1645_functions_time_travel.sql",
      "description": "Function-based UPDATE then time travel to pre-function version.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1646_negation_time_travel",
      "num": 1646,
      "name": "negation_time_travel",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1646_negation_time_travel.py",
      "read_script": "generator/df-reads-spark-iceberg/1646_negation_time_travel.sql",
      "description": "NOT BETWEEN DELETE then time travel to pre-delete version.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1647_between_decimal_stats",
      "num": 1647,
      "name": "between_decimal_stats",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1647_between_decimal_stats.py",
      "read_script": "generator/df-reads-spark-iceberg/1647_between_decimal_stats.sql",
      "description": "BETWEEN DECIMAL + predicate pushdown / stats verification.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1648_functions_checkpoint",
      "num": 1648,
      "name": "functions_checkpoint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1648_functions_checkpoint.py",
      "read_script": "generator/df-reads-spark-iceberg/1648_functions_checkpoint.sql",
      "description": "Functions across 12+ commits to force checkpoint creation.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1649_negation_checkpoint",
      "num": 1649,
      "name": "negation_checkpoint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1649_negation_checkpoint.py",
      "read_script": "generator/df-reads-spark-iceberg/1649_negation_checkpoint.sql",
      "description": "NOT BETWEEN across 12+ commits to force checkpoint creation.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/164_multipart_checkpoint_large",
      "num": 164,
      "name": "multipart_checkpoint_large",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/164_multipart_checkpoint_large.py",
      "read_script": "generator/df-reads-spark-iceberg/164_multipart_checkpoint_large.sql",
      "description": "- Large multipart checkpoint handling - Multiple batch inserts (10 batches of 100 records) - INSERT OVERWRITE for first batch, INSERT INTO for rest - 5 UPDATE operations with modulo predicates - Deletion vectors enabled",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "delta:checkpoint-multipart",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1650_ultimate_gap_final",
      "num": 1650,
      "name": "ultimate_gap_final",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1650_ultimate_gap_final.py",
      "read_script": "generator/df-reads-spark-iceberg/1650_ultimate_gap_final.sql",
      "description": "FINAL ULTIMATE test combining every remaining gap:",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:optimize",
        "delta:partitioning",
        "delta:vacuum",
        "delta:z-order",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1651_partdir_string_basic",
      "num": 1651,
      "name": "partdir_string_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1651_partdir_string_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/1651_partdir_string_basic.sql",
      "description": "Basic STRING partition column with simple ASCII values.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1652_partdir_string_spaces",
      "num": 1652,
      "name": "partdir_string_spaces",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1652_partdir_string_spaces.py",
      "read_script": "generator/df-reads-spark-iceberg/1652_partdir_string_spaces.sql",
      "description": "STRING partition with spaces in values.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1653_partdir_string_special",
      "num": 1653,
      "name": "partdir_string_special",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1653_partdir_string_special.py",
      "read_script": "generator/df-reads-spark-iceberg/1653_partdir_string_special.sql",
      "description": "STRING partition with special characters: slash, equals,",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1654_partdir_string_empty",
      "num": 1654,
      "name": "partdir_string_empty",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1654_partdir_string_empty.py",
      "read_script": "generator/df-reads-spark-iceberg/1654_partdir_string_empty.sql",
      "description": "STRING partition with empty string value.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1655_partdir_string_null",
      "num": 1655,
      "name": "partdir_string_null",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1655_partdir_string_null.py",
      "read_script": "generator/df-reads-spark-iceberg/1655_partdir_string_null.sql",
      "description": "STRING partition with NULL value.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1656_partdir_string_unicode",
      "num": 1656,
      "name": "partdir_string_unicode",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1656_partdir_string_unicode.py",
      "read_script": "generator/df-reads-spark-iceberg/1656_partdir_string_unicode.sql",
      "description": "STRING partition with characters that require URL encoding:",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1657_partdir_int_basic",
      "num": 1657,
      "name": "partdir_int_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1657_partdir_int_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/1657_partdir_int_basic.sql",
      "description": "Basic INT partition with 4 values (0, 1, 2, 3).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1658_partdir_int_negative",
      "num": 1658,
      "name": "partdir_int_negative",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1658_partdir_int_negative.py",
      "read_script": "generator/df-reads-spark-iceberg/1658_partdir_int_negative.sql",
      "description": "INT partition with negative values.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1659_partdir_int_large",
      "num": 1659,
      "name": "partdir_int_large",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1659_partdir_int_large.py",
      "read_script": "generator/df-reads-spark-iceberg/1659_partdir_int_large.sql",
      "description": "INT partition with large values (millions).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/165_domain_metadata",
      "num": 165,
      "name": "domain_metadata",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/165_domain_metadata.py",
      "read_script": "generator/df-reads-spark-iceberg/165_domain_metadata.sql",
      "description": "- Domain metadata custom properties - Deletion vectors enabled - Custom domain properties for data governance",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1660_partdir_int_null",
      "num": 1660,
      "name": "partdir_int_null",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1660_partdir_int_null.py",
      "read_script": "generator/df-reads-spark-iceberg/1660_partdir_int_null.sql",
      "description": "INT partition with NULL values.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1661_partdir_int_zero",
      "num": 1661,
      "name": "partdir_int_zero",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1661_partdir_int_zero.py",
      "read_script": "generator/df-reads-spark-iceberg/1661_partdir_int_zero.sql",
      "description": "INT partition where one value is 0.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1662_partdir_int_dml",
      "num": 1662,
      "name": "partdir_int_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1662_partdir_int_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/1662_partdir_int_dml.sql",
      "description": "INT partition with UPDATE, DELETE, and MERGE targeting",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1663_partdir_boolean_basic",
      "num": 1663,
      "name": "partdir_boolean_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1663_partdir_boolean_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/1663_partdir_boolean_basic.sql",
      "description": "BOOLEAN partition with true/false values.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1664_partdir_boolean_null",
      "num": 1664,
      "name": "partdir_boolean_null",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1664_partdir_boolean_null.py",
      "read_script": "generator/df-reads-spark-iceberg/1664_partdir_boolean_null.sql",
      "description": "BOOLEAN partition with NULL values.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1665_partdir_boolean_dml",
      "num": 1665,
      "name": "partdir_boolean_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1665_partdir_boolean_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/1665_partdir_boolean_dml.sql",
      "description": "BOOLEAN partition with DML operations.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1666_partdir_decimal_basic",
      "num": 1666,
      "name": "partdir_decimal_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1666_partdir_decimal_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/1666_partdir_decimal_basic.sql",
      "description": "DECIMAL(5,2) partition with known values.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1667_partdir_decimal_negative",
      "num": 1667,
      "name": "partdir_decimal_negative",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1667_partdir_decimal_negative.py",
      "read_script": "generator/df-reads-spark-iceberg/1667_partdir_decimal_negative.sql",
      "description": "DECIMAL(8,2) partition with negative values.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1668_partdir_decimal_zero",
      "num": 1668,
      "name": "partdir_decimal_zero",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1668_partdir_decimal_zero.py",
      "read_script": "generator/df-reads-spark-iceberg/1668_partdir_decimal_zero.sql",
      "description": "DECIMAL(6,2) partition with exact 0.00.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1669_partdir_decimal_precision",
      "num": 1669,
      "name": "partdir_decimal_precision",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1669_partdir_decimal_precision.py",
      "read_script": "generator/df-reads-spark-iceberg/1669_partdir_decimal_precision.sql",
      "description": "DECIMAL(10,4) partition to test precision in dir names.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/166_ecosystem_torture",
      "num": 166,
      "name": "ecosystem_torture",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/166_ecosystem_torture.py",
      "read_script": "generator/df-reads-spark-iceberg/166_ecosystem_torture.sql",
      "description": "Ultimate interoperability stress test with multiple features",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "delta:partitioning",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1670_partdir_decimal_dml",
      "num": 1670,
      "name": "partdir_decimal_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1670_partdir_decimal_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/1670_partdir_decimal_dml.sql",
      "description": "DECIMAL(5,2) partition with UPDATE and DELETE.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1671_partdir_date_basic",
      "num": 1671,
      "name": "partdir_date_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1671_partdir_date_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/1671_partdir_date_basic.sql",
      "description": "DATE partition with 4 date values.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1672_partdir_date_null",
      "num": 1672,
      "name": "partdir_date_null",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1672_partdir_date_null.py",
      "read_script": "generator/df-reads-spark-iceberg/1672_partdir_date_null.sql",
      "description": "DATE partition with NULL values.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1673_partdir_date_dml",
      "num": 1673,
      "name": "partdir_date_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1673_partdir_date_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/1673_partdir_date_dml.sql",
      "description": "DATE partition with DML per date partition.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1674_partdir_date_many",
      "num": 1674,
      "name": "partdir_date_many",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1674_partdir_date_many.py",
      "read_script": "generator/df-reads-spark-iceberg/1674_partdir_date_many.sql",
      "description": "DATE partition with 12 distinct dates (one per month).",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1675_partdir_two_string",
      "num": 1675,
      "name": "partdir_two_string",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1675_partdir_two_string.py",
      "read_script": "generator/df-reads-spark-iceberg/1675_partdir_two_string.sql",
      "description": "Two STRING partition columns.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1676_partdir_int_string",
      "num": 1676,
      "name": "partdir_int_string",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1676_partdir_int_string.py",
      "read_script": "generator/df-reads-spark-iceberg/1676_partdir_int_string.sql",
      "description": "INT + STRING partition columns.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1677_partdir_boolean_int",
      "num": 1677,
      "name": "partdir_boolean_int",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1677_partdir_boolean_int.py",
      "read_script": "generator/df-reads-spark-iceberg/1677_partdir_boolean_int.sql",
      "description": "BOOLEAN + INT partition columns.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1678_partdir_three_cols",
      "num": 1678,
      "name": "partdir_three_cols",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1678_partdir_three_cols.py",
      "read_script": "generator/df-reads-spark-iceberg/1678_partdir_three_cols.sql",
      "description": "Three partition columns (STRING + INT + BOOLEAN).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1679_partdir_string_cdc",
      "num": 1679,
      "name": "partdir_string_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1679_partdir_string_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1679_partdir_string_cdc.sql",
      "description": "STRING partition + CDC enabled. Verifies that CDC does",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/167_ecosystem_torture_interop",
      "num": 167,
      "name": "ecosystem_torture_interop",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/167_ecosystem_torture_interop.py",
      "read_script": "generator/df-reads-spark-iceberg/167_ecosystem_torture_interop.sql",
      "description": "- Ultimate interoperability stress test with multiple features - Column Mapping (name mode) - Deletion Vectors enabled - Partitioning by region - Multiple data types including DECIMAL, FLOAT, BOOLEAN, TIMESTAMP - UPDATE and DELETE operations",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1680_partdir_decimal_colmap",
      "num": 1680,
      "name": "partdir_decimal_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1680_partdir_decimal_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/1680_partdir_decimal_colmap.sql",
      "description": "DECIMAL(5,2) partition + column mapping (name mode).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1681_stats_int_range_per_file",
      "num": 1681,
      "name": "stats_int_range_per_file",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1681_stats_int_range_per_file.py",
      "read_script": "generator/df-reads-spark-iceberg/1681_stats_int_range_per_file.sql",
      "description": "3 INSERT batches with disjoint INT ranges per file.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1682_stats_decimal_range_per_file",
      "num": 1682,
      "name": "stats_decimal_range_per_file",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1682_stats_decimal_range_per_file.py",
      "read_script": "generator/df-reads-spark-iceberg/1682_stats_decimal_range_per_file.sql",
      "description": "3 INSERT batches with disjoint DECIMAL(10,2) ranges.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1683_stats_timestamp_range_per_file",
      "num": 1683,
      "name": "stats_timestamp_range_per_file",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1683_stats_timestamp_range_per_file.py",
      "read_script": "generator/df-reads-spark-iceberg/1683_stats_timestamp_range_per_file.sql",
      "description": "3 INSERT batches with disjoint TIMESTAMP ranges.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1684_stats_string_range_per_file",
      "num": 1684,
      "name": "stats_string_range_per_file",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1684_stats_string_range_per_file.py",
      "read_script": "generator/df-reads-spark-iceberg/1684_stats_string_range_per_file.sql",
      "description": "3 INSERT batches with disjoint STRING prefix ranges.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1685_stats_boolean_per_file",
      "num": 1685,
      "name": "stats_boolean_per_file",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1685_stats_boolean_per_file.py",
      "read_script": "generator/df-reads-spark-iceberg/1685_stats_boolean_per_file.sql",
      "description": "2 INSERT batches: one all-true, one all-false.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1686_stats_double_range_per_file",
      "num": 1686,
      "name": "stats_double_range_per_file",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1686_stats_double_range_per_file.py",
      "read_script": "generator/df-reads-spark-iceberg/1686_stats_double_range_per_file.sql",
      "description": "3 INSERT batches with disjoint DOUBLE ranges.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1687_stats_null_count_per_file",
      "num": 1687,
      "name": "stats_null_count_per_file",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1687_stats_null_count_per_file.py",
      "read_script": "generator/df-reads-spark-iceberg/1687_stats_null_count_per_file.sql",
      "description": "3 INSERT batches with varying NULL counts.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1688_stats_after_update_min",
      "num": 1688,
      "name": "stats_after_update_min",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1688_stats_after_update_min.py",
      "read_script": "generator/df-reads-spark-iceberg/1688_stats_after_update_min.sql",
      "description": "2 INSERT batches, UPDATE raises the minimum in batch 1.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1689_stats_after_update_max",
      "num": 1689,
      "name": "stats_after_update_max",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1689_stats_after_update_max.py",
      "read_script": "generator/df-reads-spark-iceberg/1689_stats_after_update_max.sql",
      "description": "2 INSERT batches, UPDATE lowers the maximum in batch 1.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/168_dbx_insert_into_deltaflow",
      "num": 168,
      "name": "dbx_insert_into_deltaflow",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/168_dbx_insert_into_deltaflow.py",
      "read_script": "generator/df-reads-spark-iceberg/168_dbx_insert_into_deltaflow.sql",
      "description": "- Reverse interop: DBX INSERT into DeltaForge table - Simple product catalog schema - No partitioning",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1690_stats_after_delete_via_dv",
      "num": 1690,
      "name": "stats_after_delete_via_dv",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1690_stats_after_delete_via_dv.py",
      "read_script": "generator/df-reads-spark-iceberg/1690_stats_after_delete_via_dv.sql",
      "description": "2 INSERT batches, DELETE max row via DV. Stats may be stale.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1691_stats_after_optimize",
      "num": 1691,
      "name": "stats_after_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1691_stats_after_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/1691_stats_after_optimize.sql",
      "description": "4 INSERT batches with overlapping ranges, then OPTIMIZE.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1692_stats_after_merge",
      "num": 1692,
      "name": "stats_after_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1692_stats_after_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/1692_stats_after_merge.sql",
      "description": "2 INSERT batches, MERGE rewrites batch 1 scores to new range.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1693_stats_after_schema_evolve",
      "num": 1693,
      "name": "stats_after_schema_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1693_stats_after_schema_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/1693_stats_after_schema_evolve.sql",
      "description": "2 INSERT batches, ADD COLUMN, 1 more batch.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1694_stats_decimal_precision",
      "num": 1694,
      "name": "stats_decimal_precision",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1694_stats_decimal_precision.py",
      "read_script": "generator/df-reads-spark-iceberg/1694_stats_decimal_precision.sql",
      "description": "2 INSERT batches with DECIMAL values differing at 4th decimal place.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1695_stats_negative_int",
      "num": 1695,
      "name": "stats_negative_int",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1695_stats_negative_int.py",
      "read_script": "generator/df-reads-spark-iceberg/1695_stats_negative_int.sql",
      "description": "2 INSERT batches: negative range and positive range.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1696_stats_negative_decimal",
      "num": 1696,
      "name": "stats_negative_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1696_stats_negative_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/1696_stats_negative_decimal.sql",
      "description": "2 INSERT batches: negative and positive DECIMAL.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1697_stats_all_same_int",
      "num": 1697,
      "name": "stats_all_same_int",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1697_stats_all_same_int.py",
      "read_script": "generator/df-reads-spark-iceberg/1697_stats_all_same_int.sql",
      "description": "2 INSERT batches: batch1 all score=42, batch2 all score=99.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1698_stats_all_null",
      "num": 1698,
      "name": "stats_all_null",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1698_stats_all_null.py",
      "read_script": "generator/df-reads-spark-iceberg/1698_stats_all_null.sql",
      "description": "2 INSERT batches: batch1 non-NULL score, batch2 all NULL score.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:null-handling",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1699_stats_wide_range",
      "num": 1699,
      "name": "stats_wide_range",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1699_stats_wide_range.py",
      "read_script": "generator/df-reads-spark-iceberg/1699_stats_wide_range.sql",
      "description": "2 INSERT batches with BIGINT at extreme ranges.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "scale:large-dataset",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/169_dbx_optimize_deltaflow",
      "num": 169,
      "name": "dbx_optimize_deltaflow",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/169_dbx_optimize_deltaflow.py",
      "read_script": "generator/df-reads-spark-iceberg/169_dbx_optimize_deltaflow.sql",
      "description": "- Creating file fragmentation with multiple INSERT statements - Multiple small batches for OPTIMIZE testing - No partitioning",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/16_action_remove_file_with_tombstone",
      "num": 16,
      "name": "action_remove_file_with_tombstone",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/16_action_remove_file_with_tombstone.py",
      "read_script": "generator/df-reads-spark-iceberg/16_action_remove_file_with_tombstone.sql",
      "description": "Remove actions track deleted files for audit trail while respecting the right to be forgotten. Tombstones ensure proper cleanup of user data.",
      "status": "pass",
      "duration_ms": 37,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:46:06.533780+00:00",
      "read_cold_ms": 37,
      "read_warm_ms": 21,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/16_insert_overwrite_typed",
      "num": 16,
      "name": "insert_overwrite_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/16_insert_overwrite_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/16_insert_overwrite_typed.sql",
      "description": "iceberg catalog, then fully overwritten by gen2 (80 rows). The final table exposed to delta-forge contains only gen2 data.",
      "status": "pass",
      "duration_ms": 23,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:46:06.533780+00:00",
      "read_cold_ms": 23,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1700_stats_after_zorder",
      "num": 1700,
      "name": "stats_after_zorder",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1700_stats_after_zorder.py",
      "read_script": "generator/df-reads-spark-iceberg/1700_stats_after_zorder.sql",
      "description": "4 INSERT batches then Z-ORDER BY (score).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1701_stats_after_vacuum",
      "num": 1701,
      "name": "stats_after_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1701_stats_after_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/1701_stats_after_vacuum.sql",
      "description": "4 INSERT batches, OPTIMIZE, VACUUM 0 HOURS.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1702_stats_partition",
      "num": 1702,
      "name": "stats_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1702_stats_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1702_stats_partition.sql",
      "description": "Partitioned table with 2 batches per partition.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1703_stats_cdc",
      "num": 1703,
      "name": "stats_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1703_stats_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1703_stats_cdc.sql",
      "description": "CDC table with 2 INSERT batches. Stats on data files (not CDC files).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1704_stats_decimal_multi_precision",
      "num": 1704,
      "name": "stats_decimal_multi_precision",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1704_stats_decimal_multi_precision.py",
      "read_script": "generator/df-reads-spark-iceberg/1704_stats_decimal_multi_precision.sql",
      "description": "2 INSERT batches with DECIMAL(10,2) + DECIMAL(18,8). Both column stats correct.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1705_stats_after_multiple_dml",
      "num": 1705,
      "name": "stats_after_multiple_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1705_stats_after_multiple_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/1705_stats_after_multiple_dml.sql",
      "description": "INSERT 2 batches, UPDATE, DELETE, INSERT 1 more.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1706_pushdown_int_eq",
      "num": 1706,
      "name": "pushdown_int_eq",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1706_pushdown_int_eq.py",
      "read_script": "generator/df-reads-spark-iceberg/1706_pushdown_int_eq.sql",
      "description": "5 non-overlapping INT batches. WHERE score=42 should only scan 1 file.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1707_pushdown_int_gt",
      "num": 1707,
      "name": "pushdown_int_gt",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1707_pushdown_int_gt.py",
      "read_script": "generator/df-reads-spark-iceberg/1707_pushdown_int_gt.sql",
      "description": "5 non-overlapping INT batches. WHERE score > 60 should skip batches 1-3.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1708_pushdown_int_lt",
      "num": 1708,
      "name": "pushdown_int_lt",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1708_pushdown_int_lt.py",
      "read_script": "generator/df-reads-spark-iceberg/1708_pushdown_int_lt.sql",
      "description": "5 non-overlapping INT batches. WHERE score < 40 should skip batches 3-5.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1709_pushdown_decimal_eq",
      "num": 1709,
      "name": "pushdown_decimal_eq",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1709_pushdown_decimal_eq.py",
      "read_script": "generator/df-reads-spark-iceberg/1709_pushdown_decimal_eq.sql",
      "description": "3 non-overlapping DECIMAL batches. WHERE amount = CAST(250.00 AS DECIMAL(10,2)).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/170_dbx_delete_from_deltaflow",
      "num": 170,
      "name": "dbx_delete_from_deltaflow",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/170_dbx_delete_from_deltaflow.py",
      "read_script": "generator/df-reads-spark-iceberg/170_dbx_delete_from_deltaflow.sql",
      "description": "- Table with status field for DELETE testing - 25% of rows marked as 'inactive' for deletion - No partitioning",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1710_pushdown_decimal_gt",
      "num": 1710,
      "name": "pushdown_decimal_gt",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1710_pushdown_decimal_gt.py",
      "read_script": "generator/df-reads-spark-iceberg/1710_pushdown_decimal_gt.sql",
      "description": "3 non-overlapping DECIMAL batches. WHERE amount > CAST(300.00 AS DECIMAL(10,2)).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1711_pushdown_timestamp_range",
      "num": 1711,
      "name": "pushdown_timestamp_range",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1711_pushdown_timestamp_range.py",
      "read_script": "generator/df-reads-spark-iceberg/1711_pushdown_timestamp_range.sql",
      "description": "3 batches (Jan/Feb/Mar 2024). WHERE ts BETWEEN Feb boundaries.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1712_pushdown_string_range",
      "num": 1712,
      "name": "pushdown_string_range",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1712_pushdown_string_range.py",
      "read_script": "generator/df-reads-spark-iceberg/1712_pushdown_string_range.sql",
      "description": "3 batches (a_*/b_*/c_*). WHERE name >= 'b_' AND name < 'c_'.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1713_pushdown_boolean",
      "num": 1713,
      "name": "pushdown_boolean",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1713_pushdown_boolean.py",
      "read_script": "generator/df-reads-spark-iceberg/1713_pushdown_boolean.sql",
      "description": "2 batches (all true / all false). WHERE flag = true.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1714_pushdown_null",
      "num": 1714,
      "name": "pushdown_null",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1714_pushdown_null.py",
      "read_script": "generator/df-reads-spark-iceberg/1714_pushdown_null.sql",
      "description": "2 batches (non-NULL / 50% NULL). WHERE score IS NOT NULL.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1715_pushdown_compound",
      "num": 1715,
      "name": "pushdown_compound",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1715_pushdown_compound.py",
      "read_script": "generator/df-reads-spark-iceberg/1715_pushdown_compound.sql",
      "description": "3 batches. WHERE score > 60 AND amount > CAST(400 AS DECIMAL(10,2)).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1716_pushdown_after_update",
      "num": 1716,
      "name": "pushdown_after_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1716_pushdown_after_update.py",
      "read_script": "generator/df-reads-spark-iceberg/1716_pushdown_after_update.sql",
      "description": "5 batches, UPDATE shifts batch 3 scores +500. WHERE score > 500.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1717_pushdown_after_delete",
      "num": 1717,
      "name": "pushdown_after_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1717_pushdown_after_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/1717_pushdown_after_delete.sql",
      "description": "5 batches, DELETE all of batch 3 via DV.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1718_pushdown_negative",
      "num": 1718,
      "name": "pushdown_negative",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1718_pushdown_negative.py",
      "read_script": "generator/df-reads-spark-iceberg/1718_pushdown_negative.sql",
      "description": "2 batches (negative / positive). WHERE val > 0.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1719_pushdown_decimal_between",
      "num": 1719,
      "name": "pushdown_decimal_between",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1719_pushdown_decimal_between.py",
      "read_script": "generator/df-reads-spark-iceberg/1719_pushdown_decimal_between.sql",
      "description": "3 disjoint DECIMAL batches. WHERE amount BETWEEN 200 AND 300.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/171_reverse_dbx_delete_from_deltaflow",
      "num": 171,
      "name": "reverse_dbx_delete_from_deltaflow",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/171_reverse_dbx_delete_from_deltaflow.py",
      "read_script": "generator/df-reads-spark-iceberg/171_reverse_dbx_delete_from_deltaflow.sql",
      "description": "because it expects this DeltaForge-created table to exist first!",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1720_pushdown_partition_plus_stats",
      "num": 1720,
      "name": "pushdown_partition_plus_stats",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1720_pushdown_partition_plus_stats.py",
      "read_script": "generator/df-reads-spark-iceberg/1720_pushdown_partition_plus_stats.sql",
      "description": "Partitioned table + 2 batches per partition.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1721_pushdown_decimal_lt",
      "num": 1721,
      "name": "pushdown_decimal_lt",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1721_pushdown_decimal_lt.py",
      "read_script": "generator/df-reads-spark-iceberg/1721_pushdown_decimal_lt.sql",
      "description": "3 disjoint DECIMAL batches. WHERE amount < CAST(150 AS DECIMAL(10,2)).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1722_pushdown_not_between",
      "num": 1722,
      "name": "pushdown_not_between",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1722_pushdown_not_between.py",
      "read_script": "generator/df-reads-spark-iceberg/1722_pushdown_not_between.sql",
      "description": "5 INT batches. WHERE score NOT BETWEEN 40 AND 59.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1723_pushdown_coalesce",
      "num": 1723,
      "name": "pushdown_coalesce",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1723_pushdown_coalesce.py",
      "read_script": "generator/df-reads-spark-iceberg/1723_pushdown_coalesce.sql",
      "description": "2 batches (non-NULL / 50% NULL). WHERE COALESCE(score, 0) > 50.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1724_pushdown_abs",
      "num": 1724,
      "name": "pushdown_abs",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1724_pushdown_abs.py",
      "read_script": "generator/df-reads-spark-iceberg/1724_pushdown_abs.sql",
      "description": "2 batches (negative / positive). WHERE ABS(CAST(value AS DOUBLE)) > 300.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1725_pushdown_after_merge",
      "num": 1725,
      "name": "pushdown_after_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1725_pushdown_after_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/1725_pushdown_after_merge.sql",
      "description": "5 batches, MERGE updates batch 3 scores to +500.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1726_nullable_all_nullable",
      "num": 1726,
      "name": "nullable_all_nullable",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1726_nullable_all_nullable.py",
      "read_script": "generator/df-reads-spark-iceberg/1726_nullable_all_nullable.sql",
      "description": "All columns nullable (no NOT NULL constraints).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:null-handling",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1727_nullable_all_not_null",
      "num": 1727,
      "name": "nullable_all_not_null",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1727_nullable_all_not_null.py",
      "read_script": "generator/df-reads-spark-iceberg/1727_nullable_all_not_null.sql",
      "description": "All columns NOT NULL. Verify all fields marked non-nullable.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1728_nullable_mixed",
      "num": 1728,
      "name": "nullable_mixed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1728_nullable_mixed.py",
      "read_script": "generator/df-reads-spark-iceberg/1728_nullable_mixed.sql",
      "description": "Mix of NOT NULL and nullable columns.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1729_nullable_after_update",
      "num": 1729,
      "name": "nullable_after_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1729_nullable_after_update.py",
      "read_script": "generator/df-reads-spark-iceberg/1729_nullable_after_update.sql",
      "description": "NOT NULL + nullable. UPDATE sets nullable col to NULL.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/172_merge_execute",
      "num": 172,
      "name": "merge_execute",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/172_merge_execute.py",
      "read_script": "generator/df-reads-spark-iceberg/172_merge_execute.sql",
      "description": "- MERGE target table with customer data - Deletion vectors enabled - Initial 100 customers for MERGE testing",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1730_nullable_after_delete",
      "num": 1730,
      "name": "nullable_after_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1730_nullable_after_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/1730_nullable_after_delete.sql",
      "description": "NOT NULL + nullable after DELETE. NOT NULL preserved.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1731_nullable_after_merge",
      "num": 1731,
      "name": "nullable_after_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1731_nullable_after_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/1731_nullable_after_merge.sql",
      "description": "NOT NULL + MERGE. MERGE inserts new rows and updates existing.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1732_nullable_after_evolve",
      "num": 1732,
      "name": "nullable_after_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1732_nullable_after_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/1732_nullable_after_evolve.sql",
      "description": "NOT NULL original cols + evolved nullable col.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1733_nullable_partition",
      "num": 1733,
      "name": "nullable_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1733_nullable_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1733_nullable_partition.sql",
      "description": "NOT NULL partition column. Partition column marked non-nullable.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1734_nullable_decimal_not_null",
      "num": 1734,
      "name": "nullable_decimal_not_null",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1734_nullable_decimal_not_null.py",
      "read_script": "generator/df-reads-spark-iceberg/1734_nullable_decimal_not_null.sql",
      "description": "DECIMAL NOT NULL column. amount is NOT NULL and has 0 NULLs.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1735_nullable_multiple_not_null",
      "num": 1735,
      "name": "nullable_multiple_not_null",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1735_nullable_multiple_not_null.py",
      "read_script": "generator/df-reads-spark-iceberg/1735_nullable_multiple_not_null.sql",
      "description": "4 NOT NULL columns of different types + 1 nullable.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1736_order_descending",
      "num": 1736,
      "name": "order_descending",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1736_order_descending.py",
      "read_script": "generator/df-reads-spark-iceberg/1736_order_descending.sql",
      "description": "INSERT data in descending order. Tests stats when max is first row.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1737_order_random_like",
      "num": 1737,
      "name": "order_random_like",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1737_order_random_like.py",
      "read_script": "generator/df-reads-spark-iceberg/1737_order_random_like.sql",
      "description": "INSERT data in pseudo-random order. score = (i*53)%100.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1738_duplicate_values",
      "num": 1738,
      "name": "duplicate_values",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1738_duplicate_values.py",
      "read_script": "generator/df-reads-spark-iceberg/1738_duplicate_values.sql",
      "description": "INSERT many duplicate values (same score repeated).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1739_constant_value_file",
      "num": 1739,
      "name": "constant_value_file",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1739_constant_value_file.py",
      "read_script": "generator/df-reads-spark-iceberg/1739_constant_value_file.sql",
      "description": "2 batches with constant score values.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/173_update_execute",
      "num": 173,
      "name": "update_execute",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/173_update_execute.py",
      "read_script": "generator/df-reads-spark-iceberg/173_update_execute.sql",
      "description": "- UPDATE target table with transaction data - Deletion vectors enabled - Initial 200 transactions for UPDATE testing",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1740_single_value_delete",
      "num": 1740,
      "name": "single_value_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1740_single_value_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/1740_single_value_delete.sql",
      "description": "INSERT 100, DELETE leaves only rows with score=42.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1741_gap_in_ids",
      "num": 1741,
      "name": "gap_in_ids",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1741_gap_in_ids.py",
      "read_script": "generator/df-reads-spark-iceberg/1741_gap_in_ids.sql",
      "description": "INSERT with gaps in id sequence (non-contiguous ids).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1742_extreme_int_values",
      "num": 1742,
      "name": "extreme_int_values",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1742_extreme_int_values.py",
      "read_script": "generator/df-reads-spark-iceberg/1742_extreme_int_values.sql",
      "description": "INSERT rows with INT at extremes: -2147483648, 0, 2147483647.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1743_extreme_bigint_values",
      "num": 1743,
      "name": "extreme_bigint_values",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1743_extreme_bigint_values.py",
      "read_script": "generator/df-reads-spark-iceberg/1743_extreme_bigint_values.sql",
      "description": "INSERT with BIGINT extremes.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1744_extreme_decimal_values",
      "num": 1744,
      "name": "extreme_decimal_values",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1744_extreme_decimal_values.py",
      "read_script": "generator/df-reads-spark-iceberg/1744_extreme_decimal_values.sql",
      "description": "INSERT with DECIMAL at precision limits.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1745_extreme_double_values",
      "num": 1745,
      "name": "extreme_double_values",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1745_extreme_double_values.py",
      "read_script": "generator/df-reads-spark-iceberg/1745_extreme_double_values.sql",
      "description": "INSERT with DOUBLE extremes.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1746_all_null_column",
      "num": 1746,
      "name": "all_null_column",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1746_all_null_column.py",
      "read_script": "generator/df-reads-spark-iceberg/1746_all_null_column.sql",
      "description": "INSERT where one column is always NULL for all rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:null-handling",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1747_constant_string",
      "num": 1747,
      "name": "constant_string",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1747_constant_string.py",
      "read_script": "generator/df-reads-spark-iceberg/1747_constant_string.sql",
      "description": "INSERT where string column is same value for all rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1748_sparse_then_dense",
      "num": 1748,
      "name": "sparse_then_dense",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1748_sparse_then_dense.py",
      "read_script": "generator/df-reads-spark-iceberg/1748_sparse_then_dense.sql",
      "description": "Batch 1: 90% NULL in score column. Batch 2: 0% NULL.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:null-handling",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1749_wide_range_narrow_file",
      "num": 1749,
      "name": "wide_range_narrow_file",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1749_wide_range_narrow_file.py",
      "read_script": "generator/df-reads-spark-iceberg/1749_wide_range_narrow_file.sql",
      "description": "2 batches with very different range widths.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "scale:large-dataset",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/174_delete_dv",
      "num": 174,
      "name": "delete_dv",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/174_delete_dv.py",
      "read_script": "generator/df-reads-spark-iceberg/174_delete_dv.sql",
      "description": "- Deletion vectors enabled table - Employee records with status distribution - Conditional termination_date based on status",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1750_ordering_stats_ultimate",
      "num": 1750,
      "name": "ordering_stats_ultimate",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1750_ordering_stats_ultimate.py",
      "read_script": "generator/df-reads-spark-iceberg/1750_ordering_stats_ultimate.sql",
      "description": "Ultimate ordering/stats test: 5 batches with overlapping ranges,",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1751_insert_group_by_sum",
      "num": 1751,
      "name": "insert_group_by_sum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1751_insert_group_by_sum.py",
      "read_script": "generator/df-reads-spark-iceberg/1751_insert_group_by_sum.sql",
      "description": "INSERT INTO ... SELECT with GROUP BY and SUM aggregation.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1752_insert_group_by_count",
      "num": 1752,
      "name": "insert_group_by_count",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1752_insert_group_by_count.py",
      "read_script": "generator/df-reads-spark-iceberg/1752_insert_group_by_count.sql",
      "description": "INSERT INTO ... SELECT with GROUP BY and COUNT(*).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1753_insert_group_by_avg",
      "num": 1753,
      "name": "insert_group_by_avg",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1753_insert_group_by_avg.py",
      "read_script": "generator/df-reads-spark-iceberg/1753_insert_group_by_avg.sql",
      "description": "INSERT INTO ... SELECT with GROUP BY and AVG aggregation.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1754_insert_group_by_min_max",
      "num": 1754,
      "name": "insert_group_by_min_max",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1754_insert_group_by_min_max.py",
      "read_script": "generator/df-reads-spark-iceberg/1754_insert_group_by_min_max.sql",
      "description": "INSERT INTO ... SELECT with GROUP BY and MIN/MAX aggregations.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1755_insert_group_by_decimal",
      "num": 1755,
      "name": "insert_group_by_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1755_insert_group_by_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/1755_insert_group_by_decimal.sql",
      "description": "INSERT INTO ... SELECT with GROUP BY SUM on a DECIMAL column.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1756_insert_group_by_having",
      "num": 1756,
      "name": "insert_group_by_having",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1756_insert_group_by_having.py",
      "read_script": "generator/df-reads-spark-iceberg/1756_insert_group_by_having.sql",
      "description": "INSERT INTO ... SELECT with GROUP BY and HAVING filter.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1757_insert_group_by_two_cols",
      "num": 1757,
      "name": "insert_group_by_two_cols",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1757_insert_group_by_two_cols.py",
      "read_script": "generator/df-reads-spark-iceberg/1757_insert_group_by_two_cols.sql",
      "description": "INSERT INTO ... SELECT with GROUP BY on two columns.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1758_insert_group_by_partition",
      "num": 1758,
      "name": "insert_group_by_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1758_insert_group_by_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1758_insert_group_by_partition.sql",
      "description": "INSERT INTO ... SELECT with GROUP BY into a PARTITIONED table.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1759_insert_group_by_cdc",
      "num": 1759,
      "name": "insert_group_by_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1759_insert_group_by_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1759_insert_group_by_cdc.sql",
      "description": "INSERT INTO ... SELECT with GROUP BY into a CDC-enabled table.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/175_check_enforce",
      "num": 175,
      "name": "check_enforce",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/175_check_enforce.py",
      "read_script": "generator/df-reads-spark-iceberg/175_check_enforce.sql",
      "description": "- Deletion vectors enabled - Product review data with constraint-valid values - CHECK constraints documented (not applied via SQL ALTER TABLE)",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1760_insert_group_by_then_dml",
      "num": 1760,
      "name": "insert_group_by_then_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1760_insert_group_by_then_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/1760_insert_group_by_then_dml.sql",
      "description": "INSERT INTO ... SELECT with GROUP BY, followed by UPDATE then DELETE.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1761_insert_distinct",
      "num": 1761,
      "name": "insert_distinct",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1761_insert_distinct.py",
      "read_script": "generator/df-reads-spark-iceberg/1761_insert_distinct.sql",
      "description": "INSERT INTO ... SELECT DISTINCT with deduplication.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1762_insert_distinct_decimal",
      "num": 1762,
      "name": "insert_distinct_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1762_insert_distinct_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/1762_insert_distinct_decimal.sql",
      "description": "INSERT INTO ... SELECT DISTINCT with DECIMAL deduplication.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1763_insert_distinct_multi_col",
      "num": 1763,
      "name": "insert_distinct_multi_col",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1763_insert_distinct_multi_col.py",
      "read_script": "generator/df-reads-spark-iceberg/1763_insert_distinct_multi_col.sql",
      "description": "INSERT INTO ... SELECT DISTINCT on multiple columns.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1764_insert_distinct_partition",
      "num": 1764,
      "name": "insert_distinct_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1764_insert_distinct_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1764_insert_distinct_partition.sql",
      "description": "INSERT INTO ... SELECT DISTINCT into a PARTITIONED table.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1765_insert_distinct_with_dml",
      "num": 1765,
      "name": "insert_distinct_with_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1765_insert_distinct_with_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/1765_insert_distinct_with_dml.sql",
      "description": "INSERT DISTINCT (10 rows) followed by UPDATE and DELETE.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1766_insert_subquery_basic",
      "num": 1766,
      "name": "insert_subquery_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1766_insert_subquery_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/1766_insert_subquery_basic.sql",
      "description": "INSERT INTO ... SELECT FROM (SELECT ...) basic subquery.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1767_insert_subquery_filtered",
      "num": 1767,
      "name": "insert_subquery_filtered",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1767_insert_subquery_filtered.py",
      "read_script": "generator/df-reads-spark-iceberg/1767_insert_subquery_filtered.sql",
      "description": "INSERT INTO ... SELECT with WHERE on a subquery.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1768_insert_subquery_aggregated",
      "num": 1768,
      "name": "insert_subquery_aggregated",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1768_insert_subquery_aggregated.py",
      "read_script": "generator/df-reads-spark-iceberg/1768_insert_subquery_aggregated.sql",
      "description": "INSERT INTO ... SELECT from an aggregated subquery (GROUP BY in inner SELECT).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1769_insert_subquery_two_levels",
      "num": 1769,
      "name": "insert_subquery_two_levels",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1769_insert_subquery_two_levels.py",
      "read_script": "generator/df-reads-spark-iceberg/1769_insert_subquery_two_levels.sql",
      "description": "INSERT INTO ... with 2-level nested subqueries.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/176_not_null_enforce",
      "num": 176,
      "name": "not_null_enforce",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/176_not_null_enforce.py",
      "read_script": "generator/df-reads-spark-iceberg/176_not_null_enforce.sql",
      "description": "- NOT NULL constraint enforcement - Schema with mixed nullable and non-nullable columns - Employee directory data model",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1770_insert_subquery_with_join",
      "num": 1770,
      "name": "insert_subquery_with_join",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1770_insert_subquery_with_join.py",
      "read_script": "generator/df-reads-spark-iceberg/1770_insert_subquery_with_join.sql",
      "description": "INSERT INTO ... SELECT with a multi-column derived subquery.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1771_insert_row_number",
      "num": 1771,
      "name": "insert_row_number",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1771_insert_row_number.py",
      "read_script": "generator/df-reads-spark-iceberg/1771_insert_row_number.sql",
      "description": "INSERT INTO ... SELECT using ROW_NUMBER() OVER (ORDER BY ...).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1772_insert_row_number_partition",
      "num": 1772,
      "name": "insert_row_number_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1772_insert_row_number_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1772_insert_row_number_partition.sql",
      "description": "INSERT INTO ... SELECT with ROW_NUMBER() OVER (PARTITION BY ... ORDER BY ...).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1773_insert_rank",
      "num": 1773,
      "name": "insert_rank",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1773_insert_rank.py",
      "read_script": "generator/df-reads-spark-iceberg/1773_insert_rank.sql",
      "description": "INSERT INTO ... SELECT with RANK() OVER (ORDER BY ... DESC).",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1774_insert_sum_over",
      "num": 1774,
      "name": "insert_sum_over",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1774_insert_sum_over.py",
      "read_script": "generator/df-reads-spark-iceberg/1774_insert_sum_over.sql",
      "description": "INSERT INTO ... SELECT with SUM() OVER (ORDER BY ...) cumulative sum.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1775_insert_lag_lead",
      "num": 1775,
      "name": "insert_lag_lead",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1775_insert_lag_lead.py",
      "read_script": "generator/df-reads-spark-iceberg/1775_insert_lag_lead.sql",
      "description": "INSERT INTO ... SELECT with LAG and LEAD window functions.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1776_insert_window_partition",
      "num": 1776,
      "name": "insert_window_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1776_insert_window_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1776_insert_window_partition.sql",
      "description": "INSERT INTO ... SELECT with SUM() OVER (PARTITION BY ...).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1777_insert_dense_rank",
      "num": 1777,
      "name": "insert_dense_rank",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1777_insert_dense_rank.py",
      "read_script": "generator/df-reads-spark-iceberg/1777_insert_dense_rank.sql",
      "description": "INSERT INTO ... SELECT with DENSE_RANK() OVER (ORDER BY ... DESC).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1778_insert_window_decimal",
      "num": 1778,
      "name": "insert_window_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1778_insert_window_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/1778_insert_window_decimal.sql",
      "description": "INSERT INTO ... SELECT with SUM() OVER (PARTITION BY ...) on a DECIMAL.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1779_insert_window_then_dml",
      "num": 1779,
      "name": "insert_window_then_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1779_insert_window_then_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/1779_insert_window_then_dml.sql",
      "description": "INSERT with ROW_NUMBER() then UPDATE the top-10 rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/177_generated_compute",
      "num": 177,
      "name": "generated_compute",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/177_generated_compute.py",
      "read_script": "generator/df-reads-spark-iceberg/177_generated_compute.sql",
      "description": "- Generated/computed columns (full_name, total, year) - DECIMAL type handling for currency values - DATE type handling with interval arithmetic - Deletion vectors enabled",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1780_insert_aggregation_partition_cdc",
      "num": 1780,
      "name": "insert_aggregation_partition_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1780_insert_aggregation_partition_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1780_insert_aggregation_partition_cdc.sql",
      "description": "INSERT INTO ... SELECT with GROUP BY into a CDC-enabled, PARTITIONED table.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1781_struct_zorder",
      "num": 1781,
      "name": "struct_zorder",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1781_struct_zorder.py",
      "read_script": "generator/df-reads-spark-iceberg/1781_struct_zorder.sql",
      "description": "STRUCT column survives Z-ORDER reorganization.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1782_struct_vacuum",
      "num": 1782,
      "name": "struct_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1782_struct_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/1782_struct_vacuum.sql",
      "description": "STRUCT survives OPTIMIZE + VACUUM cleanup.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1783_struct_restore",
      "num": 1783,
      "name": "struct_restore",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1783_struct_restore.py",
      "read_script": "generator/df-reads-spark-iceberg/1783_struct_restore.sql",
      "description": "RESTORE undoes UPDATE on table containing STRUCT column.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1784_date_zorder",
      "num": 1784,
      "name": "date_zorder",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1784_date_zorder.py",
      "read_script": "generator/df-reads-spark-iceberg/1784_date_zorder.sql",
      "description": "DATE column with Z-ORDER BY (event_date).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1785_date_vacuum",
      "num": 1785,
      "name": "date_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1785_date_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/1785_date_vacuum.sql",
      "description": "DATE column survives OPTIMIZE + VACUUM.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1786_date_restore",
      "num": 1786,
      "name": "date_restore",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1786_date_restore.py",
      "read_script": "generator/df-reads-spark-iceberg/1786_date_restore.sql",
      "description": "RESTORE undoes DELETE on table containing DATE column.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:time-travel",
        "iceberg:snapshots",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1787_binary_colmap",
      "num": 1787,
      "name": "binary_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1787_binary_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/1787_binary_colmap.sql",
      "description": "BINARY column on table with column-mapping mode = name.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:binary",
        "type:integer",
        "type:string",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1788_binary_constraint",
      "num": 1788,
      "name": "binary_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1788_binary_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/1788_binary_constraint.sql",
      "description": "BINARY column with CHECK constraint on a sibling column.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:binary",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1789_binary_zorder",
      "num": 1789,
      "name": "binary_zorder",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1789_binary_zorder.py",
      "read_script": "generator/df-reads-spark-iceberg/1789_binary_zorder.sql",
      "description": "BINARY column survives Z-ORDER on a sibling column.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:binary",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/178_v2_checkpoints",
      "num": 178,
      "name": "v2_checkpoints",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/178_v2_checkpoints.py",
      "read_script": "generator/df-reads-spark-iceberg/178_v2_checkpoints.sql",
      "description": "- V2 checkpoint format compatibility across engines - Multiple data operations: INSERT, UPDATE, DELETE, OPTIMIZE - Deletion vectors enabled",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1790_binary_vacuum",
      "num": 1790,
      "name": "binary_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1790_binary_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/1790_binary_vacuum.sql",
      "description": "BINARY column survives OPTIMIZE + VACUUM.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:binary",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1791_binary_restore",
      "num": 1791,
      "name": "binary_restore",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1791_binary_restore.py",
      "read_script": "generator/df-reads-spark-iceberg/1791_binary_restore.sql",
      "description": "RESTORE undoes UPDATE on table containing BINARY column.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:binary",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1792_tinyint_cdc",
      "num": 1792,
      "name": "tinyint_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1792_tinyint_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1792_tinyint_cdc.sql",
      "description": "TINYINT values captured by Change Data Feed across INSERT/UPDATE/DELETE.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1793_tinyint_zorder",
      "num": 1793,
      "name": "tinyint_zorder",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1793_tinyint_zorder.py",
      "read_script": "generator/df-reads-spark-iceberg/1793_tinyint_zorder.sql",
      "description": "TINYINT column with Z-ORDER BY (val).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1794_tinyint_vacuum",
      "num": 1794,
      "name": "tinyint_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1794_tinyint_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/1794_tinyint_vacuum.sql",
      "description": "TINYINT column survives OPTIMIZE + VACUUM.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1795_smallint_cdc_partition",
      "num": 1795,
      "name": "smallint_cdc_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1795_smallint_cdc_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1795_smallint_cdc_partition.sql",
      "description": "SMALLINT column on CDF + PARTITIONED table.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1796_float_zorder",
      "num": 1796,
      "name": "float_zorder",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1796_float_zorder.py",
      "read_script": "generator/df-reads-spark-iceberg/1796_float_zorder.sql",
      "description": "FLOAT column with Z-ORDER BY (val).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1797_float_vacuum",
      "num": 1797,
      "name": "float_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1797_float_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/1797_float_vacuum.sql",
      "description": "FLOAT column survives OPTIMIZE + VACUUM.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1798_float_restore",
      "num": 1798,
      "name": "float_restore",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1798_float_restore.py",
      "read_script": "generator/df-reads-spark-iceberg/1798_float_restore.sql",
      "description": "RESTORE undoes UPDATE on FLOAT values.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1799_struct_cdc_zorder",
      "num": 1799,
      "name": "struct_cdc_zorder",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1799_struct_cdc_zorder.py",
      "read_script": "generator/df-reads-spark-iceberg/1799_struct_cdc_zorder.sql",
      "description": "STRUCT + CDC + Z-ORDER three-way combination.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "delta:change-data-feed",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/179_type_widening_interop",
      "num": 179,
      "name": "type_widening_interop",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/179_type_widening_interop.py",
      "read_script": "generator/df-reads-spark-iceberg/179_type_widening_interop.sql",
      "description": "- Type widening schema evolution compatibility - SHORT (INT16) -> INT (INT32) widening - INT (INT32) -> LONG (INT64) widening - Type widening table property",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/17_action_cdc_file_partitioned",
      "num": 17,
      "name": "action_cdc_file_partitioned",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/17_action_cdc_file_partitioned.py",
      "read_script": "generator/df-reads-spark-iceberg/17_action_cdc_file_partitioned.sql",
      "description": "Partitioned by store_id for efficient per-location change tracking.",
      "status": "pass",
      "duration_ms": 24,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:46:06.533780+00:00",
      "read_cold_ms": 24,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:change-data-feed",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/17_insert_cte_complex",
      "num": 17,
      "name": "insert_cte_complex",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/17_insert_cte_complex.py",
      "read_script": "generator/df-reads-spark-iceberg/17_insert_cte_complex.sql",
      "description": "100 rows. Formulas (i = 1..100): name = 'base_' || i computed_dec = round(i * 9.99, 2) computed_bool = (i % 2 == 0) computed_str = 'c_' || i || '_base_' || i",
      "status": "pass",
      "duration_ms": 93,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:46:06.533780+00:00",
      "read_cold_ms": 93,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1800_complex_types_all_maintenance",
      "num": 1800,
      "name": "complex_types_all_maintenance",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1800_complex_types_all_maintenance.py",
      "read_script": "generator/df-reads-spark-iceberg/1800_complex_types_all_maintenance.sql",
      "description": "All four complex/non-trivial types (STRUCT, BINARY, DATE, FLOAT)",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:binary",
        "type:date",
        "type:floating",
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "delta:vacuum",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1801_delete_where_sign",
      "num": 1801,
      "name": "delete_where_sign",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1801_delete_where_sign.py",
      "read_script": "generator/df-reads-spark-iceberg/1801_delete_where_sign.sql",
      "description": "DELETE WHERE SIGN(value) = -1.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1802_delete_where_upper",
      "num": 1802,
      "name": "delete_where_upper",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1802_delete_where_upper.py",
      "read_script": "generator/df-reads-spark-iceberg/1802_delete_where_upper.sql",
      "description": "DELETE WHERE UPPER(name) = 'ITEM_50'.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1803_delete_where_length",
      "num": 1803,
      "name": "delete_where_length",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1803_delete_where_length.py",
      "read_script": "generator/df-reads-spark-iceberg/1803_delete_where_length.sql",
      "description": "DELETE WHERE LENGTH(name) = 6.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1804_delete_where_reverse",
      "num": 1804,
      "name": "delete_where_reverse",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1804_delete_where_reverse.py",
      "read_script": "generator/df-reads-spark-iceberg/1804_delete_where_reverse.sql",
      "description": "DELETE WHERE REVERSE(name) = 'cificeps_esrever'.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1805_merge_where_length",
      "num": 1805,
      "name": "merge_where_length",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1805_merge_where_length.py",
      "read_script": "generator/df-reads-spark-iceberg/1805_merge_where_length.sql",
      "description": "MERGE with LENGTH() in WHEN MATCHED AND condition.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1806_merge_where_upper",
      "num": 1806,
      "name": "merge_where_upper",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1806_merge_where_upper.py",
      "read_script": "generator/df-reads-spark-iceberg/1806_merge_where_upper.sql",
      "description": "MERGE with UPPER() applied to both target and source in MATCHED condition.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1807_merge_where_sign",
      "num": 1807,
      "name": "merge_where_sign",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1807_merge_where_sign.py",
      "read_script": "generator/df-reads-spark-iceberg/1807_merge_where_sign.sql",
      "description": "MERGE with SIGN() in WHEN MATCHED AND condition.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1808_update_sqrt_between",
      "num": 1808,
      "name": "update_sqrt_between",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1808_update_sqrt_between.py",
      "read_script": "generator/df-reads-spark-iceberg/1808_update_sqrt_between.sql",
      "description": "UPDATE with SQRT() + BETWEEN composite predicate.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1809_delete_compound_functions",
      "num": 1809,
      "name": "delete_compound_functions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1809_delete_compound_functions.py",
      "read_script": "generator/df-reads-spark-iceberg/1809_delete_compound_functions.sql",
      "description": "DELETE with multiple function predicates AND-combined.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/180_variant_type",
      "num": 180,
      "name": "variant_type",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/180_variant_type.py",
      "read_script": "generator/df-reads-spark-iceberg/180_variant_type.sql",
      "description": "- VARIANT semi-structured data type compatibility - JSON data stored in STRING column - Deletion vectors enabled - Update operations creating DVs",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1810_nmbys_with_function_condition",
      "num": 1810,
      "name": "nmbys_with_function_condition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1810_nmbys_with_function_condition.py",
      "read_script": "generator/df-reads-spark-iceberg/1810_nmbys_with_function_condition.sql",
      "description": "NOT MATCHED BY SOURCE branch with ABS() function condition.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1811_update_function_chain",
      "num": 1811,
      "name": "update_function_chain",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1811_update_function_chain.py",
      "read_script": "generator/df-reads-spark-iceberg/1811_update_function_chain.sql",
      "description": "UPDATE with chained function calls: ROUND(SQRT(POWER(...))).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1812_delete_function_in_or",
      "num": 1812,
      "name": "delete_function_in_or",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1812_delete_function_in_or.py",
      "read_script": "generator/df-reads-spark-iceberg/1812_delete_function_in_or.sql",
      "description": "DELETE with function predicates OR-combined.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1813_merge_functions_set",
      "num": 1813,
      "name": "merge_functions_set",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1813_merge_functions_set.py",
      "read_script": "generator/df-reads-spark-iceberg/1813_merge_functions_set.sql",
      "description": "MERGE with multiple function calls in UPDATE SET clause.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1814_update_function_partition",
      "num": 1814,
      "name": "update_function_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1814_update_function_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1814_update_function_partition.sql",
      "description": "Function calls in UPDATE SET on a partitioned table, scoped by partition predicate.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1815_function_dml_lifecycle",
      "num": 1815,
      "name": "function_dml_lifecycle",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1815_function_dml_lifecycle.py",
      "read_script": "generator/df-reads-spark-iceberg/1815_function_dml_lifecycle.sql",
      "description": "Functions used across the full DML lifecycle:",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1816_protocol_v1_writer",
      "num": 1816,
      "name": "protocol_v1_writer",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1816_protocol_v1_writer.py",
      "read_script": "generator/df-reads-spark-iceberg/1816_protocol_v1_writer.sql",
      "description": "Minimal Delta protocol (minReaderVersion=1, minWriterVersion=1).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1817_protocol_v2_reader_v3_writer",
      "num": 1817,
      "name": "protocol_v2_reader_v3_writer",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1817_protocol_v2_reader_v3_writer.py",
      "read_script": "generator/df-reads-spark-iceberg/1817_protocol_v2_reader_v3_writer.sql",
      "description": "Delta protocol with minReaderVersion=2, minWriterVersion=3.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1818_protocol_v2_v5_full",
      "num": 1818,
      "name": "protocol_v2_v5_full",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1818_protocol_v2_v5_full.py",
      "read_script": "generator/df-reads-spark-iceberg/1818_protocol_v2_v5_full.sql",
      "description": "Protocol minReaderVersion=2, minWriterVersion=5 (typical for",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1819_protocol_v3_v7_dv",
      "num": 1819,
      "name": "protocol_v3_v7_dv",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1819_protocol_v3_v7_dv.py",
      "read_script": "generator/df-reads-spark-iceberg/1819_protocol_v3_v7_dv.sql",
      "description": "Protocol minReaderVersion=3, minWriterVersion=7 (table features),",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/181_timestamp_ntz",
      "num": 181,
      "name": "timestamp_ntz",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/181_timestamp_ntz.py",
      "read_script": "generator/df-reads-spark-iceberg/181_timestamp_ntz.sql",
      "description": "- TIMESTAMP_NTZ (No Time Zone) compatibility - Timezone-less timestamps - No TZ conversion on read/write - Business time semantics",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "type:timestamp-ntz",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1820_protocol_explicit_features",
      "num": 1820,
      "name": "protocol_explicit_features",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1820_protocol_explicit_features.py",
      "read_script": "generator/df-reads-spark-iceberg/1820_protocol_explicit_features.sql",
      "description": "Auto-promoted protocol from explicit deletionVectors feature.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1821_protocol_appendonly_feature",
      "num": 1821,
      "name": "protocol_appendonly_feature",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1821_protocol_appendonly_feature.py",
      "read_script": "generator/df-reads-spark-iceberg/1821_protocol_appendonly_feature.sql",
      "description": "appendOnly table feature -- DELETE/UPDATE forbidden.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1822_protocol_invariants_feature",
      "num": 1822,
      "name": "protocol_invariants_feature",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1822_protocol_invariants_feature.py",
      "read_script": "generator/df-reads-spark-iceberg/1822_protocol_invariants_feature.sql",
      "description": "CHECK constraint backed by invariants writer feature.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1823_protocol_columnmapping_id",
      "num": 1823,
      "name": "protocol_columnmapping_id",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1823_protocol_columnmapping_id.py",
      "read_script": "generator/df-reads-spark-iceberg/1823_protocol_columnmapping_id.sql",
      "description": "Column mapping in 'id' mode (vs the more common 'name' mode).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1824_protocol_cdc_feature",
      "num": 1824,
      "name": "protocol_cdc_feature",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1824_protocol_cdc_feature.py",
      "read_script": "generator/df-reads-spark-iceberg/1824_protocol_cdc_feature.sql",
      "description": "Change Data Feed writer feature with explicit protocol promotion.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1825_protocol_check_constraints",
      "num": 1825,
      "name": "protocol_check_constraints",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1825_protocol_check_constraints.py",
      "read_script": "generator/df-reads-spark-iceberg/1825_protocol_check_constraints.sql",
      "description": "checkConstraints writer feature.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1826_protocol_multiple_features",
      "num": 1826,
      "name": "protocol_multiple_features",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1826_protocol_multiple_features.py",
      "read_script": "generator/df-reads-spark-iceberg/1826_protocol_multiple_features.sql",
      "description": "Multiple writer features active simultaneously: deletion vectors,",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1827_protocol_minimal",
      "num": 1827,
      "name": "protocol_minimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1827_protocol_minimal.py",
      "read_script": "generator/df-reads-spark-iceberg/1827_protocol_minimal.sql",
      "description": "Minimal protocol with no extra features. DELETE/UPDATE",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1828_protocol_evolution_upgrade",
      "num": 1828,
      "name": "protocol_evolution_upgrade",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1828_protocol_evolution_upgrade.py",
      "read_script": "generator/df-reads-spark-iceberg/1828_protocol_evolution_upgrade.sql",
      "description": "Auto-upgrade of protocol when ADD CONSTRAINT triggers the",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1829_protocol_with_partition",
      "num": 1829,
      "name": "protocol_with_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1829_protocol_with_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1829_protocol_with_partition.sql",
      "description": "Multiple protocol features combined with a partitioned table:",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/182_row_tracking",
      "num": 182,
      "name": "row_tracking",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/182_row_tracking.py",
      "read_script": "generator/df-reads-spark-iceberg/182_row_tracking.sql",
      "description": "- Row tracking enabled via ALTER TABLE - Deletion vectors enabled - Multiple operations: INSERT, UPDATE, DELETE, MERGE",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "dml:overwrite",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1830_protocol_full_lifecycle",
      "num": 1830,
      "name": "protocol_full_lifecycle",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1830_protocol_full_lifecycle.py",
      "read_script": "generator/df-reads-spark-iceberg/1830_protocol_full_lifecycle.sql",
      "description": "Full DML lifecycle with all major Delta features enabled:",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1831_aggregated_cdc",
      "num": 1831,
      "name": "aggregated_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1831_aggregated_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1831_aggregated_cdc.sql",
      "description": "GROUP BY aggregated INSERT into a CDC-enabled table.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1832_aggregated_partition",
      "num": 1832,
      "name": "aggregated_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1832_aggregated_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1832_aggregated_partition.sql",
      "description": "GROUP BY aggregated INSERT into a partitioned table.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1833_aggregated_decimal",
      "num": 1833,
      "name": "aggregated_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1833_aggregated_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/1833_aggregated_decimal.sql",
      "description": "GROUP BY with DECIMAL aggregation; SUM preserves precision.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1834_aggregated_then_update",
      "num": 1834,
      "name": "aggregated_then_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1834_aggregated_then_update.py",
      "read_script": "generator/df-reads-spark-iceberg/1834_aggregated_then_update.sql",
      "description": "Aggregated INSERT followed by UPDATE on the aggregated rows.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1835_aggregated_then_delete",
      "num": 1835,
      "name": "aggregated_then_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1835_aggregated_then_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/1835_aggregated_then_delete.sql",
      "description": "Aggregated INSERT followed by DELETE filtering aggregated rows.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1836_aggregated_then_merge",
      "num": 1836,
      "name": "aggregated_then_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1836_aggregated_then_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/1836_aggregated_then_merge.sql",
      "description": "Aggregated INSERT followed by MERGE (matched UPDATE,",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1837_window_partition_typed",
      "num": 1837,
      "name": "window_partition_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1837_window_partition_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1837_window_partition_typed.sql",
      "description": "Window function ROW_NUMBER over PARTITION BY with explicit",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1838_window_then_dml",
      "num": 1838,
      "name": "window_then_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1838_window_then_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/1838_window_then_dml.sql",
      "description": "INSERT with window function, then UPDATE/DELETE filtering",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1839_aggregation_partition_cdc",
      "num": 1839,
      "name": "aggregation_partition_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1839_aggregation_partition_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1839_aggregation_partition_cdc.sql",
      "description": "Three-way combination -- aggregated INSERT into a partitioned",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/183_streaming_read",
      "num": 183,
      "name": "streaming_read",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/183_streaming_read.py",
      "read_script": "generator/df-reads-spark-iceberg/183_streaming_read.sql",
      "description": "- Streaming read compatible operations - Deletion vectors enabled - Multiple INSERT, UPDATE, DELETE operations",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1840_aggregation_constraint",
      "num": 1840,
      "name": "aggregation_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1840_aggregation_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/1840_aggregation_constraint.sql",
      "description": "Aggregated INSERT into a constrained table; constraint added",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1841_aggregation_evolution",
      "num": 1841,
      "name": "aggregation_evolution",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1841_aggregation_evolution.py",
      "read_script": "generator/df-reads-spark-iceberg/1841_aggregation_evolution.sql",
      "description": "Aggregated INSERT, schema evolution (ADD COLUMN), then more",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1842_aggregation_decimal_partition",
      "num": 1842,
      "name": "aggregation_decimal_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1842_aggregation_decimal_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1842_aggregation_decimal_partition.sql",
      "description": "Aggregated DECIMAL INSERT into a partitioned table.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1843_aggregation_count_decimal",
      "num": 1843,
      "name": "aggregation_count_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1843_aggregation_count_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/1843_aggregation_count_decimal.sql",
      "description": "Aggregated INSERT combining COUNT(*) and DECIMAL SUM.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1844_aggregation_max_min",
      "num": 1844,
      "name": "aggregation_max_min",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1844_aggregation_max_min.py",
      "read_script": "generator/df-reads-spark-iceberg/1844_aggregation_max_min.sql",
      "description": "Aggregated INSERT with MIN, MAX, and AVG aggregates.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1845_window_running_sum",
      "num": 1845,
      "name": "window_running_sum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1845_window_running_sum.py",
      "read_script": "generator/df-reads-spark-iceberg/1845_window_running_sum.sql",
      "description": "INSERT with running sum window function.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1846_window_dense_rank_typed",
      "num": 1846,
      "name": "window_dense_rank_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1846_window_dense_rank_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1846_window_dense_rank_typed.sql",
      "description": "DENSE_RANK window over a typed INT column.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1847_aggregation_having_typed",
      "num": 1847,
      "name": "aggregation_having_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1847_aggregation_having_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1847_aggregation_having_typed.sql",
      "description": "GROUP BY + HAVING with typed DECIMAL output column.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1848_distinct_typed_combo",
      "num": 1848,
      "name": "distinct_typed_combo",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1848_distinct_typed_combo.py",
      "read_script": "generator/df-reads-spark-iceberg/1848_distinct_typed_combo.sql",
      "description": "SELECT DISTINCT across typed columns (INT + DECIMAL + BOOLEAN).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1849_subquery_aggregated",
      "num": 1849,
      "name": "subquery_aggregated",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1849_subquery_aggregated.py",
      "read_script": "generator/df-reads-spark-iceberg/1849_subquery_aggregated.sql",
      "description": "INSERT from a subquery wrapping an aggregation.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/184_streaming_write",
      "num": 184,
      "name": "streaming_write",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/184_streaming_write.py",
      "read_script": "generator/df-reads-spark-iceberg/184_streaming_write.sql",
      "description": "Streaming write simulation with append-only semantics Multiple micro-batches creating multiple versions EVENT_TYPES = [\"click\", \"view\", \"purchase\", \"cart_add\", \"wishlist\"] BASE_TIMESTAMP = 1704067200000000 (2024-01-01T00:00:00Z)",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1850_aggregation_ultimate",
      "num": 1850,
      "name": "aggregation_ultimate",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1850_aggregation_ultimate.py",
      "read_script": "generator/df-reads-spark-iceberg/1850_aggregation_ultimate.sql",
      "description": "ULTIMATE aggregation test combining GROUP BY + HAVING +",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1851_like_basic",
      "num": 1851,
      "name": "like_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1851_like_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/1851_like_basic.sql",
      "description": "DELETE WHERE name LIKE 'item_1%'.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1852_like_underscore",
      "num": 1852,
      "name": "like_underscore",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1852_like_underscore.py",
      "read_script": "generator/df-reads-spark-iceberg/1852_like_underscore.sql",
      "description": "LIKE with single-character _ wildcard.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1853_like_escape",
      "num": 1853,
      "name": "like_escape",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1853_like_escape.py",
      "read_script": "generator/df-reads-spark-iceberg/1853_like_escape.sql",
      "description": "LIKE 'val10%' which matches val10, val100..val109 (11 rows).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1854_like_start",
      "num": 1854,
      "name": "like_start",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1854_like_start.py",
      "read_script": "generator/df-reads-spark-iceberg/1854_like_start.sql",
      "description": "LIKE 'prefix%' (anchored prefix match).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1855_like_end",
      "num": 1855,
      "name": "like_end",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1855_like_end.py",
      "read_script": "generator/df-reads-spark-iceberg/1855_like_end.sql",
      "description": "LIKE '%suffix' anchored suffix match used in UPDATE WHERE.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1856_like_middle",
      "num": 1856,
      "name": "like_middle",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1856_like_middle.py",
      "read_script": "generator/df-reads-spark-iceberg/1856_like_middle.sql",
      "description": "LIKE '%middle%' substring match.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1857_like_in_update",
      "num": 1857,
      "name": "like_in_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1857_like_in_update.py",
      "read_script": "generator/df-reads-spark-iceberg/1857_like_in_update.sql",
      "description": "UPDATE WHERE name LIKE 'item_1%' sets tier='premium'.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1858_like_in_merge",
      "num": 1858,
      "name": "like_in_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1858_like_in_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/1858_like_in_merge.sql",
      "description": "MERGE with LIKE in WHEN MATCHED conditional branches.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1859_not_like",
      "num": 1859,
      "name": "not_like",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1859_not_like.py",
      "read_script": "generator/df-reads-spark-iceberg/1859_not_like.sql",
      "description": "DELETE WHERE name NOT LIKE 'keep_%'.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/185_cdf_consume",
      "num": 185,
      "name": "cdf_consume",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/185_cdf_consume.py",
      "read_script": "generator/df-reads-spark-iceberg/185_cdf_consume.sql",
      "description": "Change Data Feed (CDF) enabled table INSERT, UPDATE, DELETE, and MERGE operations STATUSES = [\"active\", \"inactive\", \"pending\"]",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1860_like_partition",
      "num": 1860,
      "name": "like_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1860_like_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1860_like_partition.sql",
      "description": "LIKE predicate combined with partition predicate.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1861_like_cdc",
      "num": 1861,
      "name": "like_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1861_like_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1861_like_cdc.sql",
      "description": "LIKE-based DELETE on a CDC-enabled table.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1862_starts_with",
      "num": 1862,
      "name": "starts_with",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1862_starts_with.py",
      "read_script": "generator/df-reads-spark-iceberg/1862_starts_with.sql",
      "description": "STARTS_WITH(name, 'item_1') prefix predicate.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1863_ends_with",
      "num": 1863,
      "name": "ends_with",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1863_ends_with.py",
      "read_script": "generator/df-reads-spark-iceberg/1863_ends_with.sql",
      "description": "Suffix match via LIKE '%_done'.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1864_contains_like",
      "num": 1864,
      "name": "contains_like",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1864_contains_like.py",
      "read_script": "generator/df-reads-spark-iceberg/1864_contains_like.sql",
      "description": "WHERE LIKE '%substring%' contains-style match.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1865_position_substring",
      "num": 1865,
      "name": "position_substring",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1865_position_substring.py",
      "read_script": "generator/df-reads-spark-iceberg/1865_position_substring.sql",
      "description": "SUBSTRING + LENGTH used to extract first/last characters.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1866_length_predicate",
      "num": 1866,
      "name": "length_predicate",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1866_length_predicate.py",
      "read_script": "generator/df-reads-spark-iceberg/1866_length_predicate.sql",
      "description": "DELETE WHERE LENGTH(name) BETWEEN 6 AND 7.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1867_string_concat_predicate",
      "num": 1867,
      "name": "string_concat_predicate",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1867_string_concat_predicate.py",
      "read_script": "generator/df-reads-spark-iceberg/1867_string_concat_predicate.sql",
      "description": "CONCAT in WHERE predicate.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1868_upper_predicate",
      "num": 1868,
      "name": "upper_predicate",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1868_upper_predicate.py",
      "read_script": "generator/df-reads-spark-iceberg/1868_upper_predicate.sql",
      "description": "DELETE WHERE UPPER(name) = literal.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1869_lower_predicate",
      "num": 1869,
      "name": "lower_predicate",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1869_lower_predicate.py",
      "read_script": "generator/df-reads-spark-iceberg/1869_lower_predicate.sql",
      "description": "DELETE WHERE LOWER(category) = literal.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/186_true_concurrent",
      "num": 186,
      "name": "true_concurrent",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/186_true_concurrent.py",
      "read_script": "generator/df-reads-spark-iceberg/186_true_concurrent.sql",
      "description": "- True concurrent write simulation with multiple versions - UPDATE and DELETE operations with deletion vectors - OCC conflict detection testing",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "robust:concurrent-writes",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1870_string_compare_partition",
      "num": 1870,
      "name": "string_compare_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1870_string_compare_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1870_string_compare_partition.sql",
      "description": "String comparison in UPDATE on partitioned table.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1871_like_evolve",
      "num": 1871,
      "name": "like_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1871_like_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/1871_like_evolve.sql",
      "description": "LIKE predicate after schema evolution adds a new column.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1872_like_constraint",
      "num": 1872,
      "name": "like_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1872_like_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/1872_like_constraint.sql",
      "description": "LIKE predicate combined with a CHECK constraint on score.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1873_like_zorder",
      "num": 1873,
      "name": "like_zorder",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1873_like_zorder.py",
      "read_script": "generator/df-reads-spark-iceberg/1873_like_zorder.sql",
      "description": "LIKE-based DELETE followed by OPTIMIZE ZORDER BY (score).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1874_like_vacuum",
      "num": 1874,
      "name": "like_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1874_like_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/1874_like_vacuum.sql",
      "description": "LIKE-based DELETE on multi-batch table, then OPTIMIZE + VACUUM.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1875_string_function_lifecycle",
      "num": 1875,
      "name": "string_function_lifecycle",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1875_string_function_lifecycle.py",
      "read_script": "generator/df-reads-spark-iceberg/1875_string_function_lifecycle.sql",
      "description": "String functions across the full DML lifecycle.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1876_year_extract",
      "num": 1876,
      "name": "year_extract",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1876_year_extract.py",
      "read_script": "generator/df-reads-spark-iceberg/1876_year_extract.sql",
      "description": "YEAR() function applied to TIMESTAMP via UPDATE.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1877_month_extract",
      "num": 1877,
      "name": "month_extract",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1877_month_extract.py",
      "read_script": "generator/df-reads-spark-iceberg/1877_month_extract.sql",
      "description": "MONTH() function applied to TIMESTAMP via UPDATE.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1878_day_extract",
      "num": 1878,
      "name": "day_extract",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1878_day_extract.py",
      "read_script": "generator/df-reads-spark-iceberg/1878_day_extract.sql",
      "description": "DAY() function applied to TIMESTAMP via UPDATE.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1879_year_month_day",
      "num": 1879,
      "name": "year_month_day",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1879_year_month_day.py",
      "read_script": "generator/df-reads-spark-iceberg/1879_year_month_day.sql",
      "description": "YEAR/MONTH/DAY in a single UPDATE statement.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/187_large_files",
      "num": 187,
      "name": "large_files",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/187_large_files.py",
      "read_script": "generator/df-reads-spark-iceberg/187_large_files.sql",
      "description": "Large file handling with 100K+ rows UPDATE and DELETE operations on large datasets Large string payloads (200 chars each)",
      "status": "pass",
      "duration_ms": 92,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 92,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1880_year_in_where",
      "num": 1880,
      "name": "year_in_where",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1880_year_in_where.py",
      "read_script": "generator/df-reads-spark-iceberg/1880_year_in_where.sql",
      "description": "YEAR() in DELETE WHERE clause.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1881_extract_year",
      "num": 1881,
      "name": "extract_year",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1881_extract_year.py",
      "read_script": "generator/df-reads-spark-iceberg/1881_extract_year.sql",
      "description": "EXTRACT(YEAR FROM date).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1882_extract_month",
      "num": 1882,
      "name": "extract_month",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1882_extract_month.py",
      "read_script": "generator/df-reads-spark-iceberg/1882_extract_month.sql",
      "description": "EXTRACT(MONTH FROM date).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1883_extract_day",
      "num": 1883,
      "name": "extract_day",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1883_extract_day.py",
      "read_script": "generator/df-reads-spark-iceberg/1883_extract_day.sql",
      "description": "EXTRACT(DAY FROM date).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1884_date_diff",
      "num": 1884,
      "name": "date_diff",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1884_date_diff.py",
      "read_script": "generator/df-reads-spark-iceberg/1884_date_diff.sql",
      "description": "DATEDIFF(end, start) returning days between two dates.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1885_date_add_function",
      "num": 1885,
      "name": "date_add_function",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1885_date_add_function.py",
      "read_script": "generator/df-reads-spark-iceberg/1885_date_add_function.sql",
      "description": "DATE_ADD(base_date, 30) producing a future date.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1886_date_sub_function",
      "num": 1886,
      "name": "date_sub_function",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1886_date_sub_function.py",
      "read_script": "generator/df-reads-spark-iceberg/1886_date_sub_function.sql",
      "description": "DATE_SUB(base_date, 7) producing a past date.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1887_to_date",
      "num": 1887,
      "name": "to_date",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1887_to_date.py",
      "read_script": "generator/df-reads-spark-iceberg/1887_to_date.sql",
      "description": "TO_DATE(string) parsing date string into DATE.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1888_to_timestamp",
      "num": 1888,
      "name": "to_timestamp",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1888_to_timestamp.py",
      "read_script": "generator/df-reads-spark-iceberg/1888_to_timestamp.sql",
      "description": "TO_TIMESTAMP(string) parsing timestamp string.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1889_date_format",
      "num": 1889,
      "name": "date_format",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1889_date_format.py",
      "read_script": "generator/df-reads-spark-iceberg/1889_date_format.sql",
      "description": "DATE_FORMAT(date, 'yyyy-MM-dd') for output formatting.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:date",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/188_many_files",
      "num": 188,
      "name": "many_files",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/188_many_files.py",
      "read_script": "generator/df-reads-spark-iceberg/188_many_files.sql",
      "description": "Many files interoperability testing (200+ small files) 100 initial rows (batch=0) + 100 batches of 20 rows each UPDATE, DELETE, and OPTIMIZE operations",
      "status": "pass",
      "duration_ms": 45,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 45,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1890_year_in_update_set",
      "num": 1890,
      "name": "year_in_update_set",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1890_year_in_update_set.py",
      "read_script": "generator/df-reads-spark-iceberg/1890_year_in_update_set.sql",
      "description": "YEAR() inside CONCAT in UPDATE SET expression.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1891_month_filter_partition",
      "num": 1891,
      "name": "month_filter_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1891_month_filter_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1891_month_filter_partition.sql",
      "description": "MONTH() in DELETE WHERE on partitioned table.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1892_year_filter_cdc",
      "num": 1892,
      "name": "year_filter_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1892_year_filter_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1892_year_filter_cdc.sql",
      "description": "YEAR() in DELETE WHERE on a CDC-enabled table.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1893_date_arithmetic",
      "num": 1893,
      "name": "date_arithmetic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1893_date_arithmetic.py",
      "read_script": "generator/df-reads-spark-iceberg/1893_date_arithmetic.sql",
      "description": "Date offset stored as integer days_old without function calls.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1894_date_in_partition",
      "num": 1894,
      "name": "date_in_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1894_date_in_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1894_date_in_partition.sql",
      "description": "DATE column with derived integer partition column.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:date",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1895_timestamp_minute_extract",
      "num": 1895,
      "name": "timestamp_minute_extract",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1895_timestamp_minute_extract.py",
      "read_script": "generator/df-reads-spark-iceberg/1895_timestamp_minute_extract.sql",
      "description": "HOUR() function applied to TIMESTAMP.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1896_date_function_chain",
      "num": 1896,
      "name": "date_function_chain",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1896_date_function_chain.py",
      "read_script": "generator/df-reads-spark-iceberg/1896_date_function_chain.sql",
      "description": "Chained date functions YEAR/MONTH composed with CONCAT.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:date",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1897_date_in_merge",
      "num": 1897,
      "name": "date_in_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1897_date_in_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/1897_date_in_merge.sql",
      "description": "YEAR() in MERGE WHEN MATCHED conditional branch.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1898_date_function_constraint",
      "num": 1898,
      "name": "date_function_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1898_date_function_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/1898_date_function_constraint.sql",
      "description": "CHECK constraint comparing event_date to a constant Date32 floor.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1899_date_extract_evolve",
      "num": 1899,
      "name": "date_extract_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1899_date_extract_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/1899_date_extract_evolve.sql",
      "description": "ALTER ADD COLUMN year_val followed by UPDATE using YEAR().",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/189_photon_engine",
      "num": 189,
      "name": "photon_engine",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/189_photon_engine.py",
      "read_script": "generator/df-reads-spark-iceberg/189_photon_engine.sql",
      "description": "Photon engine interoperability testing Large dataset (5000+ rows), UPDATE/DELETE with DVs",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/18_action_txn_idempotent_writes",
      "num": 18,
      "name": "action_txn_idempotent_writes",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/18_action_txn_idempotent_writes.py",
      "read_script": "generator/df-reads-spark-iceberg/18_action_txn_idempotent_writes.sql",
      "description": "Transaction IDs prevent duplicate payment processing during failures and retries.",
      "status": "pass",
      "duration_ms": 29,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:46:06.533780+00:00",
      "read_cold_ms": 29,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/18_insert_union_all",
      "num": 18,
      "name": "insert_union_all",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/18_insert_union_all.py",
      "read_script": "generator/df-reads-spark-iceberg/18_insert_union_all.sql",
      "description": "100 rows from two batches unioned into one table. batch_a (ids 1..50): source='batch_a', amount=round(id*1.11, 2), active=true batch_b (ids 51..100): source='batch_b', amount=round((id-50)*2.22, 2), active=false",
      "status": "pass",
      "duration_ms": 53,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:46:06.533780+00:00",
      "read_cold_ms": 53,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1900_date_lifecycle",
      "num": 1900,
      "name": "date_lifecycle",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1900_date_lifecycle.py",
      "read_script": "generator/df-reads-spark-iceberg/1900_date_lifecycle.sql",
      "description": "Date functions across full DML lifecycle (INSERT, UPDATE, DELETE, MERGE).",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1901_ctas_basic",
      "num": 1901,
      "name": "ctas_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1901_ctas_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/1901_ctas_basic.sql",
      "description": "CREATE TABLE AS SELECT (CTAS) with simple types.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1902_ctas_typed",
      "num": 1902,
      "name": "ctas_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1902_ctas_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1902_ctas_typed.sql",
      "description": "CTAS with multiple column types (BIGINT, STRING, INT, DECIMAL).",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1903_ctas_partitioned",
      "num": 1903,
      "name": "ctas_partitioned",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1903_ctas_partitioned.py",
      "read_script": "generator/df-reads-spark-iceberg/1903_ctas_partitioned.sql",
      "description": "CTAS into partitioned table (partitioned by region).",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1904_ctas_with_aggregation",
      "num": 1904,
      "name": "ctas_with_aggregation",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1904_ctas_with_aggregation.py",
      "read_script": "generator/df-reads-spark-iceberg/1904_ctas_with_aggregation.sql",
      "description": "CTAS from an aggregated (GROUP BY) query.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1905_ctas_then_dml",
      "num": 1905,
      "name": "ctas_then_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1905_ctas_then_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/1905_ctas_then_dml.sql",
      "description": "CTAS followed by subsequent INSERT and UPDATE DML.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1906_truncate_basic",
      "num": 1906,
      "name": "truncate_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1906_truncate_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/1906_truncate_basic.sql",
      "description": "TRUNCATE TABLE removing all rows, then re-insert.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:truncate",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1907_truncate_typed",
      "num": 1907,
      "name": "truncate_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1907_truncate_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1907_truncate_typed.sql",
      "description": "TRUNCATE TABLE on a table with multiple types.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "dml:truncate",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1908_truncate_then_zorder",
      "num": 1908,
      "name": "truncate_then_zorder",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1908_truncate_then_zorder.py",
      "read_script": "generator/df-reads-spark-iceberg/1908_truncate_then_zorder.sql",
      "description": "TRUNCATE, multi-batch re-insert, then OPTIMIZE ZORDER BY.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:truncate",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1909_truncate_partition",
      "num": 1909,
      "name": "truncate_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1909_truncate_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1909_truncate_partition.sql",
      "description": "TRUNCATE on a partitioned table.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:truncate",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/190_corrupt_log",
      "num": 190,
      "name": "corrupt_log",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/190_corrupt_log.py",
      "read_script": "generator/df-reads-spark-iceberg/190_corrupt_log.sql",
      "description": "Corrupt transaction log recovery testing Multiple versions with checkpoint triggers Deletion vectors enabled",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1910_truncate_cdc",
      "num": 1910,
      "name": "truncate_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1910_truncate_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1910_truncate_cdc.sql",
      "description": "TRUNCATE on a CDC-enabled table. CDF should capture the",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:truncate",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1911_set_tblproperties_cdc",
      "num": 1911,
      "name": "set_tblproperties_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1911_set_tblproperties_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1911_set_tblproperties_cdc.sql",
      "description": "Enable CDC mid-life via ALTER TABLE SET TBLPROPERTIES.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1912_set_tblproperties_dv",
      "num": 1912,
      "name": "set_tblproperties_dv",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1912_set_tblproperties_dv.py",
      "read_script": "generator/df-reads-spark-iceberg/1912_set_tblproperties_dv.sql",
      "description": "Enable deletion vectors mid-life via ALTER TABLE SET TBLPROPERTIES.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1913_set_tblproperties_appendonly",
      "num": 1913,
      "name": "set_tblproperties_appendonly",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1913_set_tblproperties_appendonly.py",
      "read_script": "generator/df-reads-spark-iceberg/1913_set_tblproperties_appendonly.sql",
      "description": "Enable delta.appendOnly mid-life. After SET, UPDATE/DELETE",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1914_unset_tblproperties",
      "num": 1914,
      "name": "unset_tblproperties",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1914_unset_tblproperties.py",
      "read_script": "generator/df-reads-spark-iceberg/1914_unset_tblproperties.sql",
      "description": "ALTER TABLE UNSET TBLPROPERTIES. Removing a property mid-life.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1915_alter_column_int_to_bigint",
      "num": 1915,
      "name": "alter_column_int_to_bigint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1915_alter_column_int_to_bigint.py",
      "read_script": "generator/df-reads-spark-iceberg/1915_alter_column_int_to_bigint.sql",
      "description": "Type widening via ALTER TABLE ... CHANGE COLUMN val val BIGINT.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:type-widening",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1916_alter_column_int_to_long",
      "num": 1916,
      "name": "alter_column_int_to_long",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1916_alter_column_int_to_long.py",
      "read_script": "generator/df-reads-spark-iceberg/1916_alter_column_int_to_long.sql",
      "description": "Type widening using ALTER COLUMN ... SET DATA TYPE syntax.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:type-widening",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1917_drop_constraint_then_violate",
      "num": 1917,
      "name": "drop_constraint_then_violate",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1917_drop_constraint_then_violate.py",
      "read_script": "generator/df-reads-spark-iceberg/1917_drop_constraint_then_violate.sql",
      "description": "ADD CONSTRAINT, INSERT valid, DROP CONSTRAINT, INSERT",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1918_set_tblproperties_partition",
      "num": 1918,
      "name": "set_tblproperties_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1918_set_tblproperties_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1918_set_tblproperties_partition.sql",
      "description": "SET TBLPROPERTIES on a partitioned table mid-life.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1919_set_then_unset",
      "num": 1919,
      "name": "set_then_unset",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1919_set_then_unset.py",
      "read_script": "generator/df-reads-spark-iceberg/1919_set_then_unset.sql",
      "description": "SET followed by UNSET TBLPROPERTIES in sequence.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/191_partial_checkpoint",
      "num": 191,
      "name": "partial_checkpoint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/191_partial_checkpoint.py",
      "read_script": "generator/df-reads-spark-iceberg/191_partial_checkpoint.sql",
      "description": "Partial checkpoint write handling and recovery CATEGORIES = [\"electronics\", \"clothing\", \"home\", \"sports\", \"books\", \"toys\"]",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1920_alter_column_widen_with_dml",
      "num": 1920,
      "name": "alter_column_widen_with_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1920_alter_column_widen_with_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/1920_alter_column_widen_with_dml.sql",
      "description": "ALTER COLUMN type widening followed by UPDATE/DELETE",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "schema:type-widening",
        "scale:large-dataset",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1921_alter_column_widen_partition",
      "num": 1921,
      "name": "alter_column_widen_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1921_alter_column_widen_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1921_alter_column_widen_partition.sql",
      "description": "ALTER COLUMN type widening on a partitioned table.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1922_drop_constraint_chain",
      "num": 1922,
      "name": "drop_constraint_chain",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1922_drop_constraint_chain.py",
      "read_script": "generator/df-reads-spark-iceberg/1922_drop_constraint_chain.sql",
      "description": "Multiple constraints, sequential DROP CONSTRAINT calls.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1923_set_tblproperties_multiple",
      "num": 1923,
      "name": "set_tblproperties_multiple",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1923_set_tblproperties_multiple.py",
      "read_script": "generator/df-reads-spark-iceberg/1923_set_tblproperties_multiple.sql",
      "description": "Setting multiple properties in a single ALTER TABLE.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1924_ctas_with_constraint",
      "num": 1924,
      "name": "ctas_with_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1924_ctas_with_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/1924_ctas_with_constraint.sql",
      "description": "CTAS followed by adding a CHECK constraint and more inserts.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1925_ddl_lifecycle",
      "num": 1925,
      "name": "ddl_lifecycle",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1925_ddl_lifecycle.py",
      "read_script": "generator/df-reads-spark-iceberg/1925_ddl_lifecycle.sql",
      "description": "Full DDL lifecycle in one table: CTAS + ADD CONSTRAINT",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1926_insert_zero_rows",
      "num": 1926,
      "name": "insert_zero_rows",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1926_insert_zero_rows.py",
      "read_script": "generator/df-reads-spark-iceberg/1926_insert_zero_rows.sql",
      "description": "INSERT statement that produces zero rows via WHERE clause.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1927_insert_one_row",
      "num": 1927,
      "name": "insert_one_row",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1927_insert_one_row.py",
      "read_script": "generator/df-reads-spark-iceberg/1927_insert_one_row.sql",
      "description": "Single-row INSERT, then full DML lifecycle against 1 row.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1928_insert_two_rows",
      "num": 1928,
      "name": "insert_two_rows",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1928_insert_two_rows.py",
      "read_script": "generator/df-reads-spark-iceberg/1928_insert_two_rows.sql",
      "description": "Exactly 2-row INSERT, UPDATE 1, DELETE 1, then INSERT 1.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1929_insert_then_zero_match_dml",
      "num": 1929,
      "name": "insert_then_zero_match_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1929_insert_then_zero_match_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/1929_insert_then_zero_match_dml.sql",
      "description": "INSERT then UPDATE/DELETE/MERGE with zero matches.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/192_clock_skew",
      "num": 192,
      "name": "clock_skew",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/192_clock_skew.py",
      "read_script": "generator/df-reads-spark-iceberg/192_clock_skew.sql",
      "description": "Clock skew handling in commit logs Create table with deletion vectors enabled",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1930_insert_max_int_count",
      "num": 1930,
      "name": "insert_max_int_count",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1930_insert_max_int_count.py",
      "read_script": "generator/df-reads-spark-iceberg/1930_insert_max_int_count.sql",
      "description": "INSERT exactly 256 rows (power-of-2 boundary).",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1931_insert_512_rows",
      "num": 1931,
      "name": "insert_512_rows",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1931_insert_512_rows.py",
      "read_script": "generator/df-reads-spark-iceberg/1931_insert_512_rows.sql",
      "description": "INSERT exactly 512 rows (power-of-2 boundary).",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1932_insert_1024_rows",
      "num": 1932,
      "name": "insert_1024_rows",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1932_insert_1024_rows.py",
      "read_script": "generator/df-reads-spark-iceberg/1932_insert_1024_rows.sql",
      "description": "INSERT exactly 1024 rows (power-of-2 boundary).",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1933_insert_4096_rows",
      "num": 1933,
      "name": "insert_4096_rows",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1933_insert_4096_rows.py",
      "read_script": "generator/df-reads-spark-iceberg/1933_insert_4096_rows.sql",
      "description": "INSERT exactly 4096 rows (page size boundary).",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1934_insert_8191_rows",
      "num": 1934,
      "name": "insert_8191_rows",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1934_insert_8191_rows.py",
      "read_script": "generator/df-reads-spark-iceberg/1934_insert_8191_rows.sql",
      "description": "INSERT exactly 8191 rows (just under page boundary 8192).",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1935_insert_8192_rows",
      "num": 1935,
      "name": "insert_8192_rows",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1935_insert_8192_rows.py",
      "read_script": "generator/df-reads-spark-iceberg/1935_insert_8192_rows.sql",
      "description": "INSERT exactly 8192 rows (exact page boundary).",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1936_dv_max_size",
      "num": 1936,
      "name": "dv_max_size",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1936_dv_max_size.py",
      "read_script": "generator/df-reads-spark-iceberg/1936_dv_max_size.sql",
      "description": "Large DELETE with deletion vectors -- tests DV bitmap",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1937_pushdown_proof_int",
      "num": 1937,
      "name": "pushdown_proof_int",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1937_pushdown_proof_int.py",
      "read_script": "generator/df-reads-spark-iceberg/1937_pushdown_proof_int.sql",
      "description": "Predicate pushdown proof on an INT column.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1938_pushdown_proof_decimal",
      "num": 1938,
      "name": "pushdown_proof_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1938_pushdown_proof_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/1938_pushdown_proof_decimal.sql",
      "description": "Predicate pushdown proof on a DECIMAL column.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1939_explain_after_insert",
      "num": 1939,
      "name": "explain_after_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1939_explain_after_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/1939_explain_after_insert.sql",
      "description": "Table for df.filter().explain() verification after multi-batch insert.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/193_file_atomicity",
      "num": 193,
      "name": "file_atomicity",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/193_file_atomicity.py",
      "read_script": "generator/df-reads-spark-iceberg/193_file_atomicity.sql",
      "description": "File rename atomicity testing amount = (100 + ((i * 83) % 99901)) / 100.0",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1940_files_read_metric",
      "num": 1940,
      "name": "files_read_metric",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1940_files_read_metric.py",
      "read_script": "generator/df-reads-spark-iceberg/1940_files_read_metric.sql",
      "description": "File skipping by Delta statistics. 5 disjoint score batches",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1941_parquet_direct_read",
      "num": 1941,
      "name": "parquet_direct_read",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1941_parquet_direct_read.py",
      "read_script": "generator/df-reads-spark-iceberg/1941_parquet_direct_read.sql",
      "description": "Table where verification script reads the underlying Parquet",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1942_zero_row_after_delete",
      "num": 1942,
      "name": "zero_row_after_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1942_zero_row_after_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/1942_zero_row_after_delete.sql",
      "description": "DELETE all rows, then verify 0 rows are readable.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1943_one_row_per_batch",
      "num": 1943,
      "name": "one_row_per_batch",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1943_one_row_per_batch.py",
      "read_script": "generator/df-reads-spark-iceberg/1943_one_row_per_batch.sql",
      "description": "Extreme fragmentation -- 100 sequential INSERT batches",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1944_50_batches_typed",
      "num": 1944,
      "name": "50_batches_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1944_50_batches_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/1944_50_batches_typed.sql",
      "description": "50 INSERT batches of 10 rows each with multiple types.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "scale:many-batches",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1945_verify_pushed_filters",
      "num": 1945,
      "name": "verify_pushed_filters",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1945_verify_pushed_filters.py",
      "read_script": "generator/df-reads-spark-iceberg/1945_verify_pushed_filters.sql",
      "description": "Table for PushedFilters plan-text verification.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1946_verify_files_skipped",
      "num": 1946,
      "name": "verify_files_skipped",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1946_verify_files_skipped.py",
      "read_script": "generator/df-reads-spark-iceberg/1946_verify_files_skipped.sql",
      "description": "File skipping reduces the number of files read.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1947_verify_format_v2",
      "num": 1947,
      "name": "verify_format_v2",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1947_verify_format_v2.py",
      "read_script": "generator/df-reads-spark-iceberg/1947_verify_format_v2.sql",
      "description": "Table that uses Delta v2 features (deletion vectors).",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "iceberg:format-version",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1948_long_table_history",
      "num": 1948,
      "name": "long_table_history",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1948_long_table_history.py",
      "read_script": "generator/df-reads-spark-iceberg/1948_long_table_history.sql",
      "description": "30+ versions for history depth testing. Verification script",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1949_alternating_dml",
      "num": 1949,
      "name": "alternating_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1949_alternating_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/1949_alternating_dml.sql",
      "description": "Alternating DML pattern (INSERT, UPDATE, INSERT, UPDATE,",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/194_partitioned_write",
      "num": 194,
      "name": "partitioned_write",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/194_partitioned_write.py",
      "read_script": "generator/df-reads-spark-iceberg/194_partitioned_write.sql",
      "description": "Partitioned table with Hive-style partitioning PARTITIONED BY (region) 50 rows distributed across us-east, us-west, eu-west BASE_TIMESTAMP = 1717200000000000 (2024-06-01T00:00:00Z) REGIONS = [\"us-east\", \"us-west\", \"eu-west\"]",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1950_ultimate_size_test",
      "num": 1950,
      "name": "ultimate_size_test",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1950_ultimate_size_test.py",
      "read_script": "generator/df-reads-spark-iceberg/1950_ultimate_size_test.sql",
      "description": "Ultimate stress test combining large INSERT, UPDATE, DELETE,",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1951_ict_enable_basic",
      "num": 1951,
      "name": "ict_enable_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1951_ict_enable_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/1951_ict_enable_basic.sql",
      "description": "ICT enabled at table creation, basic INSERT.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1952_ict_monotonic_after_dml",
      "num": 1952,
      "name": "ict_monotonic_after_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1952_ict_monotonic_after_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/1952_ict_monotonic_after_dml.sql",
      "description": "ICT timestamps strictly increase across INSERT, UPDATE, DELETE.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1953_ict_with_partition",
      "num": 1953,
      "name": "ict_with_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1953_ict_with_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1953_ict_with_partition.sql",
      "description": "ICT + PARTITIONED BY region (4 partitions).",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1954_ict_with_cdc",
      "num": 1954,
      "name": "ict_with_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1954_ict_with_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1954_ict_with_cdc.sql",
      "description": "ICT + Change Data Feed enabled.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1955_ict_after_optimize",
      "num": 1955,
      "name": "ict_after_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1955_ict_after_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/1955_ict_after_optimize.sql",
      "description": "ICT preserved across OPTIMIZE compaction.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1956_ict_with_dv",
      "num": 1956,
      "name": "ict_with_dv",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1956_ict_with_dv.py",
      "read_script": "generator/df-reads-spark-iceberg/1956_ict_with_dv.sql",
      "description": "ICT + Deletion Vectors with predicate DELETE.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1957_ict_time_travel_by_timestamp",
      "num": 1957,
      "name": "ict_time_travel_by_timestamp",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1957_ict_time_travel_by_timestamp.py",
      "read_script": "generator/df-reads-spark-iceberg/1957_ict_time_travel_by_timestamp.sql",
      "description": "ICT enables time travel by timestamp readability.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1958_ict_after_restore",
      "num": 1958,
      "name": "ict_after_restore",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1958_ict_after_restore.py",
      "read_script": "generator/df-reads-spark-iceberg/1958_ict_after_restore.sql",
      "description": "ICT + RESTORE. Verify ICT preserved after restore.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:time-travel",
        "iceberg:snapshots",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1959_rowtrack_enable_basic",
      "num": 1959,
      "name": "rowtrack_enable_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1959_rowtrack_enable_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/1959_rowtrack_enable_basic.sql",
      "description": "Row tracking enabled, basic INSERT.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/195_partition_pruning",
      "num": 195,
      "name": "partition_pruning",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/195_partition_pruning.py",
      "read_script": "generator/df-reads-spark-iceberg/195_partition_pruning.sql",
      "description": "120 rows (10 per region, 12 regions)",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1960_rowtrack_after_update",
      "num": 1960,
      "name": "rowtrack_after_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1960_rowtrack_after_update.py",
      "read_script": "generator/df-reads-spark-iceberg/1960_rowtrack_after_update.sql",
      "description": "Row tracking + UPDATE preserves row IDs.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1961_rowtrack_after_merge",
      "num": 1961,
      "name": "rowtrack_after_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1961_rowtrack_after_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/1961_rowtrack_after_merge.sql",
      "description": "Row tracking + MERGE inserting 20 new rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1962_rowtrack_with_optimize",
      "num": 1962,
      "name": "rowtrack_with_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1962_rowtrack_with_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/1962_rowtrack_with_optimize.sql",
      "description": "Row tracking + OPTIMIZE preserves row IDs.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1963_rowtrack_with_dv",
      "num": 1963,
      "name": "rowtrack_with_dv",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1963_rowtrack_with_dv.py",
      "read_script": "generator/df-reads-spark-iceberg/1963_rowtrack_with_dv.sql",
      "description": "Row tracking + DV with predicate DELETE.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1964_rowtrack_partition",
      "num": 1964,
      "name": "rowtrack_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1964_rowtrack_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1964_rowtrack_partition.sql",
      "description": "Row tracking + PARTITIONED BY (4 partitions).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1965_v2_checkpoint_basic",
      "num": 1965,
      "name": "v2_checkpoint_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1965_v2_checkpoint_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/1965_v2_checkpoint_basic.sql",
      "description": "V2 checkpoint policy with 10 small INSERTs of 10.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1966_v2_checkpoint_multi_sidecar",
      "num": 1966,
      "name": "v2_checkpoint_multi_sidecar",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1966_v2_checkpoint_multi_sidecar.py",
      "read_script": "generator/df-reads-spark-iceberg/1966_v2_checkpoint_multi_sidecar.sql",
      "description": "V2 checkpoint with 20 small INSERTs to encourage multi-sidecar.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:checkpoint-sidecar",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1967_v2_checkpoint_after_vacuum",
      "num": 1967,
      "name": "v2_checkpoint_after_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1967_v2_checkpoint_after_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/1967_v2_checkpoint_after_vacuum.sql",
      "description": "V2 checkpoint + INSERT/UPDATE/DELETE + VACUUM RETAIN 0.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1968_v2_checkpoint_after_optimize",
      "num": 1968,
      "name": "v2_checkpoint_after_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1968_v2_checkpoint_after_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/1968_v2_checkpoint_after_optimize.sql",
      "description": "V2 checkpoint + 8 INSERTs + OPTIMIZE compaction.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1969_v2_checkpoint_uuid_naming",
      "num": 1969,
      "name": "v2_checkpoint_uuid_naming",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1969_v2_checkpoint_uuid_naming.py",
      "read_script": "generator/df-reads-spark-iceberg/1969_v2_checkpoint_uuid_naming.sql",
      "description": "V2 checkpoint files use UUID naming convention.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/196_statistics_roundtrip",
      "num": 196,
      "name": "statistics_roundtrip",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/196_statistics_roundtrip.py",
      "read_script": "generator/df-reads-spark-iceberg/196_statistics_roundtrip.sql",
      "description": "CHAOS TEST WORKFLOW (Statistics and Data Skipping Interop): This test verifies that DeltaForge correctly writes statistics that DBX can use for data skipping (file pruning). Critical for query performance.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "storage:statistics",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1970_drop_col_basic_colmap",
      "num": 1970,
      "name": "drop_col_basic_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1970_drop_col_basic_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/1970_drop_col_basic_colmap.sql",
      "description": "Basic ALTER TABLE DROP COLUMN with column mapping enabled.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "schema:drop-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1971_drop_col_then_dml",
      "num": 1971,
      "name": "drop_col_then_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1971_drop_col_then_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/1971_drop_col_then_dml.sql",
      "description": "DROP COLUMN followed by UPDATE and DELETE on remaining columns.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "schema:drop-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1972_drop_col_then_optimize",
      "num": 1972,
      "name": "drop_col_then_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1972_drop_col_then_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/1972_drop_col_then_optimize.sql",
      "description": "DROP COLUMN after multiple INSERT batches, then OPTIMIZE.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:optimize",
        "schema:drop-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1973_drop_col_then_zorder",
      "num": 1973,
      "name": "drop_col_then_zorder",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1973_drop_col_then_zorder.py",
      "read_script": "generator/df-reads-spark-iceberg/1973_drop_col_then_zorder.sql",
      "description": "DROP COLUMN followed by OPTIMIZE ZORDER BY remaining column.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "schema:drop-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1974_drop_col_with_cdc",
      "num": 1974,
      "name": "drop_col_with_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1974_drop_col_with_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1974_drop_col_with_cdc.sql",
      "description": "DROP COLUMN on table with CDF enabled, then more INSERTs.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "schema:drop-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1975_drop_col_partitioned",
      "num": 1975,
      "name": "drop_col_partitioned",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1975_drop_col_partitioned.py",
      "read_script": "generator/df-reads-spark-iceberg/1975_drop_col_partitioned.sql",
      "description": "DROP COLUMN on a partitioned table (drop a non-partition column).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "schema:drop-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1976_drop_col_chain_three",
      "num": 1976,
      "name": "drop_col_chain_three",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1976_drop_col_chain_three.py",
      "read_script": "generator/df-reads-spark-iceberg/1976_drop_col_chain_three.sql",
      "description": "Three sequential DROP COLUMN operations.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:drop-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1977_drop_col_then_add_same_name",
      "num": 1977,
      "name": "drop_col_then_add_same_name",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1977_drop_col_then_add_same_name.py",
      "read_script": "generator/df-reads-spark-iceberg/1977_drop_col_then_add_same_name.sql",
      "description": "DROP a column then ADD it back with the same name (different physical id).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "schema:drop-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1978_gencol_basic_arith",
      "num": 1978,
      "name": "gencol_basic_arith",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1978_gencol_basic_arith.py",
      "read_script": "generator/df-reads-spark-iceberg/1978_gencol_basic_arith.sql",
      "description": "Basic arithmetic generated column c = a + b.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1979_gencol_string_concat",
      "num": 1979,
      "name": "gencol_string_concat",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1979_gencol_string_concat.py",
      "read_script": "generator/df-reads-spark-iceberg/1979_gencol_string_concat.sql",
      "description": "String generated column full = CONCAT(first, ' ', last).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/197_nested_schema_modify",
      "num": 197,
      "name": "nested_schema_modify",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/197_nested_schema_modify.py",
      "read_script": "generator/df-reads-spark-iceberg/197_nested_schema_modify.sql",
      "description": "CHAOS TEST WORKFLOW (Nested Schema UPDATE/DELETE/MERGE): This test verifies DeltaForge can correctly modify data in deeply nested struct fields. Critical for real-world schemas with complex structures.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:array",
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "type:struct",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1980_gencol_date_extract",
      "num": 1980,
      "name": "gencol_date_extract",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1980_gencol_date_extract.py",
      "read_script": "generator/df-reads-spark-iceberg/1980_gencol_date_extract.sql",
      "description": "Generated column extracting YEAR from a TIMESTAMP.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1981_gencol_after_update",
      "num": 1981,
      "name": "gencol_after_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1981_gencol_after_update.py",
      "read_script": "generator/df-reads-spark-iceberg/1981_gencol_after_update.sql",
      "description": "Generated column auto-recomputed after UPDATE on base column.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1982_gencol_partition_key",
      "num": 1982,
      "name": "gencol_partition_key",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1982_gencol_partition_key.py",
      "read_script": "generator/df-reads-spark-iceberg/1982_gencol_partition_key.sql",
      "description": "Generated column used as a partition key (id_bucket = id % 6).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:generated-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1983_gencol_with_constraint",
      "num": 1983,
      "name": "gencol_with_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1983_gencol_with_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/1983_gencol_with_constraint.sql",
      "description": "Generated column combined with a CHECK constraint on it.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1984_gencol_with_cdc",
      "num": 1984,
      "name": "gencol_with_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1984_gencol_with_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/1984_gencol_with_cdc.sql",
      "description": "Generated column combined with Change Data Feed.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1985_gencol_decimal_calc",
      "num": 1985,
      "name": "gencol_decimal_calc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1985_gencol_decimal_calc.py",
      "read_script": "generator/df-reads-spark-iceberg/1985_gencol_decimal_calc.sql",
      "description": "Generated column with decimal arithmetic (price * qty).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1986_widen_byte_to_short",
      "num": 1986,
      "name": "widen_byte_to_short",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1986_widen_byte_to_short.py",
      "read_script": "generator/df-reads-spark-iceberg/1986_widen_byte_to_short.sql",
      "description": "Type widening from TINYINT (byte) to SMALLINT (short).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:integer",
        "dml:insert",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1987_widen_short_to_int",
      "num": 1987,
      "name": "widen_short_to_int",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1987_widen_short_to_int.py",
      "read_script": "generator/df-reads-spark-iceberg/1987_widen_short_to_int.sql",
      "description": "Type widening from SMALLINT to INT.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:integer",
        "dml:insert",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1988_widen_int_to_long_partition",
      "num": 1988,
      "name": "widen_int_to_long_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1988_widen_int_to_long_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/1988_widen_int_to_long_partition.sql",
      "description": "Type widening INT -> BIGINT on a partitioned (non-key) column.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1989_widen_float_to_double",
      "num": 1989,
      "name": "widen_float_to_double",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1989_widen_float_to_double.py",
      "read_script": "generator/df-reads-spark-iceberg/1989_widen_float_to_double.sql",
      "description": "Type widening FLOAT -> DOUBLE.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/198_map_array_types",
      "num": 198,
      "name": "map_array_types",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/198_map_array_types.py",
      "read_script": "generator/df-reads-spark-iceberg/198_map_array_types.sql",
      "description": "CHAOS TEST WORKFLOW (Complex Type Operations): This test verifies DeltaForge can correctly handle Map<K,V> and Array<T> types during INSERT/UPDATE/DELETE operations. Critical for document-style data.",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:array",
        "type:floating",
        "type:integer",
        "type:map",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1990_widen_decimal_scale_up",
      "num": 1990,
      "name": "widen_decimal_scale_up",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1990_widen_decimal_scale_up.py",
      "read_script": "generator/df-reads-spark-iceberg/1990_widen_decimal_scale_up.sql",
      "description": "Type widening DECIMAL(10,2) -> DECIMAL(20,2) (precision up).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1991_widen_decimal_precision",
      "num": 1991,
      "name": "widen_decimal_precision",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1991_widen_decimal_precision.py",
      "read_script": "generator/df-reads-spark-iceberg/1991_widen_decimal_precision.sql",
      "description": "Type widening DECIMAL(8,2) -> DECIMAL(18,2).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1992_widen_then_optimize",
      "num": 1992,
      "name": "widen_then_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1992_widen_then_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/1992_widen_then_optimize.sql",
      "description": "INT -> BIGINT widening followed by OPTIMIZE compaction",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:optimize",
        "schema:type-widening",
        "scale:large-dataset",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1993_widen_then_zorder",
      "num": 1993,
      "name": "widen_then_zorder",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1993_widen_then_zorder.py",
      "read_script": "generator/df-reads-spark-iceberg/1993_widen_then_zorder.sql",
      "description": "INT -> BIGINT widening followed by OPTIMIZE ZORDER BY widened col.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1994_collation_unicode_basic",
      "num": 1994,
      "name": "collation_unicode_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1994_collation_unicode_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/1994_collation_unicode_basic.sql",
      "description": "Enable collations table feature; INSERT 50 string rows.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1995_collation_case_insensitive",
      "num": 1995,
      "name": "collation_case_insensitive",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1995_collation_case_insensitive.py",
      "read_script": "generator/df-reads-spark-iceberg/1995_collation_case_insensitive.sql",
      "description": "Collations feature enabled; 50 rows with mixed-case strings.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1996_collation_filter_pushdown",
      "num": 1996,
      "name": "collation_filter_pushdown",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1996_collation_filter_pushdown.py",
      "read_script": "generator/df-reads-spark-iceberg/1996_collation_filter_pushdown.sql",
      "description": "Collations feature + DELETE WHERE col = literal (filter pushdown path).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1997_collation_with_zorder",
      "num": 1997,
      "name": "collation_with_zorder",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1997_collation_with_zorder.py",
      "read_script": "generator/df-reads-spark-iceberg/1997_collation_with_zorder.sql",
      "description": "Collations feature + OPTIMIZE ZORDER BY string column.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1998_collation_partition_key",
      "num": 1998,
      "name": "collation_partition_key",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1998_collation_partition_key.py",
      "read_script": "generator/df-reads-spark-iceberg/1998_collation_partition_key.sql",
      "description": "Collations feature on a partitioned table; partition key is STRING.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/1999_collation_after_dml",
      "num": 1999,
      "name": "collation_after_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/1999_collation_after_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/1999_collation_after_dml.sql",
      "description": "Collations feature + INSERT/UPDATE/DELETE workflow.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/199_log_compaction",
      "num": 199,
      "name": "log_compaction",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/199_log_compaction.py",
      "read_script": "generator/df-reads-spark-iceberg/199_log_compaction.sql",
      "description": "CHAOS TEST WORKFLOW (Log Compaction/Checkpointing): This test verifies that DeltaForge-triggered log compaction (checkpointing) creates checkpoints that DBX can correctly read. Critical for large tables.",
      "status": "pass",
      "duration_ms": 21,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 21,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:log-compaction",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/19_action_protocol_version_upgrade",
      "num": 19,
      "name": "action_protocol_version_upgrade",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/19_action_protocol_version_upgrade.py",
      "read_script": "generator/df-reads-spark-iceberg/19_action_protocol_version_upgrade.sql",
      "description": "Demonstrates protocol version upgrade action with CDC and column mapping features.",
      "status": "pass",
      "duration_ms": 31,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:46:06.533780+00:00",
      "read_cold_ms": 31,
      "read_warm_ms": 19,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "delta:change-data-feed",
        "delta:column-mapping",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/19_insert_cross_join_typed",
      "num": 19,
      "name": "insert_cross_join_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/19_insert_cross_join_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/19_insert_cross_join_typed.sql",
      "description": "150 rows with region and product derived from modular arithmetic on id.",
      "status": "pass",
      "duration_ms": 66,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:46:06.533780+00:00",
      "read_cold_ms": 66,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2000_domain_clustering_basic",
      "num": 2000,
      "name": "domain_clustering_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2000_domain_clustering_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/2000_domain_clustering_basic.sql",
      "description": "Domain metadata feature enabled + CLUSTER BY clustering domain.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2001_domain_clustering_after_optimize",
      "num": 2001,
      "name": "domain_clustering_after_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2001_domain_clustering_after_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/2001_domain_clustering_after_optimize.sql",
      "description": "CLUSTER BY + multiple INSERT batches + OPTIMIZE.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2002_domain_rowtrack_combined",
      "num": 2002,
      "name": "domain_rowtrack_combined",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2002_domain_rowtrack_combined.py",
      "read_script": "generator/df-reads-spark-iceberg/2002_domain_rowtrack_combined.sql",
      "description": "domainMetadata + rowTracking features together with CLUSTER BY.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2003_domain_persist_through_restore",
      "num": 2003,
      "name": "domain_persist_through_restore",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2003_domain_persist_through_restore.py",
      "read_script": "generator/df-reads-spark-iceberg/2003_domain_persist_through_restore.sql",
      "description": "Domain metadata persists through RESTORE TO VERSION.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2004_identity_after_optimize",
      "num": 2004,
      "name": "identity_after_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2004_identity_after_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/2004_identity_after_optimize.sql",
      "description": "IDENTITY column with 5 batched INSERTs of 20 rows each",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "delta:identity-columns",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2005_identity_after_merge_insert",
      "num": 2005,
      "name": "identity_after_merge_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2005_identity_after_merge_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/2005_identity_after_merge_insert.sql",
      "description": "IDENTITY column with INSERT 50 followed by a MERGE that",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:default-values",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2006_identity_with_partition",
      "num": 2006,
      "name": "identity_with_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2006_identity_with_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/2006_identity_with_partition.sql",
      "description": "IDENTITY column with PARTITIONED BY region. 80 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "delta:identity-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2007_identity_after_restore",
      "num": 2007,
      "name": "identity_after_restore",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2007_identity_after_restore.py",
      "read_script": "generator/df-reads-spark-iceberg/2007_identity_after_restore.sql",
      "description": "IDENTITY column with INSERT 100 rows (V0->V1), DELETE 30",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "delta:identity-columns",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2008_identity_with_cdc",
      "num": 2008,
      "name": "identity_with_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2008_identity_with_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/2008_identity_with_cdc.sql",
      "description": "IDENTITY column with CDC enabled. INSERT 80 (ids 1..80),",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:default-values",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2009_identity_after_delete_resume",
      "num": 2009,
      "name": "identity_after_delete_resume",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2009_identity_after_delete_resume.py",
      "read_script": "generator/df-reads-spark-iceberg/2009_identity_after_delete_resume.sql",
      "description": "IDENTITY HWM continues across DELETE. INSERT 50 (ids 1..50),",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:default-values",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/200_time_travel_timestamp",
      "num": 200,
      "name": "time_travel_timestamp",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/200_time_travel_timestamp.py",
      "read_script": "generator/df-reads-spark-iceberg/200_time_travel_timestamp.sql",
      "description": "CHAOS TEST WORKFLOW (Time Travel by Timestamp): This test verifies DeltaForge correctly handles time travel queries using timestamps (not just versions). Critical for point-in-time recovery.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:time-travel",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2010_default_literal_after_evolve",
      "num": 2010,
      "name": "default_literal_after_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2010_default_literal_after_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/2010_default_literal_after_evolve.sql",
      "description": "ALTER TABLE ADD COLUMN with DEFAULT after rows already",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2011_default_expression_now",
      "num": 2011,
      "name": "default_expression_now",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2011_default_expression_now.py",
      "read_script": "generator/df-reads-spark-iceberg/2011_default_expression_now.sql",
      "description": "DEFAULT expression -- column with a fixed timestamp default",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2012_default_with_partition",
      "num": 2012,
      "name": "default_with_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2012_default_with_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/2012_default_with_partition.sql",
      "description": "Partitioned table with a non-partition column having a",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2013_default_with_constraint",
      "num": 2013,
      "name": "default_with_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2013_default_with_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/2013_default_with_constraint.sql",
      "description": "Column with both DEFAULT and a CHECK constraint. The default",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2014_default_in_merge_insert",
      "num": 2014,
      "name": "default_in_merge_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2014_default_in_merge_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/2014_default_in_merge_insert.sql",
      "description": "MERGE NOT MATCHED INSERT relies on a column with DEFAULT.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2015_default_decimal_value",
      "num": 2015,
      "name": "default_decimal_value",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2015_default_decimal_value.py",
      "read_script": "generator/df-reads-spark-iceberg/2015_default_decimal_value.sql",
      "description": "DEFAULT for a DECIMAL column. 50 rows: 30 omit price (use",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2016_ctas_with_cdc",
      "num": 2016,
      "name": "ctas_with_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2016_ctas_with_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/2016_ctas_with_cdc.sql",
      "description": "CTAS with TBLPROPERTIES enabling CDF. 100 rows from source.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2017_ctas_with_dv",
      "num": 2017,
      "name": "ctas_with_dv",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2017_ctas_with_dv.py",
      "read_script": "generator/df-reads-spark-iceberg/2017_ctas_with_dv.sql",
      "description": "CTAS with deletion vectors enabled, then DELETE 20 rows.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2018_ctas_with_colmap",
      "num": 2018,
      "name": "ctas_with_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2018_ctas_with_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/2018_ctas_with_colmap.sql",
      "description": "CTAS with column mapping mode = name. 80 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2019_ctas_from_filtered",
      "num": 2019,
      "name": "ctas_from_filtered",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2019_ctas_from_filtered.py",
      "read_script": "generator/df-reads-spark-iceberg/2019_ctas_from_filtered.sql",
      "description": "CTAS with WHERE filter -- source generates 100 rows but",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/201_special_partition_values",
      "num": 201,
      "name": "special_partition_values",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/201_special_partition_values.py",
      "read_script": "generator/df-reads-spark-iceberg/201_special_partition_values.sql",
      "description": "CHAOS TEST WORKFLOW (Special Characters in Partition Values):",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2020_ctas_then_evolve",
      "num": 2020,
      "name": "ctas_then_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2020_ctas_then_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/2020_ctas_then_evolve.sql",
      "description": "CTAS 80 rows then ALTER TABLE ADD COLUMN -- new column has",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2021_ctas_partitioned_typed",
      "num": 2021,
      "name": "ctas_partitioned_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2021_ctas_partitioned_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/2021_ctas_partitioned_typed.sql",
      "description": "CTAS into a partitioned table with multiple typed columns",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2022_truncate_then_insert",
      "num": 2022,
      "name": "truncate_then_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2022_truncate_then_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/2022_truncate_then_insert.sql",
      "description": "INSERT 100, TRUNCATE, INSERT 50 new. Final 50 rows.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:truncate",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2023_truncate_with_dv",
      "num": 2023,
      "name": "truncate_with_dv",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2023_truncate_with_dv.py",
      "read_script": "generator/df-reads-spark-iceberg/2023_truncate_with_dv.sql",
      "description": "DV table, INSERT 100, TRUNCATE. Final 0 rows.",
      "status": "pass",
      "duration_ms": 2,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 2,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:truncate",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2024_truncate_then_optimize",
      "num": 2024,
      "name": "truncate_then_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2024_truncate_then_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/2024_truncate_then_optimize.sql",
      "description": "INSERT 5 batches of 20, TRUNCATE, INSERT 30, OPTIMIZE.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:truncate",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2025_truncate_evolved_table",
      "num": 2025,
      "name": "truncate_evolved_table",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2025_truncate_evolved_table.py",
      "read_script": "generator/df-reads-spark-iceberg/2025_truncate_evolved_table.sql",
      "description": "INSERT 50, ALTER ADD COLUMN, INSERT 30, TRUNCATE, INSERT 20.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:truncate",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2026_truncate_chain_dml",
      "num": 2026,
      "name": "truncate_chain_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2026_truncate_chain_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/2026_truncate_chain_dml.sql",
      "description": "Chain of INSERT/TRUNCATE/INSERT/TRUNCATE/INSERT. Final 25.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:truncate",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2027_alter_col_drop_not_null",
      "num": 2027,
      "name": "alter_col_drop_not_null",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2027_alter_col_drop_not_null.py",
      "read_script": "generator/df-reads-spark-iceberg/2027_alter_col_drop_not_null.sql",
      "description": "ALTER COLUMN DROP NOT NULL allowing NULLs in subsequent inserts.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2028_alter_col_add_not_null",
      "num": 2028,
      "name": "alter_col_add_not_null",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2028_alter_col_add_not_null.py",
      "read_script": "generator/df-reads-spark-iceberg/2028_alter_col_add_not_null.sql",
      "description": "ALTER COLUMN SET NOT NULL on a previously nullable column.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2029_alter_col_set_default",
      "num": 2029,
      "name": "alter_col_set_default",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2029_alter_col_set_default.py",
      "read_script": "generator/df-reads-spark-iceberg/2029_alter_col_set_default.sql",
      "description": "ALTER COLUMN SET DEFAULT, then INSERT using the default.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/202_wide_schema",
      "num": 202,
      "name": "wide_schema",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/202_wide_schema.py",
      "read_script": "generator/df-reads-spark-iceberg/202_wide_schema.sql",
      "description": "Tests wide table handling with many columns of various types 100 rows, null pattern: every 10th row (row_id % 10 == 0) has NULL BASE_TIMESTAMP = 1704067200000000 (2024-01-01T00:00:00Z)",
      "status": "pass",
      "duration_ms": 562,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 562,
      "read_warm_ms": 291,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "scale:large-dataset",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2030_alter_col_drop_default",
      "num": 2030,
      "name": "alter_col_drop_default",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2030_alter_col_drop_default.py",
      "read_script": "generator/df-reads-spark-iceberg/2030_alter_col_drop_default.sql",
      "description": "ALTER COLUMN DROP DEFAULT.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2031_alter_col_widen_with_cdc",
      "num": 2031,
      "name": "alter_col_widen_with_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2031_alter_col_widen_with_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/2031_alter_col_widen_with_cdc.sql",
      "description": "int->bigint widen with CDC enabled, 80 rows.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "scale:large-dataset",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2032_alter_col_widen_decimal",
      "num": 2032,
      "name": "alter_col_widen_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2032_alter_col_widen_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/2032_alter_col_widen_decimal.sql",
      "description": "DECIMAL(10,2) -> DECIMAL(20,4) widening.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2033_alter_col_widen_chain",
      "num": 2033,
      "name": "alter_col_widen_chain",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2033_alter_col_widen_chain.py",
      "read_script": "generator/df-reads-spark-iceberg/2033_alter_col_widen_chain.sql",
      "description": "TINYINT -> SMALLINT -> INT -> BIGINT widening chain.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2034_alter_col_widen_partition_key",
      "num": 2034,
      "name": "alter_col_widen_partition_key",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2034_alter_col_widen_partition_key.py",
      "read_script": "generator/df-reads-spark-iceberg/2034_alter_col_widen_partition_key.sql",
      "description": "Widen INT partition key -> BIGINT, 80 rows across 4 partitions.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2035_set_tblprop_minfileretention",
      "num": 2035,
      "name": "set_tblprop_minfileretention",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2035_set_tblprop_minfileretention.py",
      "read_script": "generator/df-reads-spark-iceberg/2035_set_tblprop_minfileretention.sql",
      "description": "SET delta.logRetentionDuration on existing table.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2036_set_tblprop_targetfilesize",
      "num": 2036,
      "name": "set_tblprop_targetfilesize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2036_set_tblprop_targetfilesize.py",
      "read_script": "generator/df-reads-spark-iceberg/2036_set_tblprop_targetfilesize.sql",
      "description": "SET delta.targetFileSize then INSERT and OPTIMIZE.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2037_set_tblprop_checkpointinterval",
      "num": 2037,
      "name": "set_tblprop_checkpointinterval",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2037_set_tblprop_checkpointinterval.py",
      "read_script": "generator/df-reads-spark-iceberg/2037_set_tblprop_checkpointinterval.sql",
      "description": "SET delta.checkpointInterval=5, force 12 commits via small INSERTs.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2038_set_tblprop_autoOptimize",
      "num": 2038,
      "name": "set_tblprop_autoOptimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2038_set_tblprop_autoOptimize.py",
      "read_script": "generator/df-reads-spark-iceberg/2038_set_tblprop_autoOptimize.sql",
      "description": "SET delta.autoOptimize.optimizeWrite=true, then INSERT 100.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2039_unset_then_set_again",
      "num": 2039,
      "name": "unset_then_set_again",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2039_unset_then_set_again.py",
      "read_script": "generator/df-reads-spark-iceberg/2039_unset_then_set_again.sql",
      "description": "SET delta.enableChangeDataFeed=true, UNSET, then SET again.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/203_null_partition_values",
      "num": 203,
      "name": "null_partition_values",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/203_null_partition_values.py",
      "read_script": "generator/df-reads-spark-iceberg/203_null_partition_values.sql",
      "description": "CHAOS TEST WORKFLOW (NULL Values in Partition Columns): This test verifies DeltaForge correctly handles NULL values in partition columns. NULLs are stored in special __HIVE_DEFAULT_PARTITION__ directory.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2040_set_appendonly_then_violate",
      "num": 2040,
      "name": "set_appendonly_then_violate",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2040_set_appendonly_then_violate.py",
      "read_script": "generator/df-reads-spark-iceberg/2040_set_appendonly_then_violate.sql",
      "description": "SET delta.appendOnly=true; INSERT 50; subsequent INSERT works.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2041_uniform_iceberg_basic",
      "num": 2041,
      "name": "uniform_iceberg_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2041_uniform_iceberg_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/2041_uniform_iceberg_basic.sql",
      "description": "Cluster O - UniForm Iceberg basic Enable UniForm Iceberg, INSERT 50 rows, verify metadata.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2042_uniform_iceberg_after_dml",
      "num": 2042,
      "name": "uniform_iceberg_after_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2042_uniform_iceberg_after_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/2042_uniform_iceberg_after_dml.sql",
      "description": "Cluster O - UniForm Iceberg + DML INSERT 100, UPDATE 30, DELETE 20. Final: 80 rows.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2043_uniform_iceberg_partitioned",
      "num": 2043,
      "name": "uniform_iceberg_partitioned",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2043_uniform_iceberg_partitioned.py",
      "read_script": "generator/df-reads-spark-iceberg/2043_uniform_iceberg_partitioned.sql",
      "description": "Cluster O - UniForm Iceberg + PARTITIONED BY region 80 rows distributed across 4 regions.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2044_uniform_iceberg_after_optimize",
      "num": 2044,
      "name": "uniform_iceberg_after_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2044_uniform_iceberg_after_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/2044_uniform_iceberg_after_optimize.sql",
      "description": "Cluster O - UniForm Iceberg + 5 INSERTs of 20 + OPTIMIZE",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2045_uniform_iceberg_typed_columns",
      "num": 2045,
      "name": "uniform_iceberg_typed_columns",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2045_uniform_iceberg_typed_columns.py",
      "read_script": "generator/df-reads-spark-iceberg/2045_uniform_iceberg_typed_columns.sql",
      "description": "Cluster O - UniForm Iceberg with diverse column types 60 rows. INT, BIGINT, STRING, DECIMAL(10,2), DATE, TIMESTAMP, BOOLEAN.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2046_uniform_iceberg_evolution",
      "num": 2046,
      "name": "uniform_iceberg_evolution",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2046_uniform_iceberg_evolution.py",
      "read_script": "generator/df-reads-spark-iceberg/2046_uniform_iceberg_evolution.sql",
      "description": "Cluster O - UniForm Iceberg + schema evolution INSERT 50, ALTER ADD COLUMN extra, INSERT 30. Final: 80 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "iceberg:uniform",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2047_ict_rowtrack_combined",
      "num": 2047,
      "name": "ict_rowtrack_combined",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2047_ict_rowtrack_combined.py",
      "read_script": "generator/df-reads-spark-iceberg/2047_ict_rowtrack_combined.sql",
      "description": "Cluster P - ICT + rowTracking + INSERT 100 + UPDATE 30",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2048_gencol_rowtrack_optimize",
      "num": 2048,
      "name": "gencol_rowtrack_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2048_gencol_rowtrack_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/2048_gencol_rowtrack_optimize.sql",
      "description": "Cluster P - generated col + rowTracking + 5 INSERTs of 20 + OPTIMIZE",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2049_widen_evolve_cdc",
      "num": 2049,
      "name": "widen_evolve_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2049_widen_evolve_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/2049_widen_evolve_cdc.sql",
      "description": "Cluster P - type widening + ALTER ADD COLUMN + CDF INSERT 80, ALTER widen score INT->BIGINT, ALTER add col extra, INSERT 20.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "schema:add-column",
        "schema:type-widening",
        "scale:large-dataset",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/204_unicode_data",
      "num": 204,
      "name": "unicode_data",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/204_unicode_data.py",
      "read_script": "generator/df-reads-spark-iceberg/204_unicode_data.sql",
      "description": "UNICODE_SAMPLES[idx].3",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "type:unicode",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2050_domain_clustering_uniform",
      "num": 2050,
      "name": "domain_clustering_uniform",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2050_domain_clustering_uniform.py",
      "read_script": "generator/df-reads-spark-iceberg/2050_domain_clustering_uniform.sql",
      "description": "Cluster P - clustering domain + UniForm Iceberg + INSERT 80 Liquid clustering produces a domainMetadata action. Combined with UniForm.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:liquid-clustering",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2051_create_or_replace_basic",
      "num": 2051,
      "name": "create_or_replace_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2051_create_or_replace_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/2051_create_or_replace_basic.sql",
      "description": "CREATE OR REPLACE TABLE replaces existing table contents.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2052_create_or_replace_schema_change",
      "num": 2052,
      "name": "create_or_replace_schema_change",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2052_create_or_replace_schema_change.py",
      "read_script": "generator/df-reads-spark-iceberg/2052_create_or_replace_schema_change.sql",
      "description": "CREATE OR REPLACE with a different schema.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2053_create_or_replace_partitioned",
      "num": 2053,
      "name": "create_or_replace_partitioned",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2053_create_or_replace_partitioned.py",
      "read_script": "generator/df-reads-spark-iceberg/2053_create_or_replace_partitioned.sql",
      "description": "CREATE OR REPLACE adding partitioning.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2054_create_or_replace_with_cdc",
      "num": 2054,
      "name": "create_or_replace_with_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2054_create_or_replace_with_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/2054_create_or_replace_with_cdc.sql",
      "description": "CREATE OR REPLACE preserving CDC enable.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2055_drop_then_recreate_same_name",
      "num": 2055,
      "name": "drop_then_recreate_same_name",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2055_drop_then_recreate_same_name.py",
      "read_script": "generator/df-reads-spark-iceberg/2055_drop_then_recreate_same_name.sql",
      "description": "DROP TABLE then CREATE with same name at same location.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2056_alter_add_multi_column",
      "num": 2056,
      "name": "alter_add_multi_column",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2056_alter_add_multi_column.py",
      "read_script": "generator/df-reads-spark-iceberg/2056_alter_add_multi_column.sql",
      "description": "ALTER TABLE ADD COLUMNS with multiple columns at once.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2057_alter_add_column_after_position",
      "num": 2057,
      "name": "alter_add_column_after_position",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2057_alter_add_column_after_position.py",
      "read_script": "generator/df-reads-spark-iceberg/2057_alter_add_column_after_position.sql",
      "description": "ALTER TABLE ADD COLUMN with AFTER positioning.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2058_alter_add_column_first",
      "num": 2058,
      "name": "alter_add_column_first",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2058_alter_add_column_first.py",
      "read_script": "generator/df-reads-spark-iceberg/2058_alter_add_column_first.sql",
      "description": "ALTER TABLE ADD COLUMN with FIRST positioning.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2059_alter_drop_column_partition_safe",
      "num": 2059,
      "name": "alter_drop_column_partition_safe",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2059_alter_drop_column_partition_safe.py",
      "read_script": "generator/df-reads-spark-iceberg/2059_alter_drop_column_partition_safe.sql",
      "description": "ALTER TABLE DROP COLUMN on a non-partition column.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:partitioning",
        "schema:drop-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/205_idempotent_writes",
      "num": 205,
      "name": "idempotent_writes",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/205_idempotent_writes.py",
      "read_script": "generator/df-reads-spark-iceberg/205_idempotent_writes.sql",
      "description": "CHAOS TEST WORKFLOW (Idempotent/Exactly-Once Writes): This test verifies DeltaForge correctly implements the SetTransaction action for idempotent writes. Critical for streaming/exactly-once semantics.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2060_alter_rename_column_with_data",
      "num": 2060,
      "name": "alter_rename_column_with_data",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2060_alter_rename_column_with_data.py",
      "read_script": "generator/df-reads-spark-iceberg/2060_alter_rename_column_with_data.sql",
      "description": "ALTER TABLE RENAME COLUMN preserves all data.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:rename-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2061_alter_rename_then_add_same_name",
      "num": 2061,
      "name": "alter_rename_then_add_same_name",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2061_alter_rename_then_add_same_name.py",
      "read_script": "generator/df-reads-spark-iceberg/2061_alter_rename_then_add_same_name.sql",
      "description": "rename old col away, then add new col reusing the old name.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "schema:rename-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2062_alter_change_column_comment",
      "num": 2062,
      "name": "alter_change_column_comment",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2062_alter_change_column_comment.py",
      "read_script": "generator/df-reads-spark-iceberg/2062_alter_change_column_comment.sql",
      "description": "ALTER COLUMN ... COMMENT 'new comment'.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2063_alter_table_set_comment",
      "num": 2063,
      "name": "alter_table_set_comment",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2063_alter_table_set_comment.py",
      "read_script": "generator/df-reads-spark-iceberg/2063_alter_table_set_comment.sql",
      "description": "ALTER TABLE SET TBLPROPERTIES adding a comment property.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2064_alter_table_unset_property",
      "num": 2064,
      "name": "alter_table_unset_property",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2064_alter_table_unset_property.py",
      "read_script": "generator/df-reads-spark-iceberg/2064_alter_table_unset_property.sql",
      "description": "ALTER TABLE UNSET TBLPROPERTIES removing a custom property.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2065_create_table_with_column_comments",
      "num": 2065,
      "name": "create_table_with_column_comments",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2065_create_table_with_column_comments.py",
      "read_script": "generator/df-reads-spark-iceberg/2065_create_table_with_column_comments.sql",
      "description": "CREATE TABLE with COMMENT on each column.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2066_create_table_partitioned_three_keys",
      "num": 2066,
      "name": "create_table_partitioned_three_keys",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2066_create_table_partitioned_three_keys.py",
      "read_script": "generator/df-reads-spark-iceberg/2066_create_table_partitioned_three_keys.sql",
      "description": "PARTITIONED BY (a, b, c) -- three partition keys.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2067_create_partitioned_with_cdc",
      "num": 2067,
      "name": "create_partitioned_with_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2067_create_partitioned_with_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/2067_create_partitioned_with_cdc.sql",
      "description": "partitioned + CDC across multiple versions.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2068_create_partitioned_with_dv",
      "num": 2068,
      "name": "create_partitioned_with_dv",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2068_create_partitioned_with_dv.py",
      "read_script": "generator/df-reads-spark-iceberg/2068_create_partitioned_with_dv.sql",
      "description": "partitioned + DV deletes.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2069_create_table_all_numeric_types",
      "num": 2069,
      "name": "create_table_all_numeric_types",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2069_create_table_all_numeric_types.py",
      "read_script": "generator/df-reads-spark-iceberg/2069_create_table_all_numeric_types.sql",
      "description": "tinyint, smallint, int, bigint, float, double, decimal columns.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/206_auto_optimize_trigger",
      "num": 206,
      "name": "auto_optimize_trigger",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/206_auto_optimize_trigger.py",
      "read_script": "generator/df-reads-spark-iceberg/206_auto_optimize_trigger.sql",
      "description": "CHAOS TEST WORKFLOW (Auto-Optimize Trigger): This test verifies that DeltaForge's auto-optimize feature creates compacted files that Databricks can read correctly.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2070_create_table_all_string_types",
      "num": 2070,
      "name": "create_table_all_string_types",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2070_create_table_all_string_types.py",
      "read_script": "generator/df-reads-spark-iceberg/2070_create_table_all_string_types.sql",
      "description": "string, varchar, char, binary types.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:binary",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2071_create_table_all_datetime_types",
      "num": 2071,
      "name": "create_table_all_datetime_types",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2071_create_table_all_datetime_types.py",
      "read_script": "generator/df-reads-spark-iceberg/2071_create_table_all_datetime_types.sql",
      "description": "date, timestamp, timestamp_ntz columns.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:date",
        "type:integer",
        "type:timestamp",
        "type:timestamp-ntz",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2072_create_table_struct_three_levels",
      "num": 2072,
      "name": "create_table_struct_three_levels",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2072_create_table_struct_three_levels.py",
      "read_script": "generator/df-reads-spark-iceberg/2072_create_table_struct_three_levels.sql",
      "description": "3-level nested STRUCT column.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2073_create_table_array_of_struct",
      "num": 2073,
      "name": "create_table_array_of_struct",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2073_create_table_array_of_struct.py",
      "read_script": "generator/df-reads-spark-iceberg/2073_create_table_array_of_struct.sql",
      "description": "ARRAY<STRUCT<...>> column.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:array",
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2074_create_table_map_string_int",
      "num": 2074,
      "name": "create_table_map_string_int",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2074_create_table_map_string_int.py",
      "read_script": "generator/df-reads-spark-iceberg/2074_create_table_map_string_int.sql",
      "description": "MAP<STRING, INT> column.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:map",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2075_drop_recreate_with_same_features",
      "num": 2075,
      "name": "drop_recreate_with_same_features",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2075_drop_recreate_with_same_features.py",
      "read_script": "generator/df-reads-spark-iceberg/2075_drop_recreate_with_same_features.sql",
      "description": "DROP and recreate same name with CDC + partitioning preserved.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2076_merge_insert_only_clause",
      "num": 2076,
      "name": "merge_insert_only_clause",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2076_merge_insert_only_clause.py",
      "read_script": "generator/df-reads-spark-iceberg/2076_merge_insert_only_clause.sql",
      "description": "MERGE with WHEN NOT MATCHED THEN INSERT only (no MATCHED clause).",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2077_merge_update_only_clause",
      "num": 2077,
      "name": "merge_update_only_clause",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2077_merge_update_only_clause.py",
      "read_script": "generator/df-reads-spark-iceberg/2077_merge_update_only_clause.sql",
      "description": "MERGE with only WHEN MATCHED THEN UPDATE clause.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:merge",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2078_merge_delete_only_clause",
      "num": 2078,
      "name": "merge_delete_only_clause",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2078_merge_delete_only_clause.py",
      "read_script": "generator/df-reads-spark-iceberg/2078_merge_delete_only_clause.sql",
      "description": "MERGE with only WHEN MATCHED THEN DELETE clause.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2079_merge_three_clauses",
      "num": 2079,
      "name": "merge_three_clauses",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2079_merge_three_clauses.py",
      "read_script": "generator/df-reads-spark-iceberg/2079_merge_three_clauses.sql",
      "description": "MERGE with three clauses:",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/207_auto_optimize_high_throughput",
      "num": 207,
      "name": "auto_optimize_high_throughput",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/207_auto_optimize_high_throughput.py",
      "read_script": "generator/df-reads-spark-iceberg/207_auto_optimize_high_throughput.sql",
      "description": "CHAOS TEST WORKFLOW (Auto-Optimize High-Throughput): This test verifies that DeltaForge's auto-optimize handles high-throughput streaming scenarios where many small files are created rapidly.",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2080_merge_with_cdc_enabled",
      "num": 2080,
      "name": "merge_with_cdc_enabled",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2080_merge_with_cdc_enabled.py",
      "read_script": "generator/df-reads-spark-iceberg/2080_merge_with_cdc_enabled.sql",
      "description": "MERGE on a table with Change Data Feed enabled. CDF should",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:merge",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2081_merge_partitioned_target",
      "num": 2081,
      "name": "merge_partitioned_target",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2081_merge_partitioned_target.py",
      "read_script": "generator/df-reads-spark-iceberg/2081_merge_partitioned_target.sql",
      "description": "MERGE into a partitioned table.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2082_merge_with_constraints",
      "num": 2082,
      "name": "merge_with_constraints",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2082_merge_with_constraints.py",
      "read_script": "generator/df-reads-spark-iceberg/2082_merge_with_constraints.sql",
      "description": "MERGE on a table with a CHECK constraint. All MERGE values",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2083_merge_evolves_value",
      "num": 2083,
      "name": "merge_evolves_value",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2083_merge_evolves_value.py",
      "read_script": "generator/df-reads-spark-iceberg/2083_merge_evolves_value.sql",
      "description": "MERGE that updates a value column from a derived source expression",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:merge",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2084_merge_self_join",
      "num": 2084,
      "name": "merge_self_join",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2084_merge_self_join.py",
      "read_script": "generator/df-reads-spark-iceberg/2084_merge_self_join.sql",
      "description": "MERGE using the same table as the source via a subquery.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2085_merge_no_match_no_op",
      "num": 2085,
      "name": "merge_no_match_no_op",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2085_merge_no_match_no_op.py",
      "read_script": "generator/df-reads-spark-iceberg/2085_merge_no_match_no_op.sql",
      "description": "MERGE where source has no matching rows; ON predicate is",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2086_merge_all_match",
      "num": 2086,
      "name": "merge_all_match",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2086_merge_all_match.py",
      "read_script": "generator/df-reads-spark-iceberg/2086_merge_all_match.sql",
      "description": "MERGE where all source rows match all target rows.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2087_merge_then_optimize",
      "num": 2087,
      "name": "merge_then_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2087_merge_then_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/2087_merge_then_optimize.sql",
      "description": "MERGE followed by OPTIMIZE.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2088_merge_then_delete",
      "num": 2088,
      "name": "merge_then_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2088_merge_then_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/2088_merge_then_delete.sql",
      "description": "MERGE followed by DELETE.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2089_merge_then_update",
      "num": 2089,
      "name": "merge_then_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2089_merge_then_update.py",
      "read_script": "generator/df-reads-spark-iceberg/2089_merge_then_update.sql",
      "description": "MERGE followed by an UPDATE statement.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/208_auto_optimize_mixed",
      "num": 208,
      "name": "auto_optimize_mixed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/208_auto_optimize_mixed.py",
      "read_script": "generator/df-reads-spark-iceberg/208_auto_optimize_mixed.sql",
      "description": "CHAOS TEST WORKFLOW (Auto-Optimize Mixed Workload): This test verifies that DeltaForge's auto-optimize handles mixed INSERT/UPDATE/DELETE operations with deletion vectors.",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2090_merge_followed_by_truncate",
      "num": 2090,
      "name": "merge_followed_by_truncate",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2090_merge_followed_by_truncate.py",
      "read_script": "generator/df-reads-spark-iceberg/2090_merge_followed_by_truncate.sql",
      "description": "MERGE then TRUNCATE -> empty table.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "dml:truncate",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2091_merge_into_dv_table",
      "num": 2091,
      "name": "merge_into_dv_table",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2091_merge_into_dv_table.py",
      "read_script": "generator/df-reads-spark-iceberg/2091_merge_into_dv_table.sql",
      "description": "MERGE into a table that already has Deletion Vector tracked",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2092_merge_two_consecutive",
      "num": 2092,
      "name": "merge_two_consecutive",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2092_merge_two_consecutive.py",
      "read_script": "generator/df-reads-spark-iceberg/2092_merge_two_consecutive.sql",
      "description": "Two MERGE statements back to back.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2093_insert_update_delete_chain",
      "num": 2093,
      "name": "insert_update_delete_chain",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2093_insert_update_delete_chain.py",
      "read_script": "generator/df-reads-spark-iceberg/2093_insert_update_delete_chain.sql",
      "description": "Multi-statement DML chain INSERT 50 -> UPDATE 20 -> DELETE 10 -> INSERT 30.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2094_delete_then_merge_reinsert",
      "num": 2094,
      "name": "delete_then_merge_reinsert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2094_delete_then_merge_reinsert.py",
      "read_script": "generator/df-reads-spark-iceberg/2094_delete_then_merge_reinsert.sql",
      "description": "DELETE all rows then MERGE re-inserts the same ids.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2095_update_then_merge_overwrite",
      "num": 2095,
      "name": "update_then_merge_overwrite",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2095_update_then_merge_overwrite.py",
      "read_script": "generator/df-reads-spark-iceberg/2095_update_then_merge_overwrite.sql",
      "description": "UPDATE then MERGE that re-updates the same rows.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "dml:overwrite",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2096_merge_typed_decimal",
      "num": 2096,
      "name": "merge_typed_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2096_merge_typed_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/2096_merge_typed_decimal.sql",
      "description": "MERGE on a DECIMAL key column.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2097_merge_typed_string",
      "num": 2097,
      "name": "merge_typed_string",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2097_merge_typed_string.py",
      "read_script": "generator/df-reads-spark-iceberg/2097_merge_typed_string.sql",
      "description": "MERGE on a STRING key column.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2098_merge_typed_date",
      "num": 2098,
      "name": "merge_typed_date",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2098_merge_typed_date.py",
      "read_script": "generator/df-reads-spark-iceberg/2098_merge_typed_date.sql",
      "description": "MERGE on a DATE key column.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2099_merge_with_identity",
      "num": 2099,
      "name": "merge_with_identity",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2099_merge_with_identity.py",
      "read_script": "generator/df-reads-spark-iceberg/2099_merge_with_identity.sql",
      "description": "MERGE into a table with an IDENTITY column. Identity values",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/209_reorg_purge",
      "num": 209,
      "name": "reorg_purge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/209_reorg_purge.py",
      "read_script": "generator/df-reads-spark-iceberg/209_reorg_purge.sql",
      "description": "REORG PURGE operation for physically removing soft-deleted column data.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/20_action_commit_info_provenance",
      "num": 20,
      "name": "action_commit_info_provenance",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/20_action_commit_info_provenance.py",
      "read_script": "generator/df-reads-spark-iceberg/20_action_commit_info_provenance.sql",
      "description": "Demonstrates commitInfo with provenance information for regulatory compliance.",
      "status": "pass",
      "duration_ms": 42,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:46:06.533780+00:00",
      "read_cold_ms": 42,
      "read_warm_ms": 37,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "dml:overwrite",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/20_insert_large_typed",
      "num": 20,
      "name": "insert_large_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/20_insert_large_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/20_insert_large_typed.sql",
      "description": "5000 rows in a single large batch. Scale test for INSERT with diverse types.",
      "status": "pass",
      "duration_ms": 80,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:46:06.533780+00:00",
      "read_cold_ms": 80,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2100_merge_with_default",
      "num": 2100,
      "name": "merge_with_default",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2100_merge_with_default.py",
      "read_script": "generator/df-reads-spark-iceberg/2100_merge_with_default.sql",
      "description": "MERGE into a table where one column has a DEFAULT value, used",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2101_identity_basic_insert",
      "num": 2101,
      "name": "identity_basic_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2101_identity_basic_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/2101_identity_basic_insert.sql",
      "description": "GENERATED ALWAYS AS IDENTITY auto-generates monotonic ids.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2102_identity_by_default",
      "num": 2102,
      "name": "identity_by_default",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2102_identity_by_default.py",
      "read_script": "generator/df-reads-spark-iceberg/2102_identity_by_default.sql",
      "description": "GENERATED BY DEFAULT AS IDENTITY allows mixing user-supplied",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2103_identity_with_partition",
      "num": 2103,
      "name": "identity_with_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2103_identity_with_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/2103_identity_with_partition.sql",
      "description": "IDENTITY column on a partitioned table; partition column is",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2104_identity_after_delete",
      "num": 2104,
      "name": "identity_after_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2104_identity_after_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/2104_identity_after_delete.sql",
      "description": "IDENTITY values continue past previous high water mark even",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2105_identity_after_update",
      "num": 2105,
      "name": "identity_after_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2105_identity_after_update.py",
      "read_script": "generator/df-reads-spark-iceberg/2105_identity_after_update.sql",
      "description": "IDENTITY column values are preserved across UPDATE of OTHER",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2106_identity_with_cdc",
      "num": 2106,
      "name": "identity_with_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2106_identity_with_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/2106_identity_with_cdc.sql",
      "description": "IDENTITY column with Change Data Feed (CDF) enabled.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2107_identity_two_blocks",
      "num": 2107,
      "name": "identity_two_blocks",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2107_identity_two_blocks.py",
      "read_script": "generator/df-reads-spark-iceberg/2107_identity_two_blocks.sql",
      "description": "Two separate INSERT statements produce two identity blocks",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2108_identity_start_with",
      "num": 2108,
      "name": "identity_start_with",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2108_identity_start_with.py",
      "read_script": "generator/df-reads-spark-iceberg/2108_identity_start_with.sql",
      "description": "GENERATED ... AS IDENTITY (START WITH 100 INCREMENT BY 1).",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2109_identity_increment_by_5",
      "num": 2109,
      "name": "identity_increment_by_5",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2109_identity_increment_by_5.py",
      "read_script": "generator/df-reads-spark-iceberg/2109_identity_increment_by_5.sql",
      "description": "GENERATED ... AS IDENTITY (START WITH 1 INCREMENT BY 5).",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/210_reorg_checkpoint",
      "num": 210,
      "name": "reorg_checkpoint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/210_reorg_checkpoint.py",
      "read_script": "generator/df-reads-spark-iceberg/210_reorg_checkpoint.sql",
      "description": "REORG CHECKPOINT operation for forcing checkpoint creation.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2110_identity_optimize",
      "num": 2110,
      "name": "identity_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2110_identity_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/2110_identity_optimize.sql",
      "description": "identity column values survive OPTIMIZE compaction.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2111_default_literal_int",
      "num": 2111,
      "name": "default_literal_int",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2111_default_literal_int.py",
      "read_script": "generator/df-reads-spark-iceberg/2111_default_literal_int.sql",
      "description": "DEFAULT 42 on int column. INSERT omitting that column",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2112_default_literal_string",
      "num": 2112,
      "name": "default_literal_string",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2112_default_literal_string.py",
      "read_script": "generator/df-reads-spark-iceberg/2112_default_literal_string.sql",
      "description": "DEFAULT 'unknown' on STRING column.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2113_default_current_date",
      "num": 2113,
      "name": "default_current_date",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2113_default_current_date.py",
      "read_script": "generator/df-reads-spark-iceberg/2113_default_current_date.sql",
      "description": "DEFAULT CURRENT_DATE on a DATE column. Each new row",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:date",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2114_default_after_evolution",
      "num": 2114,
      "name": "default_after_evolution",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2114_default_after_evolution.py",
      "read_script": "generator/df-reads-spark-iceberg/2114_default_after_evolution.sql",
      "description": "ALTER TABLE ADD COLUMN x INT DEFAULT 0 mid-table-life.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2115_default_with_partition",
      "num": 2115,
      "name": "default_with_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2115_default_with_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/2115_default_with_partition.sql",
      "description": "DEFAULT value on a non-partition column of a partitioned table.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2116_default_with_constraint",
      "num": 2116,
      "name": "default_with_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2116_default_with_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/2116_default_with_constraint.sql",
      "description": "DEFAULT value combined with a CHECK constraint on the same",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2117_default_null_explicit",
      "num": 2117,
      "name": "default_null_explicit",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2117_default_null_explicit.py",
      "read_script": "generator/df-reads-spark-iceberg/2117_default_null_explicit.sql",
      "description": "DEFAULT NULL explicit on a nullable column. Inserts that",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2118_default_multiple_columns",
      "num": 2118,
      "name": "default_multiple_columns",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2118_default_multiple_columns.py",
      "read_script": "generator/df-reads-spark-iceberg/2118_default_multiple_columns.sql",
      "description": "DEFAULT on 3 columns simultaneously, all populated when",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2119_default_with_cdc",
      "num": 2119,
      "name": "default_with_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2119_default_with_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/2119_default_with_cdc.sql",
      "description": "DEFAULT column on a CDC-enabled table. Inserts apply default;",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/211_reorg_upgrade_uniform",
      "num": 211,
      "name": "reorg_upgrade_uniform",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/211_reorg_upgrade_uniform.py",
      "read_script": "generator/df-reads-spark-iceberg/211_reorg_upgrade_uniform.sql",
      "description": "REORG UPGRADE UNIFORM operation for adding Iceberg compatibility.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2120_gencol_concat",
      "num": 2120,
      "name": "gencol_concat",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2120_gencol_concat.py",
      "read_script": "generator/df-reads-spark-iceberg/2120_gencol_concat.sql",
      "description": "GENERATED ALWAYS AS (CONCAT(a, '_', b)) -- combined string col.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2121_gencol_arithmetic",
      "num": 2121,
      "name": "gencol_arithmetic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2121_gencol_arithmetic.py",
      "read_script": "generator/df-reads-spark-iceberg/2121_gencol_arithmetic.sql",
      "description": "GENERATED ALWAYS AS (a + b) on INT columns -> BIGINT result.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2122_gencol_year_from_date",
      "num": 2122,
      "name": "gencol_year_from_date",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2122_gencol_year_from_date.py",
      "read_script": "generator/df-reads-spark-iceberg/2122_gencol_year_from_date.sql",
      "description": "GENERATED ALWAYS AS (YEAR(event_date)) -- date extraction.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:date",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2123_gencol_with_partition",
      "num": 2123,
      "name": "gencol_with_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2123_gencol_with_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/2123_gencol_with_partition.sql",
      "description": "GENERATED column used as the PARTITION key. yr_part is",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:date",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:generated-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2124_gencol_after_update",
      "num": 2124,
      "name": "gencol_after_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2124_gencol_after_update.py",
      "read_script": "generator/df-reads-spark-iceberg/2124_gencol_after_update.sql",
      "description": "UPDATE on base column triggers recomputation of generated col.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2125_gencol_with_constraint",
      "num": 2125,
      "name": "gencol_with_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2125_gencol_with_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/2125_gencol_with_constraint.sql",
      "description": "GENERATED column + CHECK constraint on the generated value.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2126_zorder_single_int_col",
      "num": 2126,
      "name": "zorder_single_int_col",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2126_zorder_single_int_col.py",
      "read_script": "generator/df-reads-spark-iceberg/2126_zorder_single_int_col.sql",
      "description": "OPTIMIZE ZORDER BY single INT column. 100 rows.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2127_zorder_string_col",
      "num": 2127,
      "name": "zorder_string_col",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2127_zorder_string_col.py",
      "read_script": "generator/df-reads-spark-iceberg/2127_zorder_string_col.sql",
      "description": "OPTIMIZE ZORDER BY a STRING column. 80 rows.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2128_zorder_two_cols",
      "num": 2128,
      "name": "zorder_two_cols",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2128_zorder_two_cols.py",
      "read_script": "generator/df-reads-spark-iceberg/2128_zorder_two_cols.sql",
      "description": "OPTIMIZE ZORDER BY (a, b). 100 rows.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2129_zorder_after_delete",
      "num": 2129,
      "name": "zorder_after_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2129_zorder_after_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/2129_zorder_after_delete.sql",
      "description": "INSERT 100 rows, DELETE half, then OPTIMIZE ZORDER BY (score).",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/212_convert_parquet",
      "num": 212,
      "name": "convert_parquet",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/212_convert_parquet.py",
      "read_script": "generator/df-reads-spark-iceberg/212_convert_parquet.sql",
      "description": "CHAOS TEST WORKFLOW (CONVERT Parquet to Delta): The Rust generator creates raw Parquet files first, then converts to Delta. For the SQL version, we create a Delta table directly with the same data, since the final state should match.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2130_zorder_after_update",
      "num": 2130,
      "name": "zorder_after_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2130_zorder_after_update.py",
      "read_script": "generator/df-reads-spark-iceberg/2130_zorder_after_update.sql",
      "description": "INSERT 100, UPDATE some, then OPTIMIZE ZORDER BY (score).",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2131_zorder_partitioned_table",
      "num": 2131,
      "name": "zorder_partitioned_table",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2131_zorder_partitioned_table.py",
      "read_script": "generator/df-reads-spark-iceberg/2131_zorder_partitioned_table.sql",
      "description": "ZORDER on a partitioned table. ZORDER applies within each partition.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2132_zorder_with_cdc",
      "num": 2132,
      "name": "zorder_with_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2132_zorder_with_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/2132_zorder_with_cdc.sql",
      "description": "ZORDER on a CDC-enabled table. ZORDER must not emit CDF rows.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2133_optimize_compact_many_files",
      "num": 2133,
      "name": "optimize_compact_many_files",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2133_optimize_compact_many_files.py",
      "read_script": "generator/df-reads-spark-iceberg/2133_optimize_compact_many_files.sql",
      "description": "30 single-row INSERTs followed by OPTIMIZE -- file compaction proof.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2134_optimize_then_optimize",
      "num": 2134,
      "name": "optimize_then_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2134_optimize_then_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/2134_optimize_then_optimize.sql",
      "description": "OPTIMIZE twice in a row -- second should be a no-op or idempotent.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2135_optimize_after_truncate",
      "num": 2135,
      "name": "optimize_after_truncate",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2135_optimize_after_truncate.py",
      "read_script": "generator/df-reads-spark-iceberg/2135_optimize_after_truncate.sql",
      "description": "TRUNCATE then INSERT then OPTIMIZE.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:truncate",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2136_optimize_evolved_schema",
      "num": 2136,
      "name": "optimize_evolved_schema",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2136_optimize_evolved_schema.py",
      "read_script": "generator/df-reads-spark-iceberg/2136_optimize_evolved_schema.sql",
      "description": "ALTER ADD COLUMN then OPTIMIZE.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2137_optimize_with_constraint",
      "num": 2137,
      "name": "optimize_with_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2137_optimize_with_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/2137_optimize_with_constraint.sql",
      "description": "OPTIMIZE on a table with a CHECK constraint -- constraint preserved post-OPTIMIZE.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2138_vacuum_basic",
      "num": 2138,
      "name": "vacuum_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2138_vacuum_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/2138_vacuum_basic.sql",
      "description": "Basic VACUUM with 0-hour retention.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2139_vacuum_after_optimize",
      "num": 2139,
      "name": "vacuum_after_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2139_vacuum_after_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/2139_vacuum_after_optimize.sql",
      "description": "OPTIMIZE then VACUUM. The VACUUM should remove the pre-OPTIMIZE files.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/213_convert_parquet_partitioned",
      "num": 213,
      "name": "convert_parquet_partitioned",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/213_convert_parquet_partitioned.py",
      "read_script": "generator/df-reads-spark-iceberg/213_convert_parquet_partitioned.sql",
      "description": "CHAOS TEST WORKFLOW (CONVERT Partitioned Parquet to Delta): The Rust generator creates partitioned Parquet files (year=/month=/) first, then converts to Delta using CONVERT TO DELTA with partition inference.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2140_vacuum_after_delete",
      "num": 2140,
      "name": "vacuum_after_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2140_vacuum_after_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/2140_vacuum_after_delete.sql",
      "description": "DELETE then VACUUM.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2141_vacuum_with_cdc",
      "num": 2141,
      "name": "vacuum_with_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2141_vacuum_with_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/2141_vacuum_with_cdc.sql",
      "description": "VACUUM on a CDC-enabled table.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2142_time_travel_v0",
      "num": 2142,
      "name": "time_travel_v0",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2142_time_travel_v0.py",
      "read_script": "generator/df-reads-spark-iceberg/2142_time_travel_v0.sql",
      "description": "Two INSERTs creating versions 1 and 2; query VERSION AS OF 1 returns the first batch.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2143_time_travel_v1",
      "num": 2143,
      "name": "time_travel_v1",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2143_time_travel_v1.py",
      "read_script": "generator/df-reads-spark-iceberg/2143_time_travel_v1.sql",
      "description": "3 INSERT versions; verify VERSION AS OF 1, 2, and current.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2144_time_travel_after_delete",
      "num": 2144,
      "name": "time_travel_after_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2144_time_travel_after_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/2144_time_travel_after_delete.sql",
      "description": "INSERT then DELETE. Time travel to pre-delete shows full row count.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2145_time_travel_after_update",
      "num": 2145,
      "name": "time_travel_after_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2145_time_travel_after_update.py",
      "read_script": "generator/df-reads-spark-iceberg/2145_time_travel_after_update.sql",
      "description": "INSERT then UPDATE. Time travel to pre-update returns original status.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2146_time_travel_with_evolution",
      "num": 2146,
      "name": "time_travel_with_evolution",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2146_time_travel_with_evolution.py",
      "read_script": "generator/df-reads-spark-iceberg/2146_time_travel_with_evolution.sql",
      "description": "ADD COLUMN then time travel to pre-evolution -- old version has fewer columns.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2147_time_travel_with_cdc",
      "num": 2147,
      "name": "time_travel_with_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2147_time_travel_with_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/2147_time_travel_with_cdc.sql",
      "description": "CDC-enabled table; multiple versions; time travel returns historical states.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2148_restore_to_version",
      "num": 2148,
      "name": "restore_to_version",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2148_restore_to_version.py",
      "read_script": "generator/df-reads-spark-iceberg/2148_restore_to_version.sql",
      "description": "INSERT, INSERT, INSERT, RESTORE TO VERSION AS OF 1.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2149_restore_after_delete",
      "num": 2149,
      "name": "restore_after_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2149_restore_after_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/2149_restore_after_delete.sql",
      "description": "INSERT, DELETE, RESTORE undoes the delete.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/214_convert_iceberg",
      "num": 214,
      "name": "convert_iceberg",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/214_convert_iceberg.py",
      "read_script": "generator/df-reads-spark-iceberg/214_convert_iceberg.sql",
      "description": "CHAOS TEST WORKFLOW (CONVERT Iceberg to Delta): This test verifies that DeltaForge's CONVERT TO DELTA operation correctly converts an Iceberg table to Delta format with metadata preservation.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2150_restore_then_dml",
      "num": 2150,
      "name": "restore_then_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2150_restore_then_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/2150_restore_then_dml.sql",
      "description": "RESTORE then INSERT new data on top.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2151_subq_in_select_basic",
      "num": 2151,
      "name": "subq_in_select_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2151_subq_in_select_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/2151_subq_in_select_basic.sql",
      "description": "IN (SELECT) basic pattern. Final 50 rows.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2152_subq_not_in_select",
      "num": 2152,
      "name": "subq_not_in_select",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2152_subq_not_in_select.py",
      "read_script": "generator/df-reads-spark-iceberg/2152_subq_not_in_select.sql",
      "description": "NOT IN literal list. Final 90 rows.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2153_subq_scalar_max",
      "num": 2153,
      "name": "subq_scalar_max",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2153_subq_scalar_max.py",
      "read_script": "generator/df-reads-spark-iceberg/2153_subq_scalar_max.sql",
      "description": "DELETE rows where id < max threshold pattern via WHERE id <= literal.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2154_subq_scalar_count",
      "num": 2154,
      "name": "subq_scalar_count",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2154_subq_scalar_count.py",
      "read_script": "generator/df-reads-spark-iceberg/2154_subq_scalar_count.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2155_subq_exists_clause",
      "num": 2155,
      "name": "subq_exists_clause",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2155_subq_exists_clause.py",
      "read_script": "generator/df-reads-spark-iceberg/2155_subq_exists_clause.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2156_subq_not_exists_clause",
      "num": 2156,
      "name": "subq_not_exists_clause",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2156_subq_not_exists_clause.py",
      "read_script": "generator/df-reads-spark-iceberg/2156_subq_not_exists_clause.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2157_subq_in_two_columns",
      "num": 2157,
      "name": "subq_in_two_columns",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2157_subq_in_two_columns.py",
      "read_script": "generator/df-reads-spark-iceberg/2157_subq_in_two_columns.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2158_subq_scalar_avg",
      "num": 2158,
      "name": "subq_scalar_avg",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2158_subq_scalar_avg.py",
      "read_script": "generator/df-reads-spark-iceberg/2158_subq_scalar_avg.sql",
      "description": "UPDATE pattern setting all rows to computed constant.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2159_subq_in_literal_list",
      "num": 2159,
      "name": "subq_in_literal_list",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2159_subq_in_literal_list.py",
      "read_script": "generator/df-reads-spark-iceberg/2159_subq_in_literal_list.sql",
      "description": "IN with mid-size literal list.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/215_bloom_filter_basic",
      "num": 215,
      "name": "bloom_filter_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/215_bloom_filter_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/215_bloom_filter_basic.sql",
      "description": "Bloom filter basic test with precomputed UUIDs 3 files x 500 rows = 1500 rows total",
      "status": "pass",
      "duration_ms": 32,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 32,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2160_subq_delete_in_subset",
      "num": 2160,
      "name": "subq_delete_in_subset",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2160_subq_delete_in_subset.py",
      "read_script": "generator/df-reads-spark-iceberg/2160_subq_delete_in_subset.sql",
      "description": "DELETE first half of table via id range.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2161_case_when_insert_two_branches",
      "num": 2161,
      "name": "case_when_insert_two_branches",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2161_case_when_insert_two_branches.py",
      "read_script": "generator/df-reads-spark-iceberg/2161_case_when_insert_two_branches.sql",
      "description": "CASE WHEN with two branches in INSERT SELECT.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2162_case_when_insert_three_branches",
      "num": 2162,
      "name": "case_when_insert_three_branches",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2162_case_when_insert_three_branches.py",
      "read_script": "generator/df-reads-spark-iceberg/2162_case_when_insert_three_branches.sql",
      "description": "90 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2163_case_when_insert_nested",
      "num": 2163,
      "name": "case_when_insert_nested",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2163_case_when_insert_nested.py",
      "read_script": "generator/df-reads-spark-iceberg/2163_case_when_insert_nested.sql",
      "description": "Nested CASE expressions.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2164_case_when_update_set_value",
      "num": 2164,
      "name": "case_when_update_set_value",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2164_case_when_update_set_value.py",
      "read_script": "generator/df-reads-spark-iceberg/2164_case_when_update_set_value.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2165_case_when_update_with_else",
      "num": 2165,
      "name": "case_when_update_with_else",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2165_case_when_update_with_else.py",
      "read_script": "generator/df-reads-spark-iceberg/2165_case_when_update_with_else.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2166_case_when_update_multi_col",
      "num": 2166,
      "name": "case_when_update_multi_col",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2166_case_when_update_multi_col.py",
      "read_script": "generator/df-reads-spark-iceberg/2166_case_when_update_multi_col.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2167_case_when_insert_string_branches",
      "num": 2167,
      "name": "case_when_insert_string_branches",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2167_case_when_insert_string_branches.py",
      "read_script": "generator/df-reads-spark-iceberg/2167_case_when_insert_string_branches.sql",
      "description": "30 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2168_case_when_insert_with_default",
      "num": 2168,
      "name": "case_when_insert_with_default",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2168_case_when_insert_with_default.py",
      "read_script": "generator/df-reads-spark-iceberg/2168_case_when_insert_with_default.sql",
      "description": "50 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2169_case_when_delete_via_case_pred",
      "num": 2169,
      "name": "case_when_delete_via_case_pred",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2169_case_when_delete_via_case_pred.py",
      "read_script": "generator/df-reads-spark-iceberg/2169_case_when_delete_via_case_pred.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/216_bloom_filter_high_cardinality",
      "num": 216,
      "name": "bloom_filter_high_cardinality",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/216_bloom_filter_high_cardinality.py",
      "read_script": "generator/df-reads-spark-iceberg/216_bloom_filter_high_cardinality.sql",
      "description": "CHAOS TEST WORKFLOW (Bloom Filter High Cardinality): This test verifies that DeltaForge's Bloom Filter implementation handles very high cardinality columns (millions of unique values).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2170_case_when_case_in_arithmetic",
      "num": 2170,
      "name": "case_when_case_in_arithmetic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2170_case_when_case_in_arithmetic.py",
      "read_script": "generator/df-reads-spark-iceberg/2170_case_when_case_in_arithmetic.sql",
      "description": "20 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2171_string_func_lpad_zero",
      "num": 2171,
      "name": "string_func_lpad_zero",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2171_string_func_lpad_zero.py",
      "read_script": "generator/df-reads-spark-iceberg/2171_string_func_lpad_zero.sql",
      "description": "50 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2172_string_func_rpad_dot",
      "num": 2172,
      "name": "string_func_rpad_dot",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2172_string_func_rpad_dot.py",
      "read_script": "generator/df-reads-spark-iceberg/2172_string_func_rpad_dot.sql",
      "description": "40 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2173_string_func_repeat_x",
      "num": 2173,
      "name": "string_func_repeat_x",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2173_string_func_repeat_x.py",
      "read_script": "generator/df-reads-spark-iceberg/2173_string_func_repeat_x.sql",
      "description": "30 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2174_string_func_reverse_id",
      "num": 2174,
      "name": "string_func_reverse_id",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2174_string_func_reverse_id.py",
      "read_script": "generator/df-reads-spark-iceberg/2174_string_func_reverse_id.sql",
      "description": "20 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2175_string_func_substring_prefix",
      "num": 2175,
      "name": "string_func_substring_prefix",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2175_string_func_substring_prefix.py",
      "read_script": "generator/df-reads-spark-iceberg/2175_string_func_substring_prefix.sql",
      "description": "25 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2176_string_func_concat_ws_sim",
      "num": 2176,
      "name": "string_func_concat_ws_sim",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2176_string_func_concat_ws_sim.py",
      "read_script": "generator/df-reads-spark-iceberg/2176_string_func_concat_ws_sim.sql",
      "description": "15 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2177_string_func_upper_lower_chain",
      "num": 2177,
      "name": "string_func_upper_lower_chain",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2177_string_func_upper_lower_chain.py",
      "read_script": "generator/df-reads-spark-iceberg/2177_string_func_upper_lower_chain.sql",
      "description": "10 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2178_string_func_length_check",
      "num": 2178,
      "name": "string_func_length_check",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2178_string_func_length_check.py",
      "read_script": "generator/df-reads-spark-iceberg/2178_string_func_length_check.sql",
      "description": "10 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2179_string_func_substr_middle",
      "num": 2179,
      "name": "string_func_substr_middle",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2179_string_func_substr_middle.py",
      "read_script": "generator/df-reads-spark-iceberg/2179_string_func_substr_middle.sql",
      "description": "8 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/217_bloom_filter_fpp",
      "num": 217,
      "name": "bloom_filter_fpp",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/217_bloom_filter_fpp.py",
      "read_script": "generator/df-reads-spark-iceberg/217_bloom_filter_fpp.sql",
      "description": "CHAOS TEST WORKFLOW (Bloom Filter FPP): This test verifies that Bloom filter false positive rate is correctly configured and maintained.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2180_string_func_concat_three",
      "num": 2180,
      "name": "string_func_concat_three",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2180_string_func_concat_three.py",
      "read_script": "generator/df-reads-spark-iceberg/2180_string_func_concat_three.sql",
      "description": "5 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2181_groupby_agg_count_per_bucket",
      "num": 2181,
      "name": "groupby_agg_count_per_bucket",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2181_groupby_agg_count_per_bucket.py",
      "read_script": "generator/df-reads-spark-iceberg/2181_groupby_agg_count_per_bucket.sql",
      "description": "5 rows (GROUP BY i%5 produces 5 buckets)",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2182_groupby_agg_sum_per_bucket",
      "num": 2182,
      "name": "groupby_agg_sum_per_bucket",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2182_groupby_agg_sum_per_bucket.py",
      "read_script": "generator/df-reads-spark-iceberg/2182_groupby_agg_sum_per_bucket.sql",
      "description": "4 rows (GROUP BY i%4 produces 4 buckets)",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2183_groupby_agg_avg_per_bucket",
      "num": 2183,
      "name": "groupby_agg_avg_per_bucket",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2183_groupby_agg_avg_per_bucket.py",
      "read_script": "generator/df-reads-spark-iceberg/2183_groupby_agg_avg_per_bucket.sql",
      "description": "2 rows (GROUP BY i%2 produces 2 buckets)",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2184_groupby_agg_min_per_bucket",
      "num": 2184,
      "name": "groupby_agg_min_per_bucket",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2184_groupby_agg_min_per_bucket.py",
      "read_script": "generator/df-reads-spark-iceberg/2184_groupby_agg_min_per_bucket.sql",
      "description": "3 rows (GROUP BY i%3 produces 3 buckets)",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2185_groupby_agg_max_per_bucket",
      "num": 2185,
      "name": "groupby_agg_max_per_bucket",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2185_groupby_agg_max_per_bucket.py",
      "read_script": "generator/df-reads-spark-iceberg/2185_groupby_agg_max_per_bucket.sql",
      "description": "3 rows (GROUP BY i%3 produces 3 buckets)",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2186_groupby_agg_count_distinct_simple",
      "num": 2186,
      "name": "groupby_agg_count_distinct_simple",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2186_groupby_agg_count_distinct_simple.py",
      "read_script": "generator/df-reads-spark-iceberg/2186_groupby_agg_count_distinct_simple.sql",
      "description": "1 row (scalar COUNT DISTINCT aggregate)",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2187_groupby_agg_sum_two_groups",
      "num": 2187,
      "name": "groupby_agg_sum_two_groups",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2187_groupby_agg_sum_two_groups.py",
      "read_script": "generator/df-reads-spark-iceberg/2187_groupby_agg_sum_two_groups.sql",
      "description": "6 rows (GROUP BY i%2, i%3 produces 2x3=6 combinations)",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2188_groupby_agg_count_with_filter",
      "num": 2188,
      "name": "groupby_agg_count_with_filter",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2188_groupby_agg_count_with_filter.py",
      "read_script": "generator/df-reads-spark-iceberg/2188_groupby_agg_count_with_filter.sql",
      "description": "1 row (scalar COUNT aggregate with WHERE filter)",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2189_groupby_agg_min_max_combo",
      "num": 2189,
      "name": "groupby_agg_min_max_combo",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2189_groupby_agg_min_max_combo.py",
      "read_script": "generator/df-reads-spark-iceberg/2189_groupby_agg_min_max_combo.sql",
      "description": "1 row (scalar MIN/MAX aggregate)",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/218_dynamic_partition_pruning",
      "num": 218,
      "name": "dynamic_partition_pruning",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/218_dynamic_partition_pruning.py",
      "read_script": "generator/df-reads-spark-iceberg/218_dynamic_partition_pruning.sql",
      "description": "CHAOS TEST WORKFLOW (Dynamic Partition Pruning): This test verifies that DeltaForge's dynamic partition pruning is compatible with Databricks for runtime filter injection and query optimization.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2190_groupby_agg_count_then_delete",
      "num": 2190,
      "name": "groupby_agg_count_then_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2190_groupby_agg_count_then_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/2190_groupby_agg_count_then_delete.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2191_pred_pushdown_between_int",
      "num": 2191,
      "name": "pred_pushdown_between_int",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2191_pred_pushdown_between_int.py",
      "read_script": "generator/df-reads-spark-iceberg/2191_pred_pushdown_between_int.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2192_pred_pushdown_between_neg_pos",
      "num": 2192,
      "name": "pred_pushdown_between_neg_pos",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2192_pred_pushdown_between_neg_pos.py",
      "read_script": "generator/df-reads-spark-iceberg/2192_pred_pushdown_between_neg_pos.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2193_pred_pushdown_and_chain_three",
      "num": 2193,
      "name": "pred_pushdown_and_chain_three",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2193_pred_pushdown_and_chain_three.py",
      "read_script": "generator/df-reads-spark-iceberg/2193_pred_pushdown_and_chain_three.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2194_pred_pushdown_or_chain_three",
      "num": 2194,
      "name": "pred_pushdown_or_chain_three",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2194_pred_pushdown_or_chain_three.py",
      "read_script": "generator/df-reads-spark-iceberg/2194_pred_pushdown_or_chain_three.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2195_pred_pushdown_not_equal",
      "num": 2195,
      "name": "pred_pushdown_not_equal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2195_pred_pushdown_not_equal.py",
      "read_script": "generator/df-reads-spark-iceberg/2195_pred_pushdown_not_equal.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2196_pred_pushdown_ge_le_combo",
      "num": 2196,
      "name": "pred_pushdown_ge_le_combo",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2196_pred_pushdown_ge_le_combo.py",
      "read_script": "generator/df-reads-spark-iceberg/2196_pred_pushdown_ge_le_combo.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2197_pred_pushdown_delete_with_and",
      "num": 2197,
      "name": "pred_pushdown_delete_with_and",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2197_pred_pushdown_delete_with_and.py",
      "read_script": "generator/df-reads-spark-iceberg/2197_pred_pushdown_delete_with_and.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2198_pred_pushdown_update_with_or",
      "num": 2198,
      "name": "pred_pushdown_update_with_or",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2198_pred_pushdown_update_with_or.py",
      "read_script": "generator/df-reads-spark-iceberg/2198_pred_pushdown_update_with_or.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2199_pred_pushdown_delete_partition_match",
      "num": 2199,
      "name": "pred_pushdown_delete_partition_match",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2199_pred_pushdown_delete_partition_match.py",
      "read_script": "generator/df-reads-spark-iceberg/2199_pred_pushdown_delete_partition_match.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/219_runtime_filter_bloom",
      "num": 219,
      "name": "runtime_filter_bloom",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/219_runtime_filter_bloom.py",
      "read_script": "generator/df-reads-spark-iceberg/219_runtime_filter_bloom.sql",
      "description": "CHAOS TEST WORKFLOW (Runtime Filter Bloom): This test verifies that bloom filter-based runtime pruning works with DeltaForge-written data in Databricks.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/21_action_domain_metadata_custom",
      "num": 21,
      "name": "action_domain_metadata_custom",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/21_action_domain_metadata_custom.py",
      "read_script": "generator/df-reads-spark-iceberg/21_action_domain_metadata_custom.sql",
      "description": "Demonstrates domain metadata action using Liquid Clustering. The domainMetadata action allows storing custom metadata scoped to a domain.",
      "status": "pass",
      "duration_ms": 30,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:46:06.533780+00:00",
      "read_cold_ms": 30,
      "read_warm_ms": 23,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:overwrite",
        "delta:liquid-clustering",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2200_pred_pushdown_update_range",
      "num": 2200,
      "name": "pred_pushdown_update_range",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2200_pred_pushdown_update_range.py",
      "read_script": "generator/df-reads-spark-iceberg/2200_pred_pushdown_update_range.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2201_cross_feat_dv_cdc_simple",
      "num": 2201,
      "name": "cross_feat_dv_cdc_simple",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2201_cross_feat_dv_cdc_simple.py",
      "read_script": "generator/df-reads-spark-iceberg/2201_cross_feat_dv_cdc_simple.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2202_cross_feat_dv_constraint_check",
      "num": 2202,
      "name": "cross_feat_dv_constraint_check",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2202_cross_feat_dv_constraint_check.py",
      "read_script": "generator/df-reads-spark-iceberg/2202_cross_feat_dv_constraint_check.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2203_cross_feat_cdc_then_constraint",
      "num": 2203,
      "name": "cross_feat_cdc_then_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2203_cross_feat_cdc_then_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/2203_cross_feat_cdc_then_constraint.sql",
      "description": "20 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2204_cross_feat_evolve_with_dv",
      "num": 2204,
      "name": "cross_feat_evolve_with_dv",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2204_cross_feat_evolve_with_dv.py",
      "read_script": "generator/df-reads-spark-iceberg/2204_cross_feat_evolve_with_dv.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2205_cross_feat_partition_with_dv_cdc",
      "num": 2205,
      "name": "cross_feat_partition_with_dv_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2205_cross_feat_partition_with_dv_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/2205_cross_feat_partition_with_dv_cdc.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2206_cross_feat_constraint_then_dml",
      "num": 2206,
      "name": "cross_feat_constraint_then_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2206_cross_feat_constraint_then_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/2206_cross_feat_constraint_then_dml.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2207_cross_feat_evolve_then_dml",
      "num": 2207,
      "name": "cross_feat_evolve_then_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2207_cross_feat_evolve_then_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/2207_cross_feat_evolve_then_dml.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2208_cross_feat_cdc_with_partition",
      "num": 2208,
      "name": "cross_feat_cdc_with_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2208_cross_feat_cdc_with_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/2208_cross_feat_cdc_with_partition.sql",
      "description": "30 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2209_cross_feat_dv_with_optimize",
      "num": 2209,
      "name": "cross_feat_dv_with_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2209_cross_feat_dv_with_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/2209_cross_feat_dv_with_optimize.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/220_multi_table_dynamic_pruning",
      "num": 220,
      "name": "multi_table_dynamic_pruning",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/220_multi_table_dynamic_pruning.py",
      "read_script": "generator/df-reads-spark-iceberg/220_multi_table_dynamic_pruning.sql",
      "description": "CHAOS TEST WORKFLOW (Multi-Table Dynamic Pruning): This test verifies that dynamic pruning works across multiple join operations with DeltaForge-modified tables in Databricks.",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2210_cross_feat_constraint_with_partition",
      "num": 2210,
      "name": "cross_feat_constraint_with_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2210_cross_feat_constraint_with_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/2210_cross_feat_constraint_with_partition.sql",
      "description": "50 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2211_cast_chain_int_to_bigint",
      "num": 2211,
      "name": "cast_chain_int_to_bigint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2211_cast_chain_int_to_bigint.py",
      "read_script": "generator/df-reads-spark-iceberg/2211_cast_chain_int_to_bigint.sql",
      "description": "25 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "schema:type-widening",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2212_cast_chain_int_to_double",
      "num": 2212,
      "name": "cast_chain_int_to_double",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2212_cast_chain_int_to_double.py",
      "read_script": "generator/df-reads-spark-iceberg/2212_cast_chain_int_to_double.sql",
      "description": "20 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2213_cast_chain_string_to_int",
      "num": 2213,
      "name": "cast_chain_string_to_int",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2213_cast_chain_string_to_int.py",
      "read_script": "generator/df-reads-spark-iceberg/2213_cast_chain_string_to_int.sql",
      "description": "15 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2214_cast_chain_double_to_int",
      "num": 2214,
      "name": "cast_chain_double_to_int",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2214_cast_chain_double_to_int.py",
      "read_script": "generator/df-reads-spark-iceberg/2214_cast_chain_double_to_int.sql",
      "description": "10 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2215_cast_chain_bigint_to_string",
      "num": 2215,
      "name": "cast_chain_bigint_to_string",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2215_cast_chain_bigint_to_string.py",
      "read_script": "generator/df-reads-spark-iceberg/2215_cast_chain_bigint_to_string.sql",
      "description": "15 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2216_cast_chain_int_to_string_to_int",
      "num": 2216,
      "name": "cast_chain_int_to_string_to_int",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2216_cast_chain_int_to_string_to_int.py",
      "read_script": "generator/df-reads-spark-iceberg/2216_cast_chain_int_to_string_to_int.sql",
      "description": "10 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2217_cast_chain_double_round_to_int",
      "num": 2217,
      "name": "cast_chain_double_round_to_int",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2217_cast_chain_double_round_to_int.py",
      "read_script": "generator/df-reads-spark-iceberg/2217_cast_chain_double_round_to_int.sql",
      "description": "10 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2218_cast_chain_negative_to_unsigned",
      "num": 2218,
      "name": "cast_chain_negative_to_unsigned",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2218_cast_chain_negative_to_unsigned.py",
      "read_script": "generator/df-reads-spark-iceberg/2218_cast_chain_negative_to_unsigned.sql",
      "description": "20 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2219_cast_chain_decimal_to_double",
      "num": 2219,
      "name": "cast_chain_decimal_to_double",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2219_cast_chain_decimal_to_double.py",
      "read_script": "generator/df-reads-spark-iceberg/2219_cast_chain_decimal_to_double.sql",
      "description": "10 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/221_binary_data_type",
      "num": 221,
      "name": "binary_data_type",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/221_binary_data_type.py",
      "read_script": "generator/df-reads-spark-iceberg/221_binary_data_type.sql",
      "description": "Binary data handling tests 15 rows with specific binary patterns binary_size (INT), expected_md5 (STRING), created_at (TIMESTAMP)",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:binary",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2220_cast_chain_string_concat_cast",
      "num": 2220,
      "name": "cast_chain_string_concat_cast",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2220_cast_chain_string_concat_cast.py",
      "read_script": "generator/df-reads-spark-iceberg/2220_cast_chain_string_concat_cast.sql",
      "description": "20 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2221_nested_struct_two_int_fields",
      "num": 2221,
      "name": "nested_struct_two_int_fields",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2221_nested_struct_two_int_fields.py",
      "read_script": "generator/df-reads-spark-iceberg/2221_nested_struct_two_int_fields.sql",
      "description": "20 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:struct",
        "dml:insert",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2222_nested_struct_mixed_types",
      "num": 2222,
      "name": "nested_struct_mixed_types",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2222_nested_struct_mixed_types.py",
      "read_script": "generator/df-reads-spark-iceberg/2222_nested_struct_mixed_types.sql",
      "description": "15 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2223_nested_struct_nested_double",
      "num": 2223,
      "name": "nested_struct_nested_double",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2223_nested_struct_nested_double.py",
      "read_script": "generator/df-reads-spark-iceberg/2223_nested_struct_nested_double.sql",
      "description": "10 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:struct",
        "dml:insert",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2224_nested_struct_with_string",
      "num": 2224,
      "name": "nested_struct_with_string",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2224_nested_struct_with_string.py",
      "read_script": "generator/df-reads-spark-iceberg/2224_nested_struct_with_string.sql",
      "description": "12 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2225_nested_struct_with_id",
      "num": 2225,
      "name": "nested_struct_with_id",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2225_nested_struct_with_id.py",
      "read_script": "generator/df-reads-spark-iceberg/2225_nested_struct_with_id.sql",
      "description": "10 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:struct",
        "dml:insert",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2226_nested_struct_three_fields",
      "num": 2226,
      "name": "nested_struct_three_fields",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2226_nested_struct_three_fields.py",
      "read_script": "generator/df-reads-spark-iceberg/2226_nested_struct_three_fields.sql",
      "description": "10 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:struct",
        "dml:insert",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2227_nested_struct_after_delete",
      "num": 2227,
      "name": "nested_struct_after_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2227_nested_struct_after_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/2227_nested_struct_after_delete.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:struct",
        "dml:delete",
        "dml:insert",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2228_nested_struct_after_update_partition",
      "num": 2228,
      "name": "nested_struct_after_update_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2228_nested_struct_after_update_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/2228_nested_struct_after_update_partition.sql",
      "description": "20 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "dml:update",
        "delta:partitioning",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2229_nested_struct_with_dv",
      "num": 2229,
      "name": "nested_struct_with_dv",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2229_nested_struct_with_dv.py",
      "read_script": "generator/df-reads-spark-iceberg/2229_nested_struct_with_dv.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:struct",
        "dml:delete",
        "dml:insert",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/222_geometry_types",
      "num": 222,
      "name": "geometry_types",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/222_geometry_types.py",
      "read_script": "generator/df-reads-spark-iceberg/222_geometry_types.sql",
      "description": "Geometry/spatial data handling tests 20 rows with WKT geometry strings geometry_wkt (STRING), coordinate_count (INT), created_at (TIMESTAMP)",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2230_nested_struct_in_constraint",
      "num": 2230,
      "name": "nested_struct_in_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2230_nested_struct_in_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/2230_nested_struct_in_constraint.sql",
      "description": "15 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:struct",
        "dml:insert",
        "delta:constraints",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2231_arith_edge_negate_int",
      "num": 2231,
      "name": "arith_edge_negate_int",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2231_arith_edge_negate_int.py",
      "read_script": "generator/df-reads-spark-iceberg/2231_arith_edge_negate_int.sql",
      "description": "20 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2232_arith_edge_modulo_two",
      "num": 2232,
      "name": "arith_edge_modulo_two",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2232_arith_edge_modulo_two.py",
      "read_script": "generator/df-reads-spark-iceberg/2232_arith_edge_modulo_two.sql",
      "description": "20 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2233_arith_edge_modulo_seven",
      "num": 2233,
      "name": "arith_edge_modulo_seven",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2233_arith_edge_modulo_seven.py",
      "read_script": "generator/df-reads-spark-iceberg/2233_arith_edge_modulo_seven.sql",
      "description": "20 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2234_arith_edge_multiply_zero",
      "num": 2234,
      "name": "arith_edge_multiply_zero",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2234_arith_edge_multiply_zero.py",
      "read_script": "generator/df-reads-spark-iceberg/2234_arith_edge_multiply_zero.sql",
      "description": "20 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2235_arith_edge_subtract_negative",
      "num": 2235,
      "name": "arith_edge_subtract_negative",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2235_arith_edge_subtract_negative.py",
      "read_script": "generator/df-reads-spark-iceberg/2235_arith_edge_subtract_negative.sql",
      "description": "20 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2236_arith_edge_add_constant",
      "num": 2236,
      "name": "arith_edge_add_constant",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2236_arith_edge_add_constant.py",
      "read_script": "generator/df-reads-spark-iceberg/2236_arith_edge_add_constant.sql",
      "description": "20 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2237_arith_edge_divide_int",
      "num": 2237,
      "name": "arith_edge_divide_int",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2237_arith_edge_divide_int.py",
      "read_script": "generator/df-reads-spark-iceberg/2237_arith_edge_divide_int.sql",
      "description": "20 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2238_arith_edge_abs_negative",
      "num": 2238,
      "name": "arith_edge_abs_negative",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2238_arith_edge_abs_negative.py",
      "read_script": "generator/df-reads-spark-iceberg/2238_arith_edge_abs_negative.sql",
      "description": "20 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2239_arith_edge_power_two",
      "num": 2239,
      "name": "arith_edge_power_two",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2239_arith_edge_power_two.py",
      "read_script": "generator/df-reads-spark-iceberg/2239_arith_edge_power_two.sql",
      "description": "20 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/223_very_long_strings",
      "num": 223,
      "name": "very_long_strings",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/223_very_long_strings.py",
      "read_script": "generator/df-reads-spark-iceberg/223_very_long_strings.sql",
      "description": "Very long string handling tests 20 rows with various string lengths and patterns text_length (INT), expected_md5 (STRING), created_at (TIMESTAMP NOT NULL)",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2240_arith_edge_sign_check",
      "num": 2240,
      "name": "arith_edge_sign_check",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2240_arith_edge_sign_check.py",
      "read_script": "generator/df-reads-spark-iceberg/2240_arith_edge_sign_check.sql",
      "description": "20 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2241_bool_pred_between_simple",
      "num": 2241,
      "name": "bool_pred_between_simple",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2241_bool_pred_between_simple.py",
      "read_script": "generator/df-reads-spark-iceberg/2241_bool_pred_between_simple.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2242_bool_pred_and_combo",
      "num": 2242,
      "name": "bool_pred_and_combo",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2242_bool_pred_and_combo.py",
      "read_script": "generator/df-reads-spark-iceberg/2242_bool_pred_and_combo.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2243_bool_pred_or_combo",
      "num": 2243,
      "name": "bool_pred_or_combo",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2243_bool_pred_or_combo.py",
      "read_script": "generator/df-reads-spark-iceberg/2243_bool_pred_or_combo.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2244_bool_pred_not_in_list",
      "num": 2244,
      "name": "bool_pred_not_in_list",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2244_bool_pred_not_in_list.py",
      "read_script": "generator/df-reads-spark-iceberg/2244_bool_pred_not_in_list.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2245_bool_pred_in_list_strings",
      "num": 2245,
      "name": "bool_pred_in_list_strings",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2245_bool_pred_in_list_strings.py",
      "read_script": "generator/df-reads-spark-iceberg/2245_bool_pred_in_list_strings.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2246_bool_pred_complex_or",
      "num": 2246,
      "name": "bool_pred_complex_or",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2246_bool_pred_complex_or.py",
      "read_script": "generator/df-reads-spark-iceberg/2246_bool_pred_complex_or.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2247_bool_pred_negate_eq",
      "num": 2247,
      "name": "bool_pred_negate_eq",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2247_bool_pred_negate_eq.py",
      "read_script": "generator/df-reads-spark-iceberg/2247_bool_pred_negate_eq.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2248_bool_pred_ge_only",
      "num": 2248,
      "name": "bool_pred_ge_only",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2248_bool_pred_ge_only.py",
      "read_script": "generator/df-reads-spark-iceberg/2248_bool_pred_ge_only.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2249_bool_pred_le_only",
      "num": 2249,
      "name": "bool_pred_le_only",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2249_bool_pred_le_only.py",
      "read_script": "generator/df-reads-spark-iceberg/2249_bool_pred_le_only.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/224_extreme_partitions",
      "num": 224,
      "name": "extreme_partitions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/224_extreme_partitions.py",
      "read_script": "generator/df-reads-spark-iceberg/224_extreme_partitions.sql",
      "description": "CHAOS TEST WORKFLOW (Extreme Partitions): This test verifies handling of tables with multiple partitions. Tests partition listing, pruning, and metadata handling.",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2250_bool_pred_in_then_delete",
      "num": 2250,
      "name": "bool_pred_in_then_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2250_bool_pred_in_then_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/2250_bool_pred_in_then_delete.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2251_merge_identity_then_insert",
      "num": 2251,
      "name": "merge_identity_then_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2251_merge_identity_then_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/2251_merge_identity_then_insert.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2252_merge_then_merge_identity",
      "num": 2252,
      "name": "merge_then_merge_identity",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2252_merge_then_merge_identity.py",
      "read_script": "generator/df-reads-spark-iceberg/2252_merge_then_merge_identity.sql",
      "description": "Two consecutive MERGEs with NOT MATCHED INSERT, identity must not duplicate",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2253_merge_default_int",
      "num": 2253,
      "name": "merge_default_int",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2253_merge_default_int.py",
      "read_script": "generator/df-reads-spark-iceberg/2253_merge_default_int.sql",
      "description": "MERGE NOT MATCHED INSERT with INT DEFAULT",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2254_merge_default_date",
      "num": 2254,
      "name": "merge_default_date",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2254_merge_default_date.py",
      "read_script": "generator/df-reads-spark-iceberg/2254_merge_default_date.sql",
      "description": "MERGE NOT MATCHED INSERT with DATE DEFAULT",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:date",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2255_merge_generated_concat",
      "num": 2255,
      "name": "merge_generated_concat",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2255_merge_generated_concat.py",
      "read_script": "generator/df-reads-spark-iceberg/2255_merge_generated_concat.sql",
      "description": "MERGE into table with GENERATED column (CONCAT)",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2256_merge_generated_arithmetic",
      "num": 2256,
      "name": "merge_generated_arithmetic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2256_merge_generated_arithmetic.py",
      "read_script": "generator/df-reads-spark-iceberg/2256_merge_generated_arithmetic.sql",
      "description": "MERGE into table with GENERATED column (price * qty)",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2257_merge_default_bool",
      "num": 2257,
      "name": "merge_default_bool",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2257_merge_default_bool.py",
      "read_script": "generator/df-reads-spark-iceberg/2257_merge_default_bool.sql",
      "description": "MERGE NOT MATCHED INSERT with BOOLEAN DEFAULT",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2258_merge_default_decimal",
      "num": 2258,
      "name": "merge_default_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2258_merge_default_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/2258_merge_default_decimal.sql",
      "description": "MERGE NOT MATCHED INSERT with DECIMAL DEFAULT",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2259_merge_identity_with_delete_chain",
      "num": 2259,
      "name": "merge_identity_with_delete_chain",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2259_merge_identity_with_delete_chain.py",
      "read_script": "generator/df-reads-spark-iceberg/2259_merge_identity_with_delete_chain.sql",
      "description": "INSERT, MERGE-insert, DELETE, MERGE-insert again -- HWM must keep growing",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/225_extreme_columns",
      "num": 225,
      "name": "extreme_columns",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/225_extreme_columns.py",
      "read_script": "generator/df-reads-spark-iceberg/225_extreme_columns.sql",
      "description": "CHAOS TEST WORKFLOW (Extreme Columns): This test verifies handling of tables with wide schemas. Tests schema serialization, column projection.",
      "status": "pass",
      "duration_ms": 27,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 27,
      "read_warm_ms": 19,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2260_merge_default_and_generated",
      "num": 2260,
      "name": "merge_default_and_generated",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2260_merge_default_and_generated.py",
      "read_script": "generator/df-reads-spark-iceberg/2260_merge_default_and_generated.sql",
      "description": "MERGE NOT MATCHED INSERT into table with both DEFAULT and GENERATED columns",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:default-values",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2261_cor_add_identity_column",
      "num": 2261,
      "name": "cor_add_identity_column",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2261_cor_add_identity_column.py",
      "read_script": "generator/df-reads-spark-iceberg/2261_cor_add_identity_column.sql",
      "description": "CREATE OR REPLACE adding a new IDENTITY column to schema",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2262_cor_add_default_column",
      "num": 2262,
      "name": "cor_add_default_column",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2262_cor_add_default_column.py",
      "read_script": "generator/df-reads-spark-iceberg/2262_cor_add_default_column.sql",
      "description": "CREATE OR REPLACE adding a column with DEFAULT",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2263_cor_add_generated_column",
      "num": 2263,
      "name": "cor_add_generated_column",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2263_cor_add_generated_column.py",
      "read_script": "generator/df-reads-spark-iceberg/2263_cor_add_generated_column.sql",
      "description": "CREATE OR REPLACE adding a GENERATED column",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2264_cor_change_partition_columns",
      "num": 2264,
      "name": "cor_change_partition_columns",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2264_cor_change_partition_columns.py",
      "read_script": "generator/df-reads-spark-iceberg/2264_cor_change_partition_columns.sql",
      "description": "CREATE OR REPLACE with different partition columns",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2265_cor_remove_partition_columns",
      "num": 2265,
      "name": "cor_remove_partition_columns",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2265_cor_remove_partition_columns.py",
      "read_script": "generator/df-reads-spark-iceberg/2265_cor_remove_partition_columns.sql",
      "description": "CREATE OR REPLACE removing partition columns",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2266_cor_enable_cdc",
      "num": 2266,
      "name": "cor_enable_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2266_cor_enable_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/2266_cor_enable_cdc.sql",
      "description": "CREATE OR REPLACE enabling CDC on a table that did not have it",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2267_cor_with_identity_then_insert",
      "num": 2267,
      "name": "cor_with_identity_then_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2267_cor_with_identity_then_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/2267_cor_with_identity_then_insert.sql",
      "description": "CREATE OR REPLACE with new IDENTITY then 2 INSERTs to verify HWM persists",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2268_cor_with_default_then_insert",
      "num": 2268,
      "name": "cor_with_default_then_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2268_cor_with_default_then_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/2268_cor_with_default_then_insert.sql",
      "description": "CREATE OR REPLACE with new DEFAULT then INSERT omitting column",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2269_cor_remove_property",
      "num": 2269,
      "name": "cor_remove_property",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2269_cor_remove_property.py",
      "read_script": "generator/df-reads-spark-iceberg/2269_cor_remove_property.sql",
      "description": "CREATE OR REPLACE without TBLPROPERTIES removes them",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/226_extreme_versions",
      "num": 226,
      "name": "extreme_versions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/226_extreme_versions.py",
      "read_script": "generator/df-reads-spark-iceberg/226_extreme_versions.sql",
      "description": "CHAOS TEST WORKFLOW (Extreme Versions): This test verifies handling tables with multiple versions. Tests log replay, checkpoint loading.",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2270_cor_then_merge",
      "num": 2270,
      "name": "cor_then_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2270_cor_then_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2270_cor_then_merge.sql",
      "description": "CREATE OR REPLACE then MERGE on the new schema",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2271_default_decimal_literal",
      "num": 2271,
      "name": "default_decimal_literal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2271_default_decimal_literal.py",
      "read_script": "generator/df-reads-spark-iceberg/2271_default_decimal_literal.sql",
      "description": "DEFAULT with DECIMAL(10,2) literal",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2272_default_date_literal",
      "num": 2272,
      "name": "default_date_literal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2272_default_date_literal.py",
      "read_script": "generator/df-reads-spark-iceberg/2272_default_date_literal.sql",
      "description": "DEFAULT with DATE literal",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2273_default_timestamp_literal",
      "num": 2273,
      "name": "default_timestamp_literal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2273_default_timestamp_literal.py",
      "read_script": "generator/df-reads-spark-iceberg/2273_default_timestamp_literal.sql",
      "description": "DEFAULT with TIMESTAMP literal",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2274_default_boolean_literal",
      "num": 2274,
      "name": "default_boolean_literal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2274_default_boolean_literal.py",
      "read_script": "generator/df-reads-spark-iceberg/2274_default_boolean_literal.sql",
      "description": "DEFAULT BOOLEAN true",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2275_default_bigint_literal",
      "num": 2275,
      "name": "default_bigint_literal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2275_default_bigint_literal.py",
      "read_script": "generator/df-reads-spark-iceberg/2275_default_bigint_literal.sql",
      "description": "DEFAULT BIGINT large value",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2276_default_double_literal",
      "num": 2276,
      "name": "default_double_literal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2276_default_double_literal.py",
      "read_script": "generator/df-reads-spark-iceberg/2276_default_double_literal.sql",
      "description": "DEFAULT DOUBLE value",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2277_default_with_check_constraint",
      "num": 2277,
      "name": "default_with_check_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2277_default_with_check_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/2277_default_with_check_constraint.sql",
      "description": "DEFAULT value satisfies CHECK constraint",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2278_default_then_evolve_add_default",
      "num": 2278,
      "name": "default_then_evolve_add_default",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2278_default_then_evolve_add_default.py",
      "read_script": "generator/df-reads-spark-iceberg/2278_default_then_evolve_add_default.sql",
      "description": "Existing DEFAULT col preserved when ALTER ADD COLUMN adds another DEFAULT col",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:default-values",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2279_gencol_case_expression",
      "num": 2279,
      "name": "gencol_case_expression",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2279_gencol_case_expression.py",
      "read_script": "generator/df-reads-spark-iceberg/2279_gencol_case_expression.sql",
      "description": "GENERATED column using CASE expression",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/227_identity_basic",
      "num": 227,
      "name": "identity_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/227_identity_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/227_identity_basic.sql",
      "description": "Basic Identity Column - GENERATED ALWAYS mode",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:identity-columns",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2280_gencol_three_arg_arithmetic",
      "num": 2280,
      "name": "gencol_three_arg_arithmetic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2280_gencol_three_arg_arithmetic.py",
      "read_script": "generator/df-reads-spark-iceberg/2280_gencol_three_arg_arithmetic.sql",
      "description": "GENERATED column combining 3 input columns",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2281_gencol_after_two_updates",
      "num": 2281,
      "name": "gencol_after_two_updates",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2281_gencol_after_two_updates.py",
      "read_script": "generator/df-reads-spark-iceberg/2281_gencol_after_two_updates.sql",
      "description": "Two consecutive UPDATEs on a base column, GENERATED must reflect latest value",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2282_gencol_after_delete",
      "num": 2282,
      "name": "gencol_after_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2282_gencol_after_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/2282_gencol_after_delete.sql",
      "description": "GENERATED column values preserved correctly after DELETE",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2283_gencol_partition_then_optimize",
      "num": 2283,
      "name": "gencol_partition_then_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2283_gencol_partition_then_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/2283_gencol_partition_then_optimize.sql",
      "description": "GENERATED column on partitioned table, OPTIMIZE preserves values",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:generated-columns",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2284_gencol_update_non_dep_column",
      "num": 2284,
      "name": "gencol_update_non_dep_column",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2284_gencol_update_non_dep_column.py",
      "read_script": "generator/df-reads-spark-iceberg/2284_gencol_update_non_dep_column.sql",
      "description": "UPDATE on non-dependency column must NOT touch GENERATED column",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2285_tsntz_partition",
      "num": 2285,
      "name": "tsntz_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2285_tsntz_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/2285_tsntz_partition.sql",
      "description": "TIMESTAMP_NTZ as a partition column",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp-ntz",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2286_tsntz_with_cdc",
      "num": 2286,
      "name": "tsntz_with_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2286_tsntz_with_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/2286_tsntz_with_cdc.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:timestamp-ntz",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2287_tsntz_time_travel",
      "num": 2287,
      "name": "tsntz_time_travel",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2287_tsntz_time_travel.py",
      "read_script": "generator/df-reads-spark-iceberg/2287_tsntz_time_travel.sql",
      "description": "TIMESTAMP_NTZ + version time travel",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:timestamp-ntz",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2288_tsntz_update",
      "num": 2288,
      "name": "tsntz_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2288_tsntz_update.py",
      "read_script": "generator/df-reads-spark-iceberg/2288_tsntz_update.sql",
      "description": "UPDATE on TIMESTAMP_NTZ column",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:timestamp-ntz",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2289_tsntz_merge",
      "num": 2289,
      "name": "tsntz_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2289_tsntz_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2289_tsntz_merge.sql",
      "description": "MERGE NOT MATCHED INSERT into TIMESTAMP_NTZ table",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:timestamp-ntz",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/228_identity_by_default",
      "num": 228,
      "name": "identity_by_default",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/228_identity_by_default.py",
      "read_script": "generator/df-reads-spark-iceberg/228_identity_by_default.sql",
      "description": "GENERATED BY DEFAULT AS IDENTITY mode",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2290_tsntz_min_max_stats",
      "num": 2290,
      "name": "tsntz_min_max_stats",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2290_tsntz_min_max_stats.py",
      "read_script": "generator/df-reads-spark-iceberg/2290_tsntz_min_max_stats.sql",
      "description": "TIMESTAMP_NTZ with min/max statistics in delta log",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:timestamp-ntz",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2291_vacuum_dry_run",
      "num": 2291,
      "name": "vacuum_dry_run",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2291_vacuum_dry_run.py",
      "read_script": "generator/df-reads-spark-iceberg/2291_vacuum_dry_run.sql",
      "description": "VACUUM DRY RUN must NOT delete files or write commit",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2292_vacuum_idempotent",
      "num": 2292,
      "name": "vacuum_idempotent",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2292_vacuum_idempotent.py",
      "read_script": "generator/df-reads-spark-iceberg/2292_vacuum_idempotent.sql",
      "description": "Running VACUUM twice in a row -- second should be no-op (no extra files removed)",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2293_vacuum_after_optimize_then_delete",
      "num": 2293,
      "name": "vacuum_after_optimize_then_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2293_vacuum_after_optimize_then_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/2293_vacuum_after_optimize_then_delete.sql",
      "description": "OPTIMIZE then DELETE then VACUUM",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2294_vacuum_no_files_to_delete",
      "num": 2294,
      "name": "vacuum_no_files_to_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2294_vacuum_no_files_to_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/2294_vacuum_no_files_to_delete.sql",
      "description": "VACUUM on a table with no candidate files (no deletes) still emits a commit",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2295_vacuum_after_multiple_delete_cycles",
      "num": 2295,
      "name": "vacuum_after_multiple_delete_cycles",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2295_vacuum_after_multiple_delete_cycles.py",
      "read_script": "generator/df-reads-spark-iceberg/2295_vacuum_after_multiple_delete_cycles.sql",
      "description": "Three DELETE cycles followed by VACUUM",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2296_map_literal_int_values",
      "num": 2296,
      "name": "map_literal_int_values",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2296_map_literal_int_values.py",
      "read_script": "generator/df-reads-spark-iceberg/2296_map_literal_int_values.sql",
      "description": "MAP literal with int values in INSERT",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:map",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2297_map_literal_in_insert_select",
      "num": 2297,
      "name": "map_literal_in_insert_select",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2297_map_literal_in_insert_select.py",
      "read_script": "generator/df-reads-spark-iceberg/2297_map_literal_in_insert_select.sql",
      "description": "MAP literal across multiple INSERT SELECT batches",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:map",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2298_map_literal_three_keys",
      "num": 2298,
      "name": "map_literal_three_keys",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2298_map_literal_three_keys.py",
      "read_script": "generator/df-reads-spark-iceberg/2298_map_literal_three_keys.sql",
      "description": "MAP literal with three key-value pairs",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:map",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2299_drop_table_with_files_explicit",
      "num": 2299,
      "name": "drop_table_with_files_explicit",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2299_drop_table_with_files_explicit.py",
      "read_script": "generator/df-reads-spark-iceberg/2299_drop_table_with_files_explicit.sql",
      "description": "DROP TABLE WITH FILES then re-CREATE at same LOCATION",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/229_identity_hwm",
      "num": 229,
      "name": "identity_hwm",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/229_identity_hwm.py",
      "read_script": "generator/df-reads-spark-iceberg/229_identity_hwm.sql",
      "description": "High Watermark Tracking",
      "status": "pass",
      "duration_ms": 20,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 20,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:constraints",
        "delta:identity-columns",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/22_action_sidecar_file_reference",
      "num": 22,
      "name": "action_sidecar_file_reference",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/22_action_sidecar_file_reference.py",
      "read_script": "generator/df-reads-spark-iceberg/22_action_sidecar_file_reference.sql",
      "description": "Demonstrates sidecar file information action for V2 checkpoints. Sidecar files split checkpoint data into manageable pieces for scalability.",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:46:06.533780+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "dml:overwrite",
        "delta:checkpoint-sidecar",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2300_drop_table_if_exists_then_create",
      "num": 2300,
      "name": "drop_table_if_exists_then_create",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2300_drop_table_if_exists_then_create.py",
      "read_script": "generator/df-reads-spark-iceberg/2300_drop_table_if_exists_then_create.sql",
      "description": "DROP TABLE IF EXISTS on existing table, then CREATE fresh",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2301_vacuum_retention_tombstone_check",
      "num": 2301,
      "name": "vacuum_retention_tombstone_check",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2301_vacuum_retention_tombstone_check.py",
      "read_script": "generator/df-reads-spark-iceberg/2301_vacuum_retention_tombstone_check.sql",
      "description": "VACUUM RETAIN 0 HOURS removes tombstoned files; verify VACUUM commit emitted",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2302_vacuum_after_restore",
      "num": 2302,
      "name": "vacuum_after_restore",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2302_vacuum_after_restore.py",
      "read_script": "generator/df-reads-spark-iceberg/2302_vacuum_after_restore.sql",
      "description": "RESTORE to earlier version then VACUUM removes files added after restore point",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:time-travel",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2303_vacuum_zorder_then_purge",
      "num": 2303,
      "name": "vacuum_zorder_then_purge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2303_vacuum_zorder_then_purge.py",
      "read_script": "generator/df-reads-spark-iceberg/2303_vacuum_zorder_then_purge.sql",
      "description": "OPTIMIZE ZORDER then VACUUM purges old pre-zorder files",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:optimize",
        "delta:vacuum",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2304_vacuum_partitioned_preserves_dirs",
      "num": 2304,
      "name": "vacuum_partitioned_preserves_dirs",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2304_vacuum_partitioned_preserves_dirs.py",
      "read_script": "generator/df-reads-spark-iceberg/2304_vacuum_partitioned_preserves_dirs.sql",
      "description": "VACUUM on partitioned table preserves partition directories with live data",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2305_optimize_single_file_noop",
      "num": 2305,
      "name": "optimize_single_file_noop",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2305_optimize_single_file_noop.py",
      "read_script": "generator/df-reads-spark-iceberg/2305_optimize_single_file_noop.sql",
      "description": "OPTIMIZE on a table with already a single file is effectively a no-op",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2306_optimize_empty_table",
      "num": 2306,
      "name": "optimize_empty_table",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2306_optimize_empty_table.py",
      "read_script": "generator/df-reads-spark-iceberg/2306_optimize_empty_table.sql",
      "description": "OPTIMIZE on an empty table is a no-op but should not error",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2307_optimize_dv_only_table",
      "num": 2307,
      "name": "optimize_dv_only_table",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2307_optimize_dv_only_table.py",
      "read_script": "generator/df-reads-spark-iceberg/2307_optimize_dv_only_table.sql",
      "description": "OPTIMIZE on a table whose only modifications are DV-tagged deletes",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2308_reorg_purge_after_merge",
      "num": 2308,
      "name": "reorg_purge_after_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2308_reorg_purge_after_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2308_reorg_purge_after_merge.sql",
      "description": "REORG TABLE ... APPLY (PURGE) after MERGE rewrites files to physically remove deleted rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2309_reorg_purge_partitioned",
      "num": 2309,
      "name": "reorg_purge_partitioned",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2309_reorg_purge_partitioned.py",
      "read_script": "generator/df-reads-spark-iceberg/2309_reorg_purge_partitioned.sql",
      "description": "REORG TABLE APPLY (PURGE) on a partitioned table",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/230_identity_blocks",
      "num": 230,
      "name": "identity_blocks",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/230_identity_blocks.py",
      "read_script": "generator/df-reads-spark-iceberg/230_identity_blocks.sql",
      "description": "Block Allocation",
      "status": "pass",
      "duration_ms": 31,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 31,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:constraints",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2310_zorder_single_col_with_nulls",
      "num": 2310,
      "name": "zorder_single_col_with_nulls",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2310_zorder_single_col_with_nulls.py",
      "read_script": "generator/df-reads-spark-iceberg/2310_zorder_single_col_with_nulls.sql",
      "description": "ZORDER on a single column that contains nulls",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2311_zorder_three_cols_mixed",
      "num": 2311,
      "name": "zorder_three_cols_mixed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2311_zorder_three_cols_mixed.py",
      "read_script": "generator/df-reads-spark-iceberg/2311_zorder_three_cols_mixed.sql",
      "description": "ZORDER BY three columns of mixed types",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2312_zorder_after_schema_evolve",
      "num": 2312,
      "name": "zorder_after_schema_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2312_zorder_after_schema_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/2312_zorder_after_schema_evolve.sql",
      "description": "Add a new column then ZORDER BY the new column",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:z-order",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2313_optimize_where_partition_predicate",
      "num": 2313,
      "name": "optimize_where_partition_predicate",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2313_optimize_where_partition_predicate.py",
      "read_script": "generator/df-reads-spark-iceberg/2313_optimize_where_partition_predicate.sql",
      "description": "OPTIMIZE WHERE partition predicate compacts only the targeted partition",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2314_zorder_string_col_locality",
      "num": 2314,
      "name": "zorder_string_col_locality",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2314_zorder_string_col_locality.py",
      "read_script": "generator/df-reads-spark-iceberg/2314_zorder_string_col_locality.sql",
      "description": "ZORDER BY a string column to test string locality clustering",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2315_zorder_date_col_locality",
      "num": 2315,
      "name": "zorder_date_col_locality",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2315_zorder_date_col_locality.py",
      "read_script": "generator/df-reads-spark-iceberg/2315_zorder_date_col_locality.sql",
      "description": "ZORDER BY a DATE column",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2316_optimize_sequence_idempotent",
      "num": 2316,
      "name": "optimize_sequence_idempotent",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2316_optimize_sequence_idempotent.py",
      "read_script": "generator/df-reads-spark-iceberg/2316_optimize_sequence_idempotent.sql",
      "description": "Multiple consecutive OPTIMIZE commands are idempotent",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2317_optimize_then_vacuum_retain_zero",
      "num": 2317,
      "name": "optimize_then_vacuum_retain_zero",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2317_optimize_then_vacuum_retain_zero.py",
      "read_script": "generator/df-reads-spark-iceberg/2317_optimize_then_vacuum_retain_zero.sql",
      "description": "OPTIMIZE then VACUUM RETAIN 0 HOURS removes old small files immediately",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2318_vacuum_after_cdc_enabled",
      "num": 2318,
      "name": "vacuum_after_cdc_enabled",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2318_vacuum_after_cdc_enabled.py",
      "read_script": "generator/df-reads-spark-iceberg/2318_vacuum_after_cdc_enabled.sql",
      "description": "Enable CDC, do DML, then VACUUM",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2319_checkpoint_after_ten_commits",
      "num": 2319,
      "name": "checkpoint_after_ten_commits",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2319_checkpoint_after_ten_commits.py",
      "read_script": "generator/df-reads-spark-iceberg/2319_checkpoint_after_ten_commits.sql",
      "description": "Manual checkpoint trigger expected after 10 commits via SET TBLPROPERTIES",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/231_multi_identity",
      "num": 231,
      "name": "multi_identity",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/231_multi_identity.py",
      "read_script": "generator/df-reads-spark-iceberg/231_multi_identity.sql",
      "description": "Multiple Identity Columns",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2320_checkpoint_after_evolve_schema",
      "num": 2320,
      "name": "checkpoint_after_evolve_schema",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2320_checkpoint_after_evolve_schema.py",
      "read_script": "generator/df-reads-spark-iceberg/2320_checkpoint_after_evolve_schema.sql",
      "description": "Schema evolve then more commits should yield checkpoint capturing new schema",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2321_optimize_with_column_mapping",
      "num": 2321,
      "name": "optimize_with_column_mapping",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2321_optimize_with_column_mapping.py",
      "read_script": "generator/df-reads-spark-iceberg/2321_optimize_with_column_mapping.sql",
      "description": "OPTIMIZE on a table with column mapping mode = name",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2322_reorg_apply_purge_keeps_count",
      "num": 2322,
      "name": "reorg_apply_purge_keeps_count",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2322_reorg_apply_purge_keeps_count.py",
      "read_script": "generator/df-reads-spark-iceberg/2322_reorg_apply_purge_keeps_count.sql",
      "description": "REORG APPLY (PURGE) does not change row count if no soft-deletes are present",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2323_vacuum_with_retention_property",
      "num": 2323,
      "name": "vacuum_with_retention_property",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2323_vacuum_with_retention_property.py",
      "read_script": "generator/df-reads-spark-iceberg/2323_vacuum_with_retention_property.sql",
      "description": "Set delta.deletedFileRetentionDuration property and run VACUUM",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2324_optimize_not_null_constraint",
      "num": 2324,
      "name": "optimize_not_null_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2324_optimize_not_null_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/2324_optimize_not_null_constraint.sql",
      "description": "OPTIMIZE on a table with NOT NULL constraint preserves the constraint and data",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2325_zorder_then_immediate_update",
      "num": 2325,
      "name": "zorder_then_immediate_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2325_zorder_then_immediate_update.py",
      "read_script": "generator/df-reads-spark-iceberg/2325_zorder_then_immediate_update.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2326_identity_start_1000_inc_5",
      "num": 2326,
      "name": "identity_start_1000_inc_5",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2326_identity_start_1000_inc_5.py",
      "read_script": "generator/df-reads-spark-iceberg/2326_identity_start_1000_inc_5.sql",
      "description": "IDENTITY column with START WITH 1000 INCREMENT BY 5",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2327_identity_generated_always",
      "num": 2327,
      "name": "identity_generated_always",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2327_identity_generated_always.py",
      "read_script": "generator/df-reads-spark-iceberg/2327_identity_generated_always.sql",
      "description": "IDENTITY GENERATED ALWAYS (not BY DEFAULT)",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2328_identity_survives_optimize",
      "num": 2328,
      "name": "identity_survives_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2328_identity_survives_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/2328_identity_survives_optimize.sql",
      "description": "IDENTITY column survives OPTIMIZE compaction",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2329_identity_resume_after_delete_all",
      "num": 2329,
      "name": "identity_resume_after_delete_all",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2329_identity_resume_after_delete_all.py",
      "read_script": "generator/df-reads-spark-iceberg/2329_identity_resume_after_delete_all.sql",
      "description": "IDENTITY resumes from high-water mark after DELETE all rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/232_identity_delete",
      "num": 232,
      "name": "identity_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/232_identity_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/232_identity_delete.sql",
      "description": "Identity After DELETE",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:identity-columns",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2330_identity_multi_batch_sum",
      "num": 2330,
      "name": "identity_multi_batch_sum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2330_identity_multi_batch_sum.py",
      "read_script": "generator/df-reads-spark-iceberg/2330_identity_multi_batch_sum.sql",
      "description": "IDENTITY across multiple INSERT batches; verify total sum is correct",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "scale:many-batches",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2331_default_null_nullable",
      "num": 2331,
      "name": "default_null_nullable",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2331_default_null_nullable.py",
      "read_script": "generator/df-reads-spark-iceberg/2331_default_null_nullable.sql",
      "description": "DEFAULT NULL on a nullable column",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2332_default_date_literal",
      "num": 2332,
      "name": "default_date_literal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2332_default_date_literal.py",
      "read_script": "generator/df-reads-spark-iceberg/2332_default_date_literal.sql",
      "description": "DEFAULT with DATE literal",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2333_default_alter_set_new",
      "num": 2333,
      "name": "default_alter_set_new",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2333_default_alter_set_new.py",
      "read_script": "generator/df-reads-spark-iceberg/2333_default_alter_set_new.sql",
      "description": "DEFAULT value, then ALTER COLUMN to set new DEFAULT, then insert again",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2334_default_int_then_update",
      "num": 2334,
      "name": "default_int_then_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2334_default_int_then_update.py",
      "read_script": "generator/df-reads-spark-iceberg/2334_default_int_then_update.sql",
      "description": "DEFAULT INT applied, then UPDATE half the rows to non-default",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2335_default_empty_string",
      "num": 2335,
      "name": "default_empty_string",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2335_default_empty_string.py",
      "read_script": "generator/df-reads-spark-iceberg/2335_default_empty_string.sql",
      "description": "DEFAULT '' empty string literal",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2336_gencol_concat_strings",
      "num": 2336,
      "name": "gencol_concat_strings",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2336_gencol_concat_strings.py",
      "read_script": "generator/df-reads-spark-iceberg/2336_gencol_concat_strings.sql",
      "description": "GENERATED column from CONCAT of two strings",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2337_gencol_year_of_date",
      "num": 2337,
      "name": "gencol_year_of_date",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2337_gencol_year_of_date.py",
      "read_script": "generator/df-reads-spark-iceberg/2337_gencol_year_of_date.sql",
      "description": "GENERATED column = YEAR(date_col)",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2338_gencol_month_of_ts",
      "num": 2338,
      "name": "gencol_month_of_ts",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2338_gencol_month_of_ts.py",
      "read_script": "generator/df-reads-spark-iceberg/2338_gencol_month_of_ts.sql",
      "description": "GENERATED column = MONTH(timestamp)",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2339_gencol_three_col_arithmetic",
      "num": 2339,
      "name": "gencol_three_col_arithmetic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2339_gencol_three_col_arithmetic.py",
      "read_script": "generator/df-reads-spark-iceberg/2339_gencol_three_col_arithmetic.sql",
      "description": "GENERATED column = (a + b) * c",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/233_identity_merge",
      "num": 233,
      "name": "identity_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/233_identity_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/233_identity_merge.sql",
      "description": "Identity with MERGE",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:identity-columns",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2340_gencol_merge_insert",
      "num": 2340,
      "name": "gencol_merge_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2340_gencol_merge_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/2340_gencol_merge_insert.sql",
      "description": "GENERATED column populated correctly via MERGE NOT MATCHED INSERT",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2341_gencol_type_cast",
      "num": 2341,
      "name": "gencol_type_cast",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2341_gencol_type_cast.py",
      "read_script": "generator/df-reads-spark-iceberg/2341_gencol_type_cast.sql",
      "description": "GENERATED column with explicit CAST (INT -> STRING)",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2342_tsntz_min_year_1970",
      "num": 2342,
      "name": "tsntz_min_year_1970",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2342_tsntz_min_year_1970.py",
      "read_script": "generator/df-reads-spark-iceberg/2342_tsntz_min_year_1970.sql",
      "description": "TIMESTAMP_NTZ with epoch year 1970",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:timestamp-ntz",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2343_tsntz_microsecond_precision",
      "num": 2343,
      "name": "tsntz_microsecond_precision",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2343_tsntz_microsecond_precision.py",
      "read_script": "generator/df-reads-spark-iceberg/2343_tsntz_microsecond_precision.sql",
      "description": "TIMESTAMP_NTZ values with microsecond precision",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:timestamp-ntz",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2344_tsntz_merge_update_clause",
      "num": 2344,
      "name": "tsntz_merge_update_clause",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2344_tsntz_merge_update_clause.py",
      "read_script": "generator/df-reads-spark-iceberg/2344_tsntz_merge_update_clause.sql",
      "description": "TIMESTAMP_NTZ updated via MERGE WHEN MATCHED THEN UPDATE SET",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:timestamp-ntz",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2345_tsntz_zorder",
      "num": 2345,
      "name": "tsntz_zorder",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2345_tsntz_zorder.py",
      "read_script": "generator/df-reads-spark-iceberg/2345_tsntz_zorder.sql",
      "description": "TIMESTAMP_NTZ column used as Z-ORDER key",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:timestamp-ntz",
        "dml:insert",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2346_default_identity_generated_combo",
      "num": 2346,
      "name": "default_identity_generated_combo",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2346_default_identity_generated_combo.py",
      "read_script": "generator/df-reads-spark-iceberg/2346_default_identity_generated_combo.sql",
      "description": "12 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2347_gencol_coalesce",
      "num": 2347,
      "name": "gencol_coalesce",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2347_gencol_coalesce.py",
      "read_script": "generator/df-reads-spark-iceberg/2347_gencol_coalesce.sql",
      "description": "GENERATED column using COALESCE on nullable input",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2348_identity_update_other_cols",
      "num": 2348,
      "name": "identity_update_other_cols",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2348_identity_update_other_cols.py",
      "read_script": "generator/df-reads-spark-iceberg/2348_identity_update_other_cols.sql",
      "description": "IDENTITY column remains stable when other columns are UPDATEd",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2349_alter_add_column_with_default",
      "num": 2349,
      "name": "alter_add_column_with_default",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2349_alter_add_column_with_default.py",
      "read_script": "generator/df-reads-spark-iceberg/2349_alter_add_column_with_default.sql",
      "description": "ALTER TABLE ADD COLUMN with DEFAULT applied to subsequent inserts",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/234_identity_resume",
      "num": 234,
      "name": "identity_resume",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/234_identity_resume.py",
      "read_script": "generator/df-reads-spark-iceberg/234_identity_resume.sql",
      "description": "Identity Resume After DBX Insert",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2350_gencol_from_partition_col",
      "num": 2350,
      "name": "gencol_from_partition_col",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2350_gencol_from_partition_col.py",
      "read_script": "generator/df-reads-spark-iceberg/2350_gencol_from_partition_col.sql",
      "description": "GENERATED column referencing source of a partition column",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "delta:generated-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2351_merge_matched_with_filter",
      "num": 2351,
      "name": "merge_matched_with_filter",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2351_merge_matched_with_filter.py",
      "read_script": "generator/df-reads-spark-iceberg/2351_merge_matched_with_filter.sql",
      "description": "MERGE WHEN MATCHED AND <cond> THEN UPDATE -- only rows passing the filter update",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2352_merge_nmbs_delete",
      "num": 2352,
      "name": "merge_nmbs_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2352_merge_nmbs_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/2352_merge_nmbs_delete.sql",
      "description": "MERGE WHEN NOT MATCHED BY SOURCE THEN DELETE -- prunes target rows missing in source",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2353_merge_nmbs_update",
      "num": 2353,
      "name": "merge_nmbs_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2353_merge_nmbs_update.py",
      "read_script": "generator/df-reads-spark-iceberg/2353_merge_nmbs_update.sql",
      "description": "MERGE WHEN NOT MATCHED BY SOURCE THEN UPDATE -- mark missing rows as inactive",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2354_merge_multi_matched_clauses",
      "num": 2354,
      "name": "merge_multi_matched_clauses",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2354_merge_multi_matched_clauses.py",
      "read_script": "generator/df-reads-spark-iceberg/2354_merge_multi_matched_clauses.sql",
      "description": "MERGE with multiple WHEN MATCHED clauses (delete then update)",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2355_merge_source_aggregation",
      "num": 2355,
      "name": "merge_source_aggregation",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2355_merge_source_aggregation.py",
      "read_script": "generator/df-reads-spark-iceberg/2355_merge_source_aggregation.sql",
      "description": "MERGE source is a subquery with GROUP BY aggregation",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2356_merge_source_values_clause",
      "num": 2356,
      "name": "merge_source_values_clause",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2356_merge_source_values_clause.py",
      "read_script": "generator/df-reads-spark-iceberg/2356_merge_source_values_clause.sql",
      "description": "MERGE source is an inline VALUES list",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2357_merge_insert_star_match",
      "num": 2357,
      "name": "merge_insert_star_match",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2357_merge_insert_star_match.py",
      "read_script": "generator/df-reads-spark-iceberg/2357_merge_insert_star_match.sql",
      "description": "MERGE with INSERT * and UPDATE SET * shorthand on identical schemas",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2358_merge_partitioned_target",
      "num": 2358,
      "name": "merge_partitioned_target",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2358_merge_partitioned_target.py",
      "read_script": "generator/df-reads-spark-iceberg/2358_merge_partitioned_target.sql",
      "description": "MERGE into a partitioned target table",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2359_merge_with_cdf_enabled",
      "num": 2359,
      "name": "merge_with_cdf_enabled",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2359_merge_with_cdf_enabled.py",
      "read_script": "generator/df-reads-spark-iceberg/2359_merge_with_cdf_enabled.sql",
      "description": "MERGE on a table with Change Data Feed enabled (CDC events recorded)",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/235_default_literal",
      "num": 235,
      "name": "default_literal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/235_default_literal.py",
      "read_script": "generator/df-reads-spark-iceberg/235_default_literal.sql",
      "description": "Basic literal default values for columns",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:default-values",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2360_insert_overwrite_where_predicate",
      "num": 2360,
      "name": "insert_overwrite_where_predicate",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2360_insert_overwrite_where_predicate.py",
      "read_script": "generator/df-reads-spark-iceberg/2360_insert_overwrite_where_predicate.sql",
      "description": "INSERT OVERWRITE with replaceWhere-style predicate (replace only one region)",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2361_insert_overwrite_partitioned_full",
      "num": 2361,
      "name": "insert_overwrite_partitioned_full",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2361_insert_overwrite_partitioned_full.py",
      "read_script": "generator/df-reads-spark-iceberg/2361_insert_overwrite_partitioned_full.sql",
      "description": "INSERT OVERWRITE entire partitioned table",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2362_overwrite_then_insert_into",
      "num": 2362,
      "name": "overwrite_then_insert_into",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2362_overwrite_then_insert_into.py",
      "read_script": "generator/df-reads-spark-iceberg/2362_overwrite_then_insert_into.sql",
      "description": "INSERT OVERWRITE followed by INSERT INTO",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:overwrite",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2363_overwrite_single_partition",
      "num": 2363,
      "name": "overwrite_single_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2363_overwrite_single_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/2363_overwrite_single_partition.sql",
      "description": "Replace a single partition by overwriting with rows from one partition only",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:overwrite",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2364_update_delete_insert_chain",
      "num": 2364,
      "name": "update_delete_insert_chain",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2364_update_delete_insert_chain.py",
      "read_script": "generator/df-reads-spark-iceberg/2364_update_delete_insert_chain.sql",
      "description": "UPDATE then DELETE then INSERT chain hitting overlapping ids",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2365_delete_in_subquery",
      "num": 2365,
      "name": "delete_in_subquery",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2365_delete_in_subquery.py",
      "read_script": "generator/df-reads-spark-iceberg/2365_delete_in_subquery.sql",
      "description": "DELETE WHERE id IN (subquery from another delta table)",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2366_update_from_join_via_merge",
      "num": 2366,
      "name": "update_from_join_via_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2366_update_from_join_via_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2366_update_from_join_via_merge.sql",
      "description": "Emulate UPDATE FROM <other table> via MERGE source subquery",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2367_merge_self_via_cte",
      "num": 2367,
      "name": "merge_self_via_cte",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2367_merge_self_via_cte.py",
      "read_script": "generator/df-reads-spark-iceberg/2367_merge_self_via_cte.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2368_merge_case_in_set",
      "num": 2368,
      "name": "merge_case_in_set",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2368_merge_case_in_set.py",
      "read_script": "generator/df-reads-spark-iceberg/2368_merge_case_in_set.sql",
      "description": "MERGE UPDATE SET uses CASE expression",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2369_merge_null_safe_match",
      "num": 2369,
      "name": "merge_null_safe_match",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2369_merge_null_safe_match.py",
      "read_script": "generator/df-reads-spark-iceberg/2369_merge_null_safe_match.sql",
      "description": "MERGE with NULL handling in match condition (rows with NULL key not matched)",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/236_default_expression",
      "num": 236,
      "name": "default_expression",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/236_default_expression.py",
      "read_script": "generator/df-reads-spark-iceberg/236_default_expression.sql",
      "description": "Deterministic expression defaults for columns",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2370_merge_delete_then_reinsert",
      "num": 2370,
      "name": "merge_delete_then_reinsert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2370_merge_delete_then_reinsert.py",
      "read_script": "generator/df-reads-spark-iceberg/2370_merge_delete_then_reinsert.sql",
      "description": "MERGE deletes rows then a follow-up MERGE re-inserts the same ids",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2371_update_multi_set_chain",
      "num": 2371,
      "name": "update_multi_set_chain",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2371_update_multi_set_chain.py",
      "read_script": "generator/df-reads-spark-iceberg/2371_update_multi_set_chain.sql",
      "description": "UPDATE with multiple SET assignments computed from old values",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2372_full_refresh_pattern",
      "num": 2372,
      "name": "full_refresh_pattern",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2372_full_refresh_pattern.py",
      "read_script": "generator/df-reads-spark-iceberg/2372_full_refresh_pattern.sql",
      "description": "DELETE all then INSERT (full refresh pattern)",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2373_merge_constant_source",
      "num": 2373,
      "name": "merge_constant_source",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2373_merge_constant_source.py",
      "read_script": "generator/df-reads-spark-iceberg/2373_merge_constant_source.sql",
      "description": "MERGE with one-row constant source updating many target rows via non-equi predicate",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2374_overwrite_schema_preserved",
      "num": 2374,
      "name": "overwrite_schema_preserved",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2374_overwrite_schema_preserved.py",
      "read_script": "generator/df-reads-spark-iceberg/2374_overwrite_schema_preserved.sql",
      "description": "INSERT OVERWRITE preserves the existing schema",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2375_merge_then_optimize",
      "num": 2375,
      "name": "merge_then_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2375_merge_then_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/2375_merge_then_optimize.sql",
      "description": "MERGE followed by OPTIMIZE -- read still returns same logical state",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2376_cdf_read_specific_version",
      "num": 2376,
      "name": "cdf_read_specific_version",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2376_cdf_read_specific_version.py",
      "read_script": "generator/df-reads-spark-iceberg/2376_cdf_read_specific_version.sql",
      "description": "V0 INSERT 10 / V1 UPDATE 4 / V2 DELETE 3.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2377_cdf_ending_version_bounded",
      "num": 2377,
      "name": "cdf_ending_version_bounded",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2377_cdf_ending_version_bounded.py",
      "read_script": "generator/df-reads-spark-iceberg/2377_cdf_ending_version_bounded.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2378_alter_add_then_drop_column",
      "num": 2378,
      "name": "alter_add_then_drop_column",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2378_alter_add_then_drop_column.py",
      "read_script": "generator/df-reads-spark-iceberg/2378_alter_add_then_drop_column.sql",
      "description": "Final schema must be {id, name} like start. Requires column mapping for DROP.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "schema:add-column",
        "schema:drop-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2379_alter_rename_column_twice",
      "num": 2379,
      "name": "alter_rename_column_twice",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2379_alter_rename_column_twice.py",
      "read_script": "generator/df-reads-spark-iceberg/2379_alter_rename_column_twice.sql",
      "description": "Final logical column name should be 'omega'.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "schema:rename-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/237_default_null_handling",
      "num": 237,
      "name": "default_null_handling",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/237_default_null_handling.py",
      "read_script": "generator/df-reads-spark-iceberg/237_default_null_handling.sql",
      "description": "Default vs explicit NULL handling",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2380_evolve_add_struct_column",
      "num": 2380,
      "name": "evolve_add_struct_column",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2380_evolve_add_struct_column.py",
      "read_script": "generator/df-reads-spark-iceberg/2380_evolve_add_struct_column.sql",
      "description": "Initial schema is flat; new struct column starts as NULL for prior rows.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2381_colmap_name_add_column",
      "num": 2381,
      "name": "colmap_name_add_column",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2381_colmap_name_add_column.py",
      "read_script": "generator/df-reads-spark-iceberg/2381_colmap_name_add_column.sql",
      "description": "Column mapping NAME mode + ALTER TABLE ADD COLUMN. New column gets a fresh physical name in delta log metadata.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2382_colmap_id_basic_readback",
      "num": 2382,
      "name": "colmap_id_basic_readback",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2382_colmap_id_basic_readback.py",
      "read_script": "generator/df-reads-spark-iceberg/2382_colmap_id_basic_readback.sql",
      "description": "40 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2383_colmap_drop_column",
      "num": 2383,
      "name": "colmap_drop_column",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2383_colmap_drop_column.py",
      "read_script": "generator/df-reads-spark-iceberg/2383_colmap_drop_column.sql",
      "description": "Column mapping NAME mode + ALTER TABLE DROP COLUMN. Verifies the dropped column is no longer visible to readers.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "schema:drop-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2384_time_travel_version_as_of",
      "num": 2384,
      "name": "time_travel_version_as_of",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2384_time_travel_version_as_of.py",
      "read_script": "generator/df-reads-spark-iceberg/2384_time_travel_version_as_of.sql",
      "description": "Verify side reads each version with versionAsOf.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2385_time_travel_timestamp_as_of",
      "num": 2385,
      "name": "time_travel_timestamp_as_of",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2385_time_travel_timestamp_as_of.py",
      "read_script": "generator/df-reads-spark-iceberg/2385_time_travel_timestamp_as_of.sql",
      "description": "Time travel using timestampAsOf. Verify side uses the latest commit's timestamp to resolve the final state.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2386_cdc_partition_delete",
      "num": 2386,
      "name": "cdc_partition_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2386_cdc_partition_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/2386_cdc_partition_delete.sql",
      "description": "CDC enabled + partition column + DELETE operation produces CDF delete events.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2387_check_constraint_after_optimize",
      "num": 2387,
      "name": "check_constraint_after_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2387_check_constraint_after_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/2387_check_constraint_after_optimize.sql",
      "description": "CHECK constraint metadata must survive an OPTIMIZE call.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2388_multi_check_same_column",
      "num": 2388,
      "name": "multi_check_same_column",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2388_multi_check_same_column.py",
      "read_script": "generator/df-reads-spark-iceberg/2388_multi_check_same_column.sql",
      "description": "Two CHECK constraints on the same column (lower bound + upper bound).",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2389_check_constraint_two_columns",
      "num": 2389,
      "name": "check_constraint_two_columns",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2389_check_constraint_two_columns.py",
      "read_script": "generator/df-reads-spark-iceberg/2389_check_constraint_two_columns.sql",
      "description": "50 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/238_default_evolution",
      "num": 238,
      "name": "default_evolution",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/238_default_evolution.py",
      "read_script": "generator/df-reads-spark-iceberg/238_default_evolution.sql",
      "description": "Schema evolution where new columns with defaults are added",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2390_not_null_via_check",
      "num": 2390,
      "name": "not_null_via_check",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2390_not_null_via_check.py",
      "read_script": "generator/df-reads-spark-iceberg/2390_not_null_via_check.sql",
      "description": "Enforce non-null via a CHECK (name IS NOT NULL) constraint added post-hoc.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2391_cdc_toggle_cycle",
      "num": 2391,
      "name": "cdc_toggle_cycle",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2391_cdc_toggle_cycle.py",
      "read_script": "generator/df-reads-spark-iceberg/2391_cdc_toggle_cycle.sql",
      "description": "Final metadata should reflect enableChangeDataFeed = true.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2392_cdc_merge_update_images",
      "num": 2392,
      "name": "cdc_merge_update_images",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2392_cdc_merge_update_images.py",
      "read_script": "generator/df-reads-spark-iceberg/2392_cdc_merge_update_images.sql",
      "description": "CDC + MERGE matched UPDATE. Verify update_preimage/update_postimage events in CDF.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2393_evolve_then_time_travel",
      "num": 2393,
      "name": "evolve_then_time_travel",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2393_evolve_then_time_travel.py",
      "read_script": "generator/df-reads-spark-iceberg/2393_evolve_then_time_travel.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2394_colmap_evolve_add_column",
      "num": 2394,
      "name": "colmap_evolve_add_column",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2394_colmap_evolve_add_column.py",
      "read_script": "generator/df-reads-spark-iceberg/2394_colmap_evolve_add_column.sql",
      "description": "Column mapping NAME mode + schema evolution (ADD COLUMN) combo.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2395_cdf_filter_change_type",
      "num": 2395,
      "name": "cdf_filter_change_type",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2395_cdf_filter_change_type.py",
      "read_script": "generator/df-reads-spark-iceberg/2395_cdf_filter_change_type.sql",
      "description": "CDC with mixed INSERT/UPDATE/DELETE so Spark side can filter CDF by _change_type.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2396_check_and_default_same_column",
      "num": 2396,
      "name": "check_and_default_same_column",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2396_check_and_default_same_column.py",
      "read_script": "generator/df-reads-spark-iceberg/2396_check_and_default_same_column.sql",
      "description": "DEFAULT literal on a column plus a CHECK constraint on the same column.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2397_set_then_unset_tblproperty",
      "num": 2397,
      "name": "set_then_unset_tblproperty",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2397_set_then_unset_tblproperty.py",
      "read_script": "generator/df-reads-spark-iceberg/2397_set_then_unset_tblproperty.sql",
      "description": "SET then UNSET a custom TBLPROPERTY. Latest metadata must not contain the property.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2398_time_travel_after_vacuum",
      "num": 2398,
      "name": "time_travel_after_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2398_time_travel_after_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/2398_time_travel_after_vacuum.sql",
      "description": "VACUUM DRY RUN (non-destructive) then prove recent versions still time-travel readable.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:time-travel",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2399_cdf_batch_multi_versions",
      "num": 2399,
      "name": "cdf_batch_multi_versions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2399_cdf_batch_multi_versions.py",
      "read_script": "generator/df-reads-spark-iceberg/2399_cdf_batch_multi_versions.sql",
      "description": "CDF batch read with startingVersion=1, endingVersion=3 spanning 3 commits.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/239_default_mixed",
      "num": 239,
      "name": "default_mixed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/239_default_mixed.py",
      "read_script": "generator/df-reads-spark-iceberg/239_default_mixed.sql",
      "description": "Table with many different deterministic default value types.",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/23_action_checkpoint_metadata_v2",
      "num": 23,
      "name": "action_checkpoint_metadata_v2",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/23_action_checkpoint_metadata_v2.py",
      "read_script": "generator/df-reads-spark-iceberg/23_action_checkpoint_metadata_v2.sql",
      "description": "Demonstrates checkpoint metadata action (V2) which signals readers to use V2 checkpoint parsing logic.",
      "status": "pass",
      "duration_ms": 22,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:46:06.533780+00:00",
      "read_cold_ms": 22,
      "read_warm_ms": 14,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "dml:overwrite",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2400_colmap_partition_column",
      "num": 2400,
      "name": "colmap_partition_column",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2400_colmap_partition_column.py",
      "read_script": "generator/df-reads-spark-iceberg/2400_colmap_partition_column.sql",
      "description": "Column mapping NAME mode + PARTITIONED BY combo. Verify partition pruning works.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2401_create_table_inline_check_constraint",
      "num": 2401,
      "name": "create_table_inline_check_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2401_create_table_inline_check_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/2401_create_table_inline_check_constraint.sql",
      "description": "Inline CHECK constraint on CREATE TABLE persists to delta.constraints.*",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2402_blind_merge_identity",
      "num": 2402,
      "name": "blind_merge_identity",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2402_blind_merge_identity.py",
      "read_script": "generator/df-reads-spark-iceberg/2402_blind_merge_identity.sql",
      "description": "MERGE WHEN NOT MATCHED only (no MATCHED clauses) into IDENTITY table",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2403_blind_merge_default",
      "num": 2403,
      "name": "blind_merge_default",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2403_blind_merge_default.py",
      "read_script": "generator/df-reads-spark-iceberg/2403_blind_merge_default.sql",
      "description": "MERGE WHEN NOT MATCHED only into DEFAULT table",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2404_blind_merge_generated",
      "num": 2404,
      "name": "blind_merge_generated",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2404_blind_merge_generated.py",
      "read_script": "generator/df-reads-spark-iceberg/2404_blind_merge_generated.sql",
      "description": "MERGE WHEN NOT MATCHED only into GENERATED table",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2405_cor_remove_partitions_wipes_dirs",
      "num": 2405,
      "name": "cor_remove_partitions_wipes_dirs",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2405_cor_remove_partitions_wipes_dirs.py",
      "read_script": "generator/df-reads-spark-iceberg/2405_cor_remove_partitions_wipes_dirs.sql",
      "description": "CREATE OR REPLACE removing partitions wipes the old <col>=<val> dirs from disk",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2406_vacuum_dry_run_no_commit",
      "num": 2406,
      "name": "vacuum_dry_run_no_commit",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2406_vacuum_dry_run_no_commit.py",
      "read_script": "generator/df-reads-spark-iceberg/2406_vacuum_dry_run_no_commit.sql",
      "description": "VACUUM DRY RUN must not write a commit and must not delete files",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2407_drop_table_preserves_files_when_property_false",
      "num": 2407,
      "name": "drop_table_preserves_files_when_property_false",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2407_drop_table_preserves_files_when_property_false.py",
      "read_script": "generator/df-reads-spark-iceberg/2407_drop_table_preserves_files_when_property_false.sql",
      "description": "DROP TABLE on a table with delta.forge.dropTableDeletesFiles=false leaves data files behind",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2408_drop_table_with_files_overrides_property",
      "num": 2408,
      "name": "drop_table_with_files_overrides_property",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2408_drop_table_with_files_overrides_property.py",
      "read_script": "generator/df-reads-spark-iceberg/2408_drop_table_with_files_overrides_property.sql",
      "description": "DROP TABLE WITH FILES deletes data even when delta.forge.dropTableDeletesFiles=false",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2409_alter_add_check_constraint",
      "num": 2409,
      "name": "alter_add_check_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2409_alter_add_check_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/2409_alter_add_check_constraint.sql",
      "description": "ALTER TABLE ADD CONSTRAINT after creation persists named CHECK to delta log",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/240_default_partial",
      "num": 240,
      "name": "default_partial",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/240_default_partial.py",
      "read_script": "generator/df-reads-spark-iceberg/240_default_partial.sql",
      "description": "Partial insert testing with default values",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2410_foreign_set_warning_message",
      "num": 2410,
      "name": "foreign_set_warning_message",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2410_foreign_set_warning_message.py",
      "read_script": "generator/df-reads-spark-iceberg/2410_foreign_set_warning_message.sql",
      "description": "SET spark.databricks.* is silently ignored but produces a warning",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2411_scale_insert_100k_ints",
      "num": 2411,
      "name": "scale_insert_100k_ints",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2411_scale_insert_100k_ints.py",
      "read_script": "generator/df-reads-spark-iceberg/2411_scale_insert_100k_ints.sql",
      "description": "100000 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2412_scale_insert_100k_mixed_types",
      "num": 2412,
      "name": "scale_insert_100k_mixed_types",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2412_scale_insert_100k_mixed_types.py",
      "read_script": "generator/df-reads-spark-iceberg/2412_scale_insert_100k_mixed_types.sql",
      "description": "100000 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2413_scale_delete_half_100k",
      "num": 2413,
      "name": "scale_delete_half_100k",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2413_scale_delete_half_100k.py",
      "read_script": "generator/df-reads-spark-iceberg/2413_scale_delete_half_100k.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2414_scale_update_all_100k",
      "num": 2414,
      "name": "scale_update_all_100k",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2414_scale_update_all_100k.py",
      "read_script": "generator/df-reads-spark-iceberg/2414_scale_update_all_100k.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2415_scale_merge_100k_upsert",
      "num": 2415,
      "name": "scale_merge_100k_upsert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2415_scale_merge_100k_upsert.py",
      "read_script": "generator/df-reads-spark-iceberg/2415_scale_merge_100k_upsert.sql",
      "description": "updating overlap + inserting new. Final=75000.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2416_scale_optimize_after_many_inserts",
      "num": 2416,
      "name": "scale_optimize_after_many_inserts",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2416_scale_optimize_after_many_inserts.py",
      "read_script": "generator/df-reads-spark-iceberg/2416_scale_optimize_after_many_inserts.sql",
      "description": "10000 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2417_scale_many_small_files_200",
      "num": 2417,
      "name": "scale_many_small_files_200",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2417_scale_many_small_files_200.py",
      "read_script": "generator/df-reads-spark-iceberg/2417_scale_many_small_files_200.sql",
      "description": "200 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2418_scale_zorder_50k",
      "num": 2418,
      "name": "scale_zorder_50k",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2418_scale_zorder_50k.py",
      "read_script": "generator/df-reads-spark-iceberg/2418_scale_zorder_50k.sql",
      "description": "50000 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2419_scale_vacuum_after_heavy_dml",
      "num": 2419,
      "name": "scale_vacuum_after_heavy_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2419_scale_vacuum_after_heavy_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/2419_scale_vacuum_after_heavy_dml.sql",
      "description": null,
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/241_default_preserve",
      "num": 241,
      "name": "default_preserve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/241_default_preserve.py",
      "read_script": "generator/df-reads-spark-iceberg/241_default_preserve.sql",
      "description": "Default metadata preservation in schema",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2420_scale_cdc_100k_inserts",
      "num": 2420,
      "name": "scale_cdc_100k_inserts",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2420_scale_cdc_100k_inserts.py",
      "read_script": "generator/df-reads-spark-iceberg/2420_scale_cdc_100k_inserts.sql",
      "description": "100000 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2421_scale_wide_table_50_cols",
      "num": 2421,
      "name": "scale_wide_table_50_cols",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2421_scale_wide_table_50_cols.py",
      "read_script": "generator/df-reads-spark-iceberg/2421_scale_wide_table_50_cols.sql",
      "description": "10000 rows",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2422_scale_wide_table_100_cols",
      "num": 2422,
      "name": "scale_wide_table_100_cols",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2422_scale_wide_table_100_cols.py",
      "read_script": "generator/df-reads-spark-iceberg/2422_scale_wide_table_100_cols.sql",
      "description": "5000 rows",
      "status": "pass",
      "duration_ms": 69,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 69,
      "read_warm_ms": 25,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2423_scale_1000_partitions",
      "num": 2423,
      "name": "scale_1000_partitions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2423_scale_1000_partitions.py",
      "read_script": "generator/df-reads-spark-iceberg/2423_scale_1000_partitions.sql",
      "description": "10000 rows",
      "status": "pass",
      "duration_ms": 80,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 80,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2424_scale_nested_struct_3_levels",
      "num": 2424,
      "name": "scale_nested_struct_3_levels",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2424_scale_nested_struct_3_levels.py",
      "read_script": "generator/df-reads-spark-iceberg/2424_scale_nested_struct_3_levels.sql",
      "description": "10000 rows",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:struct",
        "dml:insert",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2425_scale_large_arrays",
      "num": 2425,
      "name": "scale_large_arrays",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2425_scale_large_arrays.py",
      "read_script": "generator/df-reads-spark-iceberg/2425_scale_large_arrays.sql",
      "description": "1000 rows",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:array",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2426_scale_large_maps",
      "num": 2426,
      "name": "scale_large_maps",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2426_scale_large_maps.py",
      "read_script": "generator/df-reads-spark-iceberg/2426_scale_large_maps.sql",
      "description": "1000 rows",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:map",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2427_scale_50_versions",
      "num": 2427,
      "name": "scale_50_versions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2427_scale_50_versions.py",
      "read_script": "generator/df-reads-spark-iceberg/2427_scale_50_versions.sql",
      "description": "5000 rows",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2428_scale_merge_delete_50k",
      "num": 2428,
      "name": "scale_merge_delete_50k",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2428_scale_merge_delete_50k.py",
      "read_script": "generator/df-reads-spark-iceberg/2428_scale_merge_delete_50k.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2429_scale_sequential_optimize_10x",
      "num": 2429,
      "name": "scale_sequential_optimize_10x",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2429_scale_sequential_optimize_10x.py",
      "read_script": "generator/df-reads-spark-iceberg/2429_scale_sequential_optimize_10x.sql",
      "description": "10000 rows",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/242_default_nested",
      "num": 242,
      "name": "default_nested",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/242_default_nested.py",
      "read_script": "generator/df-reads-spark-iceberg/242_default_nested.sql",
      "description": "Default values for nested STRUCT types",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "delta:default-values",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2430_scale_decimal_38_10_100k",
      "num": 2430,
      "name": "scale_decimal_38_10_100k",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2430_scale_decimal_38_10_100k.py",
      "read_script": "generator/df-reads-spark-iceberg/2430_scale_decimal_38_10_100k.sql",
      "description": "100000 rows",
      "status": "pass",
      "duration_ms": 40,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 40,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2431_scale_long_strings_10k",
      "num": 2431,
      "name": "scale_long_strings_10k",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2431_scale_long_strings_10k.py",
      "read_script": "generator/df-reads-spark-iceberg/2431_scale_long_strings_10k.sql",
      "description": "10000 rows",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2432_scale_insert_overwrite_50k",
      "num": 2432,
      "name": "scale_insert_overwrite_50k",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2432_scale_insert_overwrite_50k.py",
      "read_script": "generator/df-reads-spark-iceberg/2432_scale_insert_overwrite_50k.sql",
      "description": "50000 rows",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2433_scale_stats_after_merge",
      "num": 2433,
      "name": "scale_stats_after_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2433_scale_stats_after_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2433_scale_stats_after_merge.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2434_scale_checkpoint_50_commits",
      "num": 2434,
      "name": "scale_checkpoint_50_commits",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2434_scale_checkpoint_50_commits.py",
      "read_script": "generator/df-reads-spark-iceberg/2434_scale_checkpoint_50_commits.sql",
      "description": "5000 rows",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2435_scale_cdc_heavy_dml",
      "num": 2435,
      "name": "scale_cdc_heavy_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2435_scale_cdc_heavy_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/2435_scale_cdc_heavy_dml.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2436_scale_insert_500k",
      "num": 2436,
      "name": "scale_insert_500k",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2436_scale_insert_500k.py",
      "read_script": "generator/df-reads-spark-iceberg/2436_scale_insert_500k.sql",
      "description": "500000 rows",
      "status": "pass",
      "duration_ms": 73,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 73,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2437_scale_delete_90pct",
      "num": 2437,
      "name": "scale_delete_90pct",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2437_scale_delete_90pct.py",
      "read_script": "generator/df-reads-spark-iceberg/2437_scale_delete_90pct.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2438_scale_merge_self_join",
      "num": 2438,
      "name": "scale_merge_self_join",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2438_scale_merge_self_join.py",
      "read_script": "generator/df-reads-spark-iceberg/2438_scale_merge_self_join.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2439_scale_restore_after_50_versions",
      "num": 2439,
      "name": "scale_restore_after_50_versions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2439_scale_restore_after_50_versions.py",
      "read_script": "generator/df-reads-spark-iceberg/2439_scale_restore_after_50_versions.sql",
      "description": "RESTORE TO VERSION 1 -> only 100 rows.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/243_cdc_enable",
      "num": 243,
      "name": "cdc_enable",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/243_cdc_enable.py",
      "read_script": "generator/df-reads-spark-iceberg/243_cdc_enable.sql",
      "description": "Enabling Change Data Capture via table property",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:change-data-feed",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2440_scale_time_travel_20_versions",
      "num": 2440,
      "name": "scale_time_travel_20_versions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2440_scale_time_travel_20_versions.py",
      "read_script": "generator/df-reads-spark-iceberg/2440_scale_time_travel_20_versions.sql",
      "description": "Version 10 has 500 rows (batches 1-10).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2441_scale_optimize_partitioned_100k",
      "num": 2441,
      "name": "scale_optimize_partitioned_100k",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2441_scale_optimize_partitioned_100k.py",
      "read_script": "generator/df-reads-spark-iceberg/2441_scale_optimize_partitioned_100k.sql",
      "description": "100000 rows",
      "status": "pass",
      "duration_ms": 22,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 22,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2442_scale_zorder_multi_col_100k",
      "num": 2442,
      "name": "scale_zorder_multi_col_100k",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2442_scale_zorder_multi_col_100k.py",
      "read_script": "generator/df-reads-spark-iceberg/2442_scale_zorder_multi_col_100k.sql",
      "description": "100000 rows",
      "status": "pass",
      "duration_ms": 41,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 41,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2443_scale_merge_100k_three_clause",
      "num": 2443,
      "name": "scale_merge_100k_three_clause",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2443_scale_merge_100k_three_clause.py",
      "read_script": "generator/df-reads-spark-iceberg/2443_scale_merge_100k_three_clause.sql",
      "description": "MATCHED AND id>25000 -> DELETE. NOT MATCHED (ids 100001-125000) -> INSERT. so we need a different source. Let's use 25001-75000: ids 1-100000 exist. Source 25001-75000. MATCHED AND src.id <= 50000 -> UPDATE. MATCHED AND src.id > 50000 -> DELETE.",
      "status": "pass",
      "duration_ms": 40,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 40,
      "read_warm_ms": 14,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2444_scale_cdc_merge_100k",
      "num": 2444,
      "name": "scale_cdc_merge_100k",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2444_scale_cdc_merge_100k.py",
      "read_script": "generator/df-reads-spark-iceberg/2444_scale_cdc_merge_100k.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 31,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 31,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2445_scale_vacuum_optimize_chain",
      "num": 2445,
      "name": "scale_vacuum_optimize_chain",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2445_scale_vacuum_optimize_chain.py",
      "read_script": "generator/df-reads-spark-iceberg/2445_scale_vacuum_optimize_chain.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2446_conflict_update_same_rows_twice",
      "num": 2446,
      "name": "conflict_update_same_rows_twice",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2446_conflict_update_same_rows_twice.py",
      "read_script": "generator/df-reads-spark-iceberg/2446_conflict_update_same_rows_twice.sql",
      "description": "INSERT 1k rows, UPDATE val=100 WHERE id<=500, UPDATE val=200 WHERE id<=700. ids 1-500 get val=200 (second update overwrites first), ids 501-700 get val=200, ids 701-1000 keep original val (i*10).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2447_conflict_delete_then_update_overlap",
      "num": 2447,
      "name": "conflict_delete_then_update_overlap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2447_conflict_delete_then_update_overlap.py",
      "read_script": "generator/df-reads-spark-iceberg/2447_conflict_delete_then_update_overlap.sql",
      "description": "INSERT 1k rows, DELETE WHERE id%3=0, UPDATE val=999 WHERE id%3=1.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2448_conflict_merge_overlapping",
      "num": 2448,
      "name": "conflict_merge_overlapping",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2448_conflict_merge_overlapping.py",
      "read_script": "generator/df-reads-spark-iceberg/2448_conflict_merge_overlapping.sql",
      "description": "INSERT 500 (ids 1-500) + MERGE source (ids 250-750). WHEN MATCHED UPDATE val=0, WHEN NOT MATCHED INSERT.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2449_conflict_insert_delete_reinsert",
      "num": 2449,
      "name": "conflict_insert_delete_reinsert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2449_conflict_insert_delete_reinsert.py",
      "read_script": "generator/df-reads-spark-iceberg/2449_conflict_insert_delete_reinsert.sql",
      "description": "INSERT 500 (ids 1-500) + DELETE all + INSERT 500 new rows (ids 501-1000).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/244_cdc_insert",
      "num": 244,
      "name": "cdc_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/244_cdc_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/244_cdc_insert.sql",
      "description": "- Change Data Feed (CDF) enabled table for insert tracking - Table property: delta.enableChangeDataFeed = true - Simple order tracking schema with timestamps",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:change-data-feed",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2450_conflict_optimize_between_dml",
      "num": 2450,
      "name": "conflict_optimize_between_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2450_conflict_optimize_between_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/2450_conflict_optimize_between_dml.sql",
      "description": "INSERT 500 + OPTIMIZE + INSERT 500 (ids 501-1000) + DELETE WHERE id<=250.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2451_conflict_vacuum_between_dml",
      "num": 2451,
      "name": "conflict_vacuum_between_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2451_conflict_vacuum_between_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/2451_conflict_vacuum_between_dml.sql",
      "description": "INSERT 500 + DELETE WHERE id<=250 + VACUUM RETAIN 0 HOURS + INSERT (ids 501-750).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2452_conflict_restore_then_dml",
      "num": 2452,
      "name": "conflict_restore_then_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2452_conflict_restore_then_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/2452_conflict_restore_then_dml.sql",
      "description": "INSERT 500 (v1, val=i*10) + UPDATE val=0 (v2) + RESTORE VERSION 1 + INSERT 200 (ids 501-700).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2453_conflict_merge_self_join",
      "num": 2453,
      "name": "conflict_merge_self_join",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2453_conflict_merge_self_join.py",
      "read_script": "generator/df-reads-spark-iceberg/2453_conflict_merge_self_join.sql",
      "description": "INSERT 500 rows + MERGE self (source = same table's data) ON id=id WHEN MATCHED UPDATE SET val=val*2. Verify all vals doubled.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2454_conflict_overwrite_then_merge",
      "num": 2454,
      "name": "conflict_overwrite_then_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2454_conflict_overwrite_then_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2454_conflict_overwrite_then_merge.sql",
      "description": "INSERT 500 + INSERT OVERWRITE with 300 (ids 1-300) + MERGE 200 source (ids 301-500) NOT MATCHED INSERT.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "dml:overwrite",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2455_conflict_schema_evolve_mid_dml",
      "num": 2455,
      "name": "conflict_schema_evolve_mid_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2455_conflict_schema_evolve_mid_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/2455_conflict_schema_evolve_mid_dml.sql",
      "description": "INSERT 500 (id, val) + ALTER TABLE ADD COLUMN tag STRING + UPDATE SET tag='updated' WHERE id<=250 + INSERT 200 more with tag.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2456_conflict_rename_col_then_update",
      "num": 2456,
      "name": "conflict_rename_col_then_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2456_conflict_rename_col_then_update.py",
      "read_script": "generator/df-reads-spark-iceberg/2456_conflict_rename_col_then_update.sql",
      "description": "INSERT 500 (id, old_name) + ALTER RENAME COLUMN old_name TO new_name + UPDATE SET new_name='changed' WHERE id<=100. Verify column named new_name, 100 rows='changed'.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:rename-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2457_conflict_drop_col_then_insert",
      "num": 2457,
      "name": "conflict_drop_col_then_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2457_conflict_drop_col_then_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/2457_conflict_drop_col_then_insert.sql",
      "description": "INSERT 500 (id, val, extra) + ALTER DROP COLUMN extra + INSERT 200 (id, val).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:drop-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2458_conflict_add_constraint_existing_data",
      "num": 2458,
      "name": "conflict_add_constraint_existing_data",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2458_conflict_add_constraint_existing_data.py",
      "read_script": "generator/df-reads-spark-iceberg/2458_conflict_add_constraint_existing_data.sql",
      "description": "INSERT 500 rows (val = i*10, always > 0) + ALTER ADD CONSTRAINT chk CHECK (val > 0). Verify constraint in delta log and all vals > 0.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2459_conflict_cdc_rapid_dml",
      "num": 2459,
      "name": "conflict_cdc_rapid_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2459_conflict_cdc_rapid_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/2459_conflict_cdc_rapid_dml.sql",
      "description": "CDC enabled + INSERT 200 + UPDATE val=val+1 WHERE id<=100 + DELETE WHERE id>180.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/245_cdc_delete",
      "num": 245,
      "name": "cdc_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/245_cdc_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/245_cdc_delete.sql",
      "description": "- Change Data Feed (CDF) enabled table for delete tracking - Table property: delta.enableChangeDataFeed = true - Product catalog schema with boolean is_active flag",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2460_conflict_partition_overwrite",
      "num": 2460,
      "name": "conflict_partition_overwrite",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2460_conflict_partition_overwrite.py",
      "read_script": "generator/df-reads-spark-iceberg/2460_conflict_partition_overwrite.sql",
      "description": "PARTITIONED BY(region) + INSERT 500 (4 regions) + INSERT OVERWRITE for region='na' with new data. Verify other regions unchanged.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2461_idempotent_insert_twice",
      "num": 2461,
      "name": "idempotent_insert_twice",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2461_idempotent_insert_twice.py",
      "read_script": "generator/df-reads-spark-iceberg/2461_idempotent_insert_twice.sql",
      "description": "INSERT 500 (ids 1-500) + INSERT 500 (ids 501-1000). Pure append, no dedup.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2462_idempotent_merge_twice",
      "num": 2462,
      "name": "idempotent_merge_twice",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2462_idempotent_merge_twice.py",
      "read_script": "generator/df-reads-spark-iceberg/2462_idempotent_merge_twice.sql",
      "description": "INSERT 500 + MERGE source 300 (ids 1-300 update val=val+100) + MERGE same source again. Second merge should be idempotent since vals already changed.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2463_idempotent_optimize_twice",
      "num": 2463,
      "name": "idempotent_optimize_twice",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2463_idempotent_optimize_twice.py",
      "read_script": "generator/df-reads-spark-iceberg/2463_idempotent_optimize_twice.sql",
      "description": "INSERT 100 batches of 10 rows each (1000 total) + OPTIMIZE + OPTIMIZE.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2464_idempotent_vacuum_twice",
      "num": 2464,
      "name": "idempotent_vacuum_twice",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2464_idempotent_vacuum_twice.py",
      "read_script": "generator/df-reads-spark-iceberg/2464_idempotent_vacuum_twice.sql",
      "description": "INSERT 500 + DELETE 250 + VACUUM RETAIN 0 HOURS + VACUUM RETAIN 0 HOURS.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2465_idempotent_zorder_twice",
      "num": 2465,
      "name": "idempotent_zorder_twice",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2465_idempotent_zorder_twice.py",
      "read_script": "generator/df-reads-spark-iceberg/2465_idempotent_zorder_twice.sql",
      "description": "INSERT 1k rows + ZORDER BY(k) + ZORDER BY(k). Verify 1000 rows intact.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2466_idempotent_restore_current",
      "num": 2466,
      "name": "idempotent_restore_current",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2466_idempotent_restore_current.py",
      "read_script": "generator/df-reads-spark-iceberg/2466_idempotent_restore_current.sql",
      "description": "INSERT 500 + UPDATE val=0. Version is 2. RESTORE VERSION 2 (restore to current).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2467_idempotent_delete_no_match",
      "num": 2467,
      "name": "idempotent_delete_no_match",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2467_idempotent_delete_no_match.py",
      "read_script": "generator/df-reads-spark-iceberg/2467_idempotent_delete_no_match.sql",
      "description": "INSERT 500 + DELETE WHERE id > 99999 (no rows match). Verify 500 rows unchanged.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2468_idempotent_update_no_change",
      "num": 2468,
      "name": "idempotent_update_no_change",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2468_idempotent_update_no_change.py",
      "read_script": "generator/df-reads-spark-iceberg/2468_idempotent_update_no_change.sql",
      "description": "INSERT 500 + UPDATE SET val=val WHERE id > 0 (no actual value change). Verify 500 rows with original vals.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2469_idempotent_truncate_empty",
      "num": 2469,
      "name": "idempotent_truncate_empty",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2469_idempotent_truncate_empty.py",
      "read_script": "generator/df-reads-spark-iceberg/2469_idempotent_truncate_empty.sql",
      "description": "CREATE table + TRUNCATE (already empty). Verify 0 rows.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:truncate",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/246_cdc_update",
      "num": 246,
      "name": "cdc_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/246_cdc_update.py",
      "read_script": "generator/df-reads-spark-iceberg/246_cdc_update.sql",
      "description": "CDC with update tracking enabled",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:change-data-feed",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2470_duplicate_merge_dedup",
      "num": 2470,
      "name": "duplicate_merge_dedup",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2470_duplicate_merge_dedup.py",
      "read_script": "generator/df-reads-spark-iceberg/2470_duplicate_merge_dedup.sql",
      "description": "INSERT 1000 rows with duplicate ids (i%500 as id, so 2 per id).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2471_conflict_delete_all_reinsert_different",
      "num": 2471,
      "name": "conflict_delete_all_reinsert_different",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2471_conflict_delete_all_reinsert_different.py",
      "read_script": "generator/df-reads-spark-iceberg/2471_conflict_delete_all_reinsert_different.sql",
      "description": "INSERT 500 (val=i*10) + DELETE all + INSERT 500 (val=i*20).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2472_conflict_merge_delete_clause",
      "num": 2472,
      "name": "conflict_merge_delete_clause",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2472_conflict_merge_delete_clause.py",
      "read_script": "generator/df-reads-spark-iceberg/2472_conflict_merge_delete_clause.sql",
      "description": "INSERT 500 + MERGE source 500 (all match) WHEN MATCHED AND src.val%2=0 THEN DELETE WHEN MATCHED THEN UPDATE SET val=999.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2473_conflict_interleaved_insert_update",
      "num": 2473,
      "name": "conflict_interleaved_insert_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2473_conflict_interleaved_insert_update.py",
      "read_script": "generator/df-reads-spark-iceberg/2473_conflict_interleaved_insert_update.sql",
      "description": "INSERT 200 + UPDATE SET val=0 + INSERT 200 (ids 201-400) + UPDATE SET val=1 WHERE id>200.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2474_conflict_triple_merge",
      "num": 2474,
      "name": "conflict_triple_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2474_conflict_triple_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2474_conflict_triple_merge.sql",
      "description": "INSERT 300 + MERGE 200 (ids 1-200 update val=10) + MERGE 200 (ids 100-300 update val=20) + MERGE 200 (ids 200-400 insert new for 301-400). ids 1-99: val=10, ids 100-200: val=20, ids 201-300: val=20, ids 301-400: val from source.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2475_conflict_optimize_delete_optimize",
      "num": 2475,
      "name": "conflict_optimize_delete_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2475_conflict_optimize_delete_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/2475_conflict_optimize_delete_optimize.sql",
      "description": "INSERT 1k in 10 batches + OPTIMIZE + DELETE WHERE id%5=0 + OPTIMIZE.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2476_conflict_zorder_then_delete",
      "num": 2476,
      "name": "conflict_zorder_then_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2476_conflict_zorder_then_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/2476_conflict_zorder_then_delete.sql",
      "description": "INSERT 1k + ZORDER BY(k) + DELETE WHERE k=0. Verify rows without k=0.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2477_conflict_cdc_schema_evolve",
      "num": 2477,
      "name": "conflict_cdc_schema_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2477_conflict_cdc_schema_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/2477_conflict_cdc_schema_evolve.sql",
      "description": "CDC enabled + INSERT 300 + ALTER ADD COLUMN tag STRING + INSERT 200 with tag.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2478_conflict_identity_after_delete",
      "num": 2478,
      "name": "conflict_identity_after_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2478_conflict_identity_after_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/2478_conflict_identity_after_delete.sql",
      "description": "IDENTITY column + INSERT 500 (omit id) + DELETE WHERE id<=250 + INSERT 250 (omit id).",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2479_conflict_default_value_change",
      "num": 2479,
      "name": "conflict_default_value_change",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2479_conflict_default_value_change.py",
      "read_script": "generator/df-reads-spark-iceberg/2479_conflict_default_value_change.sql",
      "description": "INSERT 300 with explicit vals + INSERT 200 omitting val (gets default 0).",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/247_cdc_version_range",
      "num": 247,
      "name": "cdc_version_range",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/247_cdc_version_range.py",
      "read_script": "generator/df-reads-spark-iceberg/247_cdc_version_range.sql",
      "description": "Multiple operations across versions with CDC enabled",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2480_conflict_generated_col_source_update",
      "num": 2480,
      "name": "conflict_generated_col_source_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2480_conflict_generated_col_source_update.py",
      "read_script": "generator/df-reads-spark-iceberg/2480_conflict_generated_col_source_update.sql",
      "description": "(id BIGINT, base INT, computed BIGINT GENERATED ALWAYS AS (base * 2)) INSERT 500 + UPDATE SET base=base+100 WHERE id<=250. Verify computed=base*2 for all rows.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2481_unicode_cjk_basic",
      "num": 2481,
      "name": "unicode_cjk_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2481_unicode_cjk_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/2481_unicode_cjk_basic.sql",
      "description": "500 rows with CJK city names cycling through 5 values. Verifies UTF-8 CJK strings roundtrip through Delta.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2482_unicode_emoji_strings",
      "num": 2482,
      "name": "unicode_emoji_strings",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2482_unicode_emoji_strings.py",
      "read_script": "generator/df-reads-spark-iceberg/2482_unicode_emoji_strings.sql",
      "description": "500 rows with accented European loanwords as status values. Verifies accented character roundtrip through Delta.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2483_unicode_accented_european",
      "num": 2483,
      "name": "unicode_accented_european",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2483_unicode_accented_european.py",
      "read_script": "generator/df-reads-spark-iceberg/2483_unicode_accented_european.sql",
      "description": "500 rows with European accented names cycling through 6 values. Verifies accented character roundtrip through Delta.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2484_unicode_mixed_scripts",
      "num": 2484,
      "name": "unicode_mixed_scripts",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2484_unicode_mixed_scripts.py",
      "read_script": "generator/df-reads-spark-iceberg/2484_unicode_mixed_scripts.sql",
      "description": "500 rows mixing Latin + numeric + punctuation patterns. Verifies mixed-script string assembly roundtrips.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2485_unicode_cyrillic_basic",
      "num": 2485,
      "name": "unicode_cyrillic_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2485_unicode_cyrillic_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/2485_unicode_cyrillic_basic.sql",
      "description": "500 rows with Cyrillic-transliterated city names cycling through 5 values. Verifies string roundtrip through Delta.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2486_unicode_long_multibyte",
      "num": 2486,
      "name": "unicode_long_multibyte",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2486_unicode_long_multibyte.py",
      "read_script": "generator/df-reads-spark-iceberg/2486_unicode_long_multibyte.sql",
      "description": "500 rows with long strings built from REPEAT of multi-char patterns. Each string is 300 characters long.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2487_unicode_partition_keys",
      "num": 2487,
      "name": "unicode_partition_keys",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2487_unicode_partition_keys.py",
      "read_script": "generator/df-reads-spark-iceberg/2487_unicode_partition_keys.sql",
      "description": "500 rows partitioned by region with 5 partition values. Verifies partition directories and data integrity.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2488_unicode_in_map_keys",
      "num": 2488,
      "name": "unicode_in_map_keys",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2488_unicode_in_map_keys.py",
      "read_script": "generator/df-reads-spark-iceberg/2488_unicode_in_map_keys.sql",
      "description": "500 rows with MAP<STRING, INT> column containing string keys. Verifies map keys and values roundtrip.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:map",
        "type:string",
        "type:unicode",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2489_unicode_in_struct_fields",
      "num": 2489,
      "name": "unicode_in_struct_fields",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2489_unicode_in_struct_fields.py",
      "read_script": "generator/df-reads-spark-iceberg/2489_unicode_in_struct_fields.sql",
      "description": "500 rows with STRUCT<first_name:STRING, last_name:STRING> column. Verifies struct string fields roundtrip.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "type:unicode",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/248_cdc_timestamp_range",
      "num": 248,
      "name": "cdc_timestamp_range",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/248_cdc_timestamp_range.py",
      "read_script": "generator/df-reads-spark-iceberg/248_cdc_timestamp_range.sql",
      "description": "CDC queries between timestamps with distinct commit times",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "delta:change-data-feed",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2490_unicode_after_update",
      "num": 2490,
      "name": "unicode_after_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2490_unicode_after_update.py",
      "read_script": "generator/df-reads-spark-iceberg/2490_unicode_after_update.sql",
      "description": "INSERT 500 rows with name='original_N', then UPDATE first 250 to 'updated_N'. Verifies 250 updated + 250 original strings.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2491_unicode_after_optimize",
      "num": 2491,
      "name": "unicode_after_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2491_unicode_after_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/2491_unicode_after_optimize.sql",
      "description": "INSERT 500 rows with varied strings in 5 batches, then OPTIMIZE. Verifies all strings preserved after compaction.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2492_unicode_cdc_roundtrip",
      "num": 2492,
      "name": "unicode_cdc_roundtrip",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2492_unicode_cdc_roundtrip.py",
      "read_script": "generator/df-reads-spark-iceberg/2492_unicode_cdc_roundtrip.sql",
      "description": "CDC enabled. INSERT 300 rows with strings, then UPDATE 100 strings. Verifies CDF has update images with correct strings.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2493_unicode_merge_source",
      "num": 2493,
      "name": "unicode_merge_source",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2493_unicode_merge_source.py",
      "read_script": "generator/df-reads-spark-iceberg/2493_unicode_merge_source.sql",
      "description": "INSERT 300 target rows, MERGE 200 source rows (ids 201-400). WHEN MATCHED (ids 201-300): UPDATE name. WHEN NOT MATCHED (ids 301-400): INSERT.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2494_unicode_delete_by_string",
      "num": 2494,
      "name": "unicode_delete_by_string",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2494_unicode_delete_by_string.py",
      "read_script": "generator/df-reads-spark-iceberg/2494_unicode_delete_by_string.sql",
      "description": "INSERT 500 rows with 5 categories, DELETE WHERE category='Books'. Verifies no 'Books' rows remain (400 rows final).",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2495_unicode_colmap_strings",
      "num": 2495,
      "name": "unicode_colmap_strings",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2495_unicode_colmap_strings.py",
      "read_script": "generator/df-reads-spark-iceberg/2495_unicode_colmap_strings.sql",
      "description": "Column mapping mode=name with string columns. INSERT 500 rows. Verifies logical names readable.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2496_special_char_backslash",
      "num": 2496,
      "name": "special_char_backslash",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2496_special_char_backslash.py",
      "read_script": "generator/df-reads-spark-iceberg/2496_special_char_backslash.sql",
      "description": "500 rows with backslash patterns in val column. Verifies backslash characters roundtrip through Delta.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2497_special_char_single_quotes",
      "num": 2497,
      "name": "special_char_single_quotes",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2497_special_char_single_quotes.py",
      "read_script": "generator/df-reads-spark-iceberg/2497_special_char_single_quotes.sql",
      "description": "500 rows with escaped single quotes in strings. Verifies single-quote characters roundtrip through Delta.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2498_special_char_tab_newline",
      "num": 2498,
      "name": "special_char_tab_newline",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2498_special_char_tab_newline.py",
      "read_script": "generator/df-reads-spark-iceberg/2498_special_char_tab_newline.sql",
      "description": "500 rows with tab/newline marker strings (avoiding CHR()). Uses descriptive text markers instead of actual control chars.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2499_special_char_pipe_delimiter",
      "num": 2499,
      "name": "special_char_pipe_delimiter",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2499_special_char_pipe_delimiter.py",
      "read_script": "generator/df-reads-spark-iceberg/2499_special_char_pipe_delimiter.sql",
      "description": "500 rows with pipe characters in strings. Verifies pipe delimiter chars roundtrip through Delta.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/249_cdc_partition",
      "num": 249,
      "name": "cdc_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/249_cdc_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/249_cdc_partition.sql",
      "description": "CDC queries with partition filtering and partition pruning",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/24_reconciliation_add_remove_sequence",
      "num": 24,
      "name": "reconciliation_add_remove_sequence",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/24_reconciliation_add_remove_sequence.py",
      "read_script": "generator/df-reads-spark-iceberg/24_reconciliation_add_remove_sequence.sql",
      "description": "Demonstrates action reconciliation with concurrent updates (add/remove sequences).",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:46:06.533780+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:overwrite",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2500_special_char_percent_underscore",
      "num": 2500,
      "name": "special_char_percent_underscore",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2500_special_char_percent_underscore.py",
      "read_script": "generator/df-reads-spark-iceberg/2500_special_char_percent_underscore.sql",
      "description": "500 rows with SQL wildcard characters (% and _) in strings. Verifies these special chars roundtrip through Delta.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2501_unicode_empty_string_vs_null",
      "num": 2501,
      "name": "unicode_empty_string_vs_null",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2501_unicode_empty_string_vs_null.py",
      "read_script": "generator/df-reads-spark-iceberg/2501_unicode_empty_string_vs_null.sql",
      "description": "500 rows. Half with val='' (empty string), half with val=NULL. Verifies null_count=250, empty string count=250.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2502_unicode_whitespace_only",
      "num": 2502,
      "name": "unicode_whitespace_only",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2502_unicode_whitespace_only.py",
      "read_script": "generator/df-reads-spark-iceberg/2502_unicode_whitespace_only.sql",
      "description": "500 rows with whitespace-only strings of varying lengths. Verifies whitespace preserved, distinct_count=4.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2503_unicode_very_long_string",
      "num": 2503,
      "name": "unicode_very_long_string",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2503_unicode_very_long_string.py",
      "read_script": "generator/df-reads-spark-iceberg/2503_unicode_very_long_string.sql",
      "description": "500 rows with val = REPEAT('x', 1000). Each string is 1000 chars. Verifies long strings roundtrip.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2504_unicode_concat_chain",
      "num": 2504,
      "name": "unicode_concat_chain",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2504_unicode_concat_chain.py",
      "read_script": "generator/df-reads-spark-iceberg/2504_unicode_concat_chain.sql",
      "description": "500 rows with val built from chained CONCATs. Verifies assembled string correctness.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2505_unicode_case_sensitivity",
      "num": 2505,
      "name": "unicode_case_sensitivity",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2505_unicode_case_sensitivity.py",
      "read_script": "generator/df-reads-spark-iceberg/2505_unicode_case_sensitivity.sql",
      "description": "500 rows with val alternating between 5 case variants. Verifies distinct_count=5 and case preserved.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2506_unicode_numeric_strings",
      "num": 2506,
      "name": "unicode_numeric_strings",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2506_unicode_numeric_strings.py",
      "read_script": "generator/df-reads-spark-iceberg/2506_unicode_numeric_strings.sql",
      "description": "500 rows with val = CAST(i AS STRING). Pure numeric strings. Verifies they stay as strings, not numbers.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2507_unicode_leading_trailing_spaces",
      "num": 2507,
      "name": "unicode_leading_trailing_spaces",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2507_unicode_leading_trailing_spaces.py",
      "read_script": "generator/df-reads-spark-iceberg/2507_unicode_leading_trailing_spaces.sql",
      "description": "500 rows with val = ' N ' (leading+trailing spaces). Verifies spaces are preserved, not trimmed.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2508_unicode_null_string_operations",
      "num": 2508,
      "name": "unicode_null_string_operations",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2508_unicode_null_string_operations.py",
      "read_script": "generator/df-reads-spark-iceberg/2508_unicode_null_string_operations.sql",
      "description": "500 rows. Every 5th row has val=NULL, rest have CONCAT result. Verifies null_count=100.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2509_unicode_string_in_partition_prune",
      "num": 2509,
      "name": "unicode_string_in_partition_prune",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2509_unicode_string_in_partition_prune.py",
      "read_script": "generator/df-reads-spark-iceberg/2509_unicode_string_in_partition_prune.sql",
      "description": "PARTITIONED BY(category). INSERT 500 rows with 5 categories. Filter by category='Books' should partition-prune.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/250_cdc_merge",
      "num": 250,
      "name": "cdc_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/250_cdc_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/250_cdc_merge.sql",
      "description": "MERGE operations create correct CDC records",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:change-data-feed",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2510_unicode_string_min_max_stats",
      "num": 2510,
      "name": "unicode_string_min_max_stats",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2510_unicode_string_min_max_stats.py",
      "read_script": "generator/df-reads-spark-iceberg/2510_unicode_string_min_max_stats.sql",
      "description": "INSERT 500 rows with val from 'aaa_001' to 'aaa_500'. Verifies min/max lexicographic correctness.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2511_unicode_string_distinct_count",
      "num": 2511,
      "name": "unicode_string_distinct_count",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2511_unicode_string_distinct_count.py",
      "read_script": "generator/df-reads-spark-iceberg/2511_unicode_string_distinct_count.sql",
      "description": "INSERT 500 rows with 10 distinct categories (i%10). Verifies distinct_count=10.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2512_unicode_string_group_distribution",
      "num": 2512,
      "name": "unicode_string_group_distribution",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2512_unicode_string_group_distribution.py",
      "read_script": "generator/df-reads-spark-iceberg/2512_unicode_string_group_distribution.sql",
      "description": "INSERT 500 rows with 5 groups of 100 each. Verifies count per group = 100.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2513_unicode_update_string_conditional",
      "num": 2513,
      "name": "unicode_update_string_conditional",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2513_unicode_update_string_conditional.py",
      "read_script": "generator/df-reads-spark-iceberg/2513_unicode_update_string_conditional.sql",
      "description": "INSERT 500 rows, then two UPDATE statements: UPDATE SET status='active' WHERE id > 250 UPDATE SET status='inactive' WHERE id <= 250 Verifies 250 active + 250 inactive.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2514_unicode_merge_string_key",
      "num": 2514,
      "name": "unicode_merge_string_key",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2514_unicode_merge_string_key.py",
      "read_script": "generator/df-reads-spark-iceberg/2514_unicode_merge_string_key.sql",
      "description": "INSERT 300 rows (name as key). MERGE 200 source matching on name. Matched rows (first 100) get val updated. Unmatched (ids 301-400) inserted.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2515_unicode_constraint_on_string",
      "num": 2515,
      "name": "unicode_constraint_on_string",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2515_unicode_constraint_on_string.py",
      "read_script": "generator/df-reads-spark-iceberg/2515_unicode_constraint_on_string.sql",
      "description": "INSERT 500 rows, then ADD CONSTRAINT CHECK (LENGTH(name) > 0). Verifies constraint in log and all names non-empty.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2516_v2_checkpoint_basic_insert",
      "num": 2516,
      "name": "v2_checkpoint_basic_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2516_v2_checkpoint_basic_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/2516_v2_checkpoint_basic_insert.sql",
      "description": "V2 checkpoint policy with checkpointInterval=5.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2517_v2_checkpoint_after_merge",
      "num": 2517,
      "name": "v2_checkpoint_after_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2517_v2_checkpoint_after_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2517_v2_checkpoint_after_merge.sql",
      "description": "V2 checkpoint after INSERT + MERGE + additional INSERTs to trigger checkpoint.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2518_v2_checkpoint_after_delete",
      "num": 2518,
      "name": "v2_checkpoint_after_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2518_v2_checkpoint_after_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/2518_v2_checkpoint_after_delete.sql",
      "description": "V2 checkpoint after INSERT + DELETE + enough ops to trigger checkpoint.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2519_v2_checkpoint_with_cdc",
      "num": 2519,
      "name": "v2_checkpoint_with_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2519_v2_checkpoint_with_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/2519_v2_checkpoint_with_cdc.sql",
      "description": "V2 checkpoint + CDC. INSERT 500, UPDATE 200, trigger checkpoint.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/251_cdc_retention",
      "num": 251,
      "name": "cdc_retention",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/251_cdc_retention.py",
      "read_script": "generator/df-reads-spark-iceberg/251_cdc_retention.sql",
      "description": "CDC file retention and cleanup behavior",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2520_v2_checkpoint_with_colmap",
      "num": 2520,
      "name": "v2_checkpoint_with_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2520_v2_checkpoint_with_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/2520_v2_checkpoint_with_colmap.sql",
      "description": "V2 checkpoint + column mapping (name mode). INSERT 500 + trigger checkpoint.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2521_v2_checkpoint_with_dv",
      "num": 2521,
      "name": "v2_checkpoint_with_dv",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2521_v2_checkpoint_with_dv.py",
      "read_script": "generator/df-reads-spark-iceberg/2521_v2_checkpoint_with_dv.sql",
      "description": "V2 checkpoint + deletion vectors. INSERT 500, DELETE 200 (via DV), trigger checkpoint.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2522_v2_checkpoint_with_constraints",
      "num": 2522,
      "name": "v2_checkpoint_with_constraints",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2522_v2_checkpoint_with_constraints.py",
      "read_script": "generator/df-reads-spark-iceberg/2522_v2_checkpoint_with_constraints.sql",
      "description": "V2 checkpoint + CHECK constraint. INSERT 500, ADD CONSTRAINT, trigger checkpoint.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2523_v2_checkpoint_with_identity",
      "num": 2523,
      "name": "v2_checkpoint_with_identity",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2523_v2_checkpoint_with_identity.py",
      "read_script": "generator/df-reads-spark-iceberg/2523_v2_checkpoint_with_identity.sql",
      "description": "V2 checkpoint + IDENTITY column. INSERT 500 omitting id, trigger checkpoint.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2524_v2_checkpoint_schema_evolve",
      "num": 2524,
      "name": "v2_checkpoint_schema_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2524_v2_checkpoint_schema_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/2524_v2_checkpoint_schema_evolve.sql",
      "description": "V2 checkpoint + schema evolution. INSERT 300, ALTER ADD COLUMN, INSERT 200, trigger checkpoint.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2525_v2_checkpoint_after_optimize",
      "num": 2525,
      "name": "v2_checkpoint_after_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2525_v2_checkpoint_after_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/2525_v2_checkpoint_after_optimize.sql",
      "description": "V2 checkpoint after INSERT 1000 in 10 batches + OPTIMIZE.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2526_domain_metadata_basic",
      "num": 2526,
      "name": "domain_metadata_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2526_domain_metadata_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/2526_domain_metadata_basic.sql",
      "description": "Domain metadata feature enabled. INSERT 500 rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2527_domain_metadata_after_optimize",
      "num": 2527,
      "name": "domain_metadata_after_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2527_domain_metadata_after_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/2527_domain_metadata_after_optimize.sql",
      "description": "Domain metadata + INSERT 500 + OPTIMIZE. Verify data + metadata persists.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2528_domain_metadata_after_vacuum",
      "num": 2528,
      "name": "domain_metadata_after_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2528_domain_metadata_after_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/2528_domain_metadata_after_vacuum.sql",
      "description": "Domain metadata + INSERT 500 + DELETE 200 + VACUUM RETAIN 0 HOURS.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2529_domain_metadata_with_cdc",
      "num": 2529,
      "name": "domain_metadata_with_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2529_domain_metadata_with_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/2529_domain_metadata_with_cdc.sql",
      "description": "Domain metadata + CDC. INSERT 300 + UPDATE 100.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/252_cdc_schema",
      "num": 252,
      "name": "cdc_schema",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/252_cdc_schema.py",
      "read_script": "generator/df-reads-spark-iceberg/252_cdc_schema.sql",
      "description": "CDC with schema changes",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2530_domain_metadata_with_merge",
      "num": 2530,
      "name": "domain_metadata_with_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2530_domain_metadata_with_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2530_domain_metadata_with_merge.sql",
      "description": "Domain metadata + INSERT 300 + MERGE 200.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2531_domain_metadata_schema_evolve",
      "num": 2531,
      "name": "domain_metadata_schema_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2531_domain_metadata_schema_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/2531_domain_metadata_schema_evolve.sql",
      "description": "Domain metadata + INSERT 300 + ALTER ADD COLUMN + INSERT 200.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2532_domain_metadata_with_colmap",
      "num": 2532,
      "name": "domain_metadata_with_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2532_domain_metadata_with_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/2532_domain_metadata_with_colmap.sql",
      "description": "Domain metadata + column mapping (name). INSERT 500.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2533_rowtrack_basic_insert",
      "num": 2533,
      "name": "rowtrack_basic_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2533_rowtrack_basic_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/2533_rowtrack_basic_insert.sql",
      "description": "Row tracking enabled. INSERT 500 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2534_rowtrack_after_update",
      "num": 2534,
      "name": "rowtrack_after_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2534_rowtrack_after_update.py",
      "read_script": "generator/df-reads-spark-iceberg/2534_rowtrack_after_update.sql",
      "description": "Row tracking + INSERT 500 + UPDATE 250.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2535_rowtrack_after_delete",
      "num": 2535,
      "name": "rowtrack_after_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2535_rowtrack_after_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/2535_rowtrack_after_delete.sql",
      "description": "Row tracking + INSERT 500 + DELETE 200.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2536_rowtrack_after_merge",
      "num": 2536,
      "name": "rowtrack_after_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2536_rowtrack_after_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2536_rowtrack_after_merge.sql",
      "description": "Row tracking + INSERT 300 + MERGE 200.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2537_rowtrack_after_optimize",
      "num": 2537,
      "name": "rowtrack_after_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2537_rowtrack_after_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/2537_rowtrack_after_optimize.sql",
      "description": "Row tracking + INSERT 1000 in 10 batches + OPTIMIZE.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2538_rowtrack_with_cdc",
      "num": 2538,
      "name": "rowtrack_with_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2538_rowtrack_with_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/2538_rowtrack_with_cdc.sql",
      "description": "Row tracking + CDC. INSERT 300 + UPDATE 100 + DELETE 50.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2539_rowtrack_with_colmap",
      "num": 2539,
      "name": "rowtrack_with_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2539_rowtrack_with_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/2539_rowtrack_with_colmap.sql",
      "description": "Row tracking + column mapping (name). INSERT 500.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/253_ict_enable",
      "num": 253,
      "name": "ict_enable",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/253_ict_enable.py",
      "read_script": "generator/df-reads-spark-iceberg/253_ict_enable.sql",
      "description": "DeltaForge can read/write tables with In-Commit Timestamps enabled",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2540_rowtrack_with_dv",
      "num": 2540,
      "name": "rowtrack_with_dv",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2540_rowtrack_with_dv.py",
      "read_script": "generator/df-reads-spark-iceberg/2540_rowtrack_with_dv.sql",
      "description": "Row tracking + DVs. INSERT 500 + DELETE 200. Verify 300 rows.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2541_ict_basic_insert",
      "num": 2541,
      "name": "ict_basic_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2541_ict_basic_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/2541_ict_basic_insert.sql",
      "description": "ICT enabled. INSERT 500 rows. Verify data + inCommitTimestamp in log.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2542_ict_after_merge",
      "num": 2542,
      "name": "ict_after_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2542_ict_after_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2542_ict_after_merge.sql",
      "description": "ICT + INSERT 300 + MERGE 200. Verify 500 rows + ICT in log.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2543_ict_after_update",
      "num": 2543,
      "name": "ict_after_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2543_ict_after_update.py",
      "read_script": "generator/df-reads-spark-iceberg/2543_ict_after_update.sql",
      "description": "ICT + INSERT 500 + UPDATE 250. Verify 500 rows + ICT.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2544_ict_after_restore",
      "num": 2544,
      "name": "ict_after_restore",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2544_ict_after_restore.py",
      "read_script": "generator/df-reads-spark-iceberg/2544_ict_after_restore.sql",
      "description": "ICT + INSERT 500 + UPDATE 250 + RESTORE VERSION 1. Verify original 500 rows.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2545_ict_with_cdc",
      "num": 2545,
      "name": "ict_with_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2545_ict_with_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/2545_ict_with_cdc.sql",
      "description": "ICT + CDC. INSERT 300 + UPDATE 100. Verify CDF + ICT.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2546_ict_with_schema_evolve",
      "num": 2546,
      "name": "ict_with_schema_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2546_ict_with_schema_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/2546_ict_with_schema_evolve.sql",
      "description": "ICT + INSERT 300 + ALTER ADD COLUMN + INSERT 200.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2547_ict_with_time_travel",
      "num": 2547,
      "name": "ict_with_time_travel",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2547_ict_with_time_travel.py",
      "read_script": "generator/df-reads-spark-iceberg/2547_ict_with_time_travel.sql",
      "description": "ICT + time travel. INSERT 300 (v1) + INSERT 200 (v2). Read version 1 = 300 rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2548_ict_rowtrack_combined",
      "num": 2548,
      "name": "ict_rowtrack_combined",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2548_ict_rowtrack_combined.py",
      "read_script": "generator/df-reads-spark-iceberg/2548_ict_rowtrack_combined.sql",
      "description": "ICT + rowTracking combined. INSERT 500 + UPDATE 250.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2549_ict_rowtrack_cdc",
      "num": 2549,
      "name": "ict_rowtrack_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2549_ict_rowtrack_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/2549_ict_rowtrack_cdc.sql",
      "description": "ICT + rowTracking + CDC. INSERT 300 + UPDATE 100 + DELETE 50.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/254_ict_write",
      "num": 254,
      "name": "ict_write",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/254_ict_write.py",
      "read_script": "generator/df-reads-spark-iceberg/254_ict_write.sql",
      "description": "DeltaForge writes correct inCommitTimestamp in commits",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2550_v2_ckpt_ict_rowtrack",
      "num": 2550,
      "name": "v2_ckpt_ict_rowtrack",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2550_v2_ckpt_ict_rowtrack.py",
      "read_script": "generator/df-reads-spark-iceberg/2550_v2_ckpt_ict_rowtrack.sql",
      "description": "V2 checkpoint + ICT + rowTracking combined. INSERT 500 + trigger checkpoint.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2551_widen_int_to_bigint_basic",
      "num": 2551,
      "name": "widen_int_to_bigint_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2551_widen_int_to_bigint_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/2551_widen_int_to_bigint_basic.sql",
      "description": "ALTER COLUMN type widening from INT to BIGINT,",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2552_widen_float_to_double",
      "num": 2552,
      "name": "widen_float_to_double",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2552_widen_float_to_double.py",
      "read_script": "generator/df-reads-spark-iceberg/2552_widen_float_to_double.sql",
      "description": "ALTER COLUMN type widening from FLOAT to DOUBLE,",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2553_widen_decimal_scale",
      "num": 2553,
      "name": "widen_decimal_scale",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2553_widen_decimal_scale.py",
      "read_script": "generator/df-reads-spark-iceberg/2553_widen_decimal_scale.sql",
      "description": "ALTER COLUMN widening DECIMAL(6,2) to DECIMAL(10,2) (precision widening,",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "iceberg:uniform",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2554_widen_int_to_bigint_with_merge",
      "num": 2554,
      "name": "widen_int_to_bigint_with_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2554_widen_int_to_bigint_with_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2554_widen_int_to_bigint_with_merge.sql",
      "description": "INT to BIGINT widening followed by MERGE with BIGINT values.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "schema:type-widening",
        "scale:large-dataset",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2555_widen_int_to_bigint_with_cdc",
      "num": 2555,
      "name": "widen_int_to_bigint_with_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2555_widen_int_to_bigint_with_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/2555_widen_int_to_bigint_with_cdc.sql",
      "description": "INT to BIGINT widening on CDC-enabled table.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2556_widen_float_to_double_optimize",
      "num": 2556,
      "name": "widen_float_to_double_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2556_widen_float_to_double_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/2556_widen_float_to_double_optimize.sql",
      "description": "FLOAT to DOUBLE widening followed by OPTIMIZE.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2557_widen_int_to_bigint_partitioned",
      "num": 2557,
      "name": "widen_int_to_bigint_partitioned",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2557_widen_int_to_bigint_partitioned.py",
      "read_script": "generator/df-reads-spark-iceberg/2557_widen_int_to_bigint_partitioned.sql",
      "description": "INT to BIGINT widening on a partitioned table.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2558_widen_multiple_cols",
      "num": 2558,
      "name": "widen_multiple_cols",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2558_widen_multiple_cols.py",
      "read_script": "generator/df-reads-spark-iceberg/2558_widen_multiple_cols.sql",
      "description": "Widening two columns: INT->BIGINT and FLOAT->DOUBLE.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2559_widen_with_check_constraint",
      "num": 2559,
      "name": "widen_with_check_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2559_widen_with_check_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/2559_widen_with_check_constraint.sql",
      "description": "INT to BIGINT widening with CHECK constraint (val > 0).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/255_ict_ordering",
      "num": 255,
      "name": "ict_ordering",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/255_ict_ordering.py",
      "read_script": "generator/df-reads-spark-iceberg/255_ict_ordering.sql",
      "description": "In-commit timestamps are strictly monotonically increasing",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2560_widen_with_default",
      "num": 2560,
      "name": "widen_with_default",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2560_widen_with_default.py",
      "read_script": "generator/df-reads-spark-iceberg/2560_widen_with_default.sql",
      "description": "INT to BIGINT widening with DEFAULT value.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2561_widen_then_zorder",
      "num": 2561,
      "name": "widen_then_zorder",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2561_widen_then_zorder.py",
      "read_script": "generator/df-reads-spark-iceberg/2561_widen_then_zorder.sql",
      "description": "INT to BIGINT widening followed by ZORDER BY(val).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2562_widen_chain_int_bigint",
      "num": 2562,
      "name": "widen_chain_int_bigint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2562_widen_chain_int_bigint.py",
      "read_script": "generator/df-reads-spark-iceberg/2562_widen_chain_int_bigint.sql",
      "description": "INSERT INT -> ALTER BIGINT -> INSERT BIGINT, verify all readable.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2563_widen_decimal_precision",
      "num": 2563,
      "name": "widen_decimal_precision",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2563_widen_decimal_precision.py",
      "read_script": "generator/df-reads-spark-iceberg/2563_widen_decimal_precision.sql",
      "description": "DECIMAL(18,6) widened to DECIMAL(28,6) for larger precision.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2564_widen_with_identity",
      "num": 2564,
      "name": "widen_with_identity",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2564_widen_with_identity.py",
      "read_script": "generator/df-reads-spark-iceberg/2564_widen_with_identity.sql",
      "description": "IDENTITY column preserved after widening another column.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2565_widen_after_delete",
      "num": 2565,
      "name": "widen_after_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2565_widen_after_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/2565_widen_after_delete.sql",
      "description": "INSERT + DELETE + ALTER widen + INSERT with BIGINT values.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "schema:type-widening",
        "scale:large-dataset",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2566_truncate_basic_verify_empty",
      "num": 2566,
      "name": "truncate_basic_verify_empty",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2566_truncate_basic_verify_empty.py",
      "read_script": "generator/df-reads-spark-iceberg/2566_truncate_basic_verify_empty.sql",
      "description": "INSERT + TRUNCATE, verify table is empty.",
      "status": "pass",
      "duration_ms": 2,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 2,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:truncate",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2567_truncate_then_reinsert",
      "num": 2567,
      "name": "truncate_then_reinsert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2567_truncate_then_reinsert.py",
      "read_script": "generator/df-reads-spark-iceberg/2567_truncate_then_reinsert.sql",
      "description": "INSERT + TRUNCATE + re-INSERT.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:truncate",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2568_truncate_with_cdc",
      "num": 2568,
      "name": "truncate_with_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2568_truncate_with_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/2568_truncate_with_cdc.sql",
      "description": "TRUNCATE on CDC-enabled table. CDF should have delete records.",
      "status": "pass",
      "duration_ms": 2,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 2,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:truncate",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2569_truncate_with_identity",
      "num": 2569,
      "name": "truncate_with_identity",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2569_truncate_with_identity.py",
      "read_script": "generator/df-reads-spark-iceberg/2569_truncate_with_identity.sql",
      "description": "IDENTITY + INSERT + TRUNCATE + INSERT, IDs continue from 501+.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:truncate",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/256_ict_time_travel",
      "num": 256,
      "name": "ict_time_travel",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/256_ict_time_travel.py",
      "read_script": "generator/df-reads-spark-iceberg/256_ict_time_travel.sql",
      "description": "## Table Details Tests that TIMESTAMP AS OF queries use in-commit timestamps. Creates commits at known times for time travel verification.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2570_truncate_with_constraints",
      "num": 2570,
      "name": "truncate_with_constraints",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2570_truncate_with_constraints.py",
      "read_script": "generator/df-reads-spark-iceberg/2570_truncate_with_constraints.sql",
      "description": "CHECK constraint + INSERT + TRUNCATE + INSERT (constraint still holds).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:truncate",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2571_truncate_with_colmap",
      "num": 2571,
      "name": "truncate_with_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2571_truncate_with_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/2571_truncate_with_colmap.sql",
      "description": "column mapping mode=name + INSERT + TRUNCATE + INSERT.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:truncate",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2572_truncate_partitioned",
      "num": 2572,
      "name": "truncate_partitioned",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2572_truncate_partitioned.py",
      "read_script": "generator/df-reads-spark-iceberg/2572_truncate_partitioned.sql",
      "description": "TRUNCATE on partitioned table.",
      "status": "pass",
      "duration_ms": 2,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 2,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:truncate",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2573_truncate_then_optimize",
      "num": 2573,
      "name": "truncate_then_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2573_truncate_then_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/2573_truncate_then_optimize.sql",
      "description": "TRUNCATE + INSERT in 10 batches + OPTIMIZE.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:truncate",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2574_truncate_then_schema_evolve",
      "num": 2574,
      "name": "truncate_then_schema_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2574_truncate_then_schema_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/2574_truncate_then_schema_evolve.sql",
      "description": "TRUNCATE + ALTER ADD COLUMN + INSERT with new column.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:truncate",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2575_truncate_time_travel",
      "num": 2575,
      "name": "truncate_time_travel",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2575_truncate_time_travel.py",
      "read_script": "generator/df-reads-spark-iceberg/2575_truncate_time_travel.sql",
      "description": "INSERT (v1) + TRUNCATE (v2). Read version 1 = 500 rows.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:truncate",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2576_truncate_with_generated",
      "num": 2576,
      "name": "truncate_with_generated",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2576_truncate_with_generated.py",
      "read_script": "generator/df-reads-spark-iceberg/2576_truncate_with_generated.sql",
      "description": "Generated column (computed = base*2) + INSERT + TRUNCATE + INSERT.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:truncate",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2577_truncate_multiple_cycles",
      "num": 2577,
      "name": "truncate_multiple_cycles",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2577_truncate_multiple_cycles.py",
      "read_script": "generator/df-reads-spark-iceberg/2577_truncate_multiple_cycles.sql",
      "description": "Multiple TRUNCATE cycles.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:truncate",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2578_cor_basic",
      "num": 2578,
      "name": "cor_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2578_cor_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/2578_cor_basic.sql",
      "description": "CREATE + INSERT + CREATE OR REPLACE same schema + INSERT.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2579_cor_different_schema",
      "num": 2579,
      "name": "cor_different_schema",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2579_cor_different_schema.py",
      "read_script": "generator/df-reads-spark-iceberg/2579_cor_different_schema.sql",
      "description": "CREATE (id, val) + INSERT + COR (id, name, score) + INSERT.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/257_ict_multi_writer",
      "num": 257,
      "name": "ict_multi_writer",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/257_ict_multi_writer.py",
      "read_script": "generator/df-reads-spark-iceberg/257_ict_multi_writer.sql",
      "description": "## Table Details Tests ICT ordering across concurrent writers (DBX and DeltaForge). DBX creates initial commit, DeltaForge will add next, then DBX again.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "robust:concurrent-writes",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2580_cor_with_cdc",
      "num": 2580,
      "name": "cor_with_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2580_cor_with_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/2580_cor_with_cdc.sql",
      "description": "CDC + CREATE + INSERT + COR with CDC + INSERT.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2581_cor_with_constraints",
      "num": 2581,
      "name": "cor_with_constraints",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2581_cor_with_constraints.py",
      "read_script": "generator/df-reads-spark-iceberg/2581_cor_with_constraints.sql",
      "description": "CREATE + INSERT + COR + ADD CHECK constraint + INSERT.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2582_cor_with_identity",
      "num": 2582,
      "name": "cor_with_identity",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2582_cor_with_identity.py",
      "read_script": "generator/df-reads-spark-iceberg/2582_cor_with_identity.sql",
      "description": "CREATE + INSERT + COR with IDENTITY + INSERT.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2583_cor_partitioned",
      "num": 2583,
      "name": "cor_partitioned",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2583_cor_partitioned.py",
      "read_script": "generator/df-reads-spark-iceberg/2583_cor_partitioned.sql",
      "description": "Partitioned CREATE + INSERT + COR same partition + INSERT.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2584_cor_then_dml",
      "num": 2584,
      "name": "cor_then_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2584_cor_then_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/2584_cor_then_dml.sql",
      "description": "COR + INSERT + UPDATE + DELETE + MERGE. Full DML chain after COR.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2585_cor_then_optimize",
      "num": 2585,
      "name": "cor_then_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2585_cor_then_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/2585_cor_then_optimize.sql",
      "description": "COR + INSERT 1000 in 10 batches + OPTIMIZE.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2586_boundary_bigint_min_max",
      "num": 2586,
      "name": "boundary_bigint_min_max",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2586_boundary_bigint_min_max.py",
      "read_script": "generator/df-reads-spark-iceberg/2586_boundary_bigint_min_max.sql",
      "description": "Avoids exact BIGINT MIN to prevent overflow in arithmetic.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2587_boundary_int_extremes",
      "num": 2587,
      "name": "boundary_int_extremes",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2587_boundary_int_extremes.py",
      "read_script": "generator/df-reads-spark-iceberg/2587_boundary_int_extremes.sql",
      "description": "10 rows",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2588_boundary_decimal_38_0",
      "num": 2588,
      "name": "boundary_decimal_38_0",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2588_boundary_decimal_38_0.py",
      "read_script": "generator/df-reads-spark-iceberg/2588_boundary_decimal_38_0.sql",
      "description": "DECIMAL(38,0) with large values. 10 rows with varying magnitudes.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:decimal",
        "type:integer",
        "dml:insert",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2589_boundary_decimal_38_18",
      "num": 2589,
      "name": "boundary_decimal_38_18",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2589_boundary_decimal_38_18.py",
      "read_script": "generator/df-reads-spark-iceberg/2589_boundary_decimal_38_18.sql",
      "description": "DECIMAL(38,18) with max precision. 100 rows with 18 decimal places.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/258_ict_preserve",
      "num": 258,
      "name": "ict_preserve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/258_ict_preserve.py",
      "read_script": "generator/df-reads-spark-iceberg/258_ict_preserve.sql",
      "description": "ICT metadata preservation across operations",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2590_boundary_timestamp_epoch",
      "num": 2590,
      "name": "boundary_timestamp_epoch",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2590_boundary_timestamp_epoch.py",
      "read_script": "generator/df-reads-spark-iceberg/2590_boundary_timestamp_epoch.sql",
      "description": "Timestamps at epoch (1970-01-01 00:00:00 UTC). 10 rows near epoch.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2591_boundary_timestamp_far_future",
      "num": 2591,
      "name": "boundary_timestamp_far_future",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2591_boundary_timestamp_far_future.py",
      "read_script": "generator/df-reads-spark-iceberg/2591_boundary_timestamp_far_future.sql",
      "description": "Timestamps at year 2099. arrow_cast(4070908800000000) = 2099-01-01 00:00 UTC. 10 rows with offsets of i hours from that base.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2592_boundary_timestamp_microsecond",
      "num": 2592,
      "name": "boundary_timestamp_microsecond",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2592_boundary_timestamp_microsecond.py",
      "read_script": "generator/df-reads-spark-iceberg/2592_boundary_timestamp_microsecond.sql",
      "description": "Two rows differing by exactly 1 microsecond. row1: 1704067200000000 (2024-01-01 00:00:00.000000) row2: 1704067200000001 (2024-01-01 00:00:00.000001)",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2593_boundary_boolean_three_val",
      "num": 2593,
      "name": "boundary_boolean_three_val",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2593_boundary_boolean_three_val.py",
      "read_script": "generator/df-reads-spark-iceberg/2593_boundary_boolean_three_val.sql",
      "description": "BOOLEAN column with TRUE, FALSE, NULL. 300 rows (100 each).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:boundary",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2594_boundary_empty_string_vs_null",
      "num": 2594,
      "name": "boundary_empty_string_vs_null",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2594_boundary_empty_string_vs_null.py",
      "read_script": "generator/df-reads-spark-iceberg/2594_boundary_empty_string_vs_null.sql",
      "description": "STRING col with '' (empty) and NULL. 200 rows, 100 each.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2595_boundary_single_row_table",
      "num": 2595,
      "name": "boundary_single_row_table",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2595_boundary_single_row_table.py",
      "read_script": "generator/df-reads-spark-iceberg/2595_boundary_single_row_table.sql",
      "description": "Table with exactly 1 row. Then UPDATE, then DELETE, then INSERT 1. Tests DML operations on minimal table.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2596_boundary_double_special",
      "num": 2596,
      "name": "boundary_double_special",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2596_boundary_double_special.py",
      "read_script": "generator/df-reads-spark-iceberg/2596_boundary_double_special.sql",
      "description": "DOUBLE with very small (1e-300) and very large (1e300) values. 10 rows.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:floating",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2597_boundary_zero_values",
      "num": 2597,
      "name": "boundary_zero_values",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2597_boundary_zero_values.py",
      "read_script": "generator/df-reads-spark-iceberg/2597_boundary_zero_values.sql",
      "description": "100 rows.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2598_boundary_negative_numbers",
      "num": 2598,
      "name": "boundary_negative_numbers",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2598_boundary_negative_numbers.py",
      "read_script": "generator/df-reads-spark-iceberg/2598_boundary_negative_numbers.sql",
      "description": "500 rows",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2599_boundary_max_columns_30",
      "num": 2599,
      "name": "boundary_max_columns_30",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2599_boundary_max_columns_30.py",
      "read_script": "generator/df-reads-spark-iceberg/2599_boundary_max_columns_30.sql",
      "description": "30 columns of mixed types. 500 rows. Verify all columns readable.",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:boundary",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/259_ict_cdc",
      "num": 259,
      "name": "ict_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/259_ict_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/259_ict_cdc.sql",
      "description": "ICT + CDC - In-Commit Timestamps with Change Data Feed",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/25_table_features_new_table_creation",
      "num": 25,
      "name": "table_features_new_table_creation",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/25_table_features_new_table_creation.py",
      "read_script": "generator/df-reads-spark-iceberg/25_table_features_new_table_creation.sql",
      "description": "Demonstrates table features for new table creation (CDC, DVs, columnMapping).",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:46:06.533780+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:overwrite",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2600_boundary_null_heavy",
      "num": 2600,
      "name": "boundary_null_heavy",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2600_boundary_null_heavy.py",
      "read_script": "generator/df-reads-spark-iceberg/2600_boundary_null_heavy.sql",
      "description": "500 rows where 80% of optional columns are NULL. id is never null; a, b, c, d are null when i%5 != 0 (80% null).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:boundary",
        "type:floating",
        "type:integer",
        "type:string",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2601_boundary_all_types_one_row",
      "num": 2601,
      "name": "boundary_all_types_one_row",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2601_boundary_all_types_one_row.py",
      "read_script": "generator/df-reads-spark-iceberg/2601_boundary_all_types_one_row.sql",
      "description": "Single row with every supported type. flt_val FLOAT, bool_val BOOLEAN, dec_val DECIMAL(10,2), ts_val TIMESTAMP",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:boundary",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2602_boundary_decimal_zero_scale",
      "num": 2602,
      "name": "boundary_decimal_zero_scale",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2602_boundary_decimal_zero_scale.py",
      "read_script": "generator/df-reads-spark-iceberg/2602_boundary_decimal_zero_scale.sql",
      "description": "DECIMAL(10,0) - integer-like decimal. 500 rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:decimal",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2603_boundary_string_length_1",
      "num": 2603,
      "name": "boundary_string_length_1",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2603_boundary_string_length_1.py",
      "read_script": "generator/df-reads-spark-iceberg/2603_boundary_string_length_1.sql",
      "description": "Single-character strings. 500 rows with chars 'A' to 'Z' cycling (i%26).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2604_boundary_consecutive_updates",
      "num": 2604,
      "name": "boundary_consecutive_updates",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2604_boundary_consecutive_updates.py",
      "read_script": "generator/df-reads-spark-iceberg/2604_boundary_consecutive_updates.sql",
      "description": "INSERT 100 rows + 10 sequential UPDATEs to same column. val starts at 0, updated to 1, 2, ..., 10. Final val=10 for all.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2605_boundary_min_max_after_delete",
      "num": 2605,
      "name": "boundary_min_max_after_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2605_boundary_min_max_after_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/2605_boundary_min_max_after_delete.sql",
      "description": "INSERT 100 rows (1-100) + DELETE WHERE id=1 + DELETE WHERE id=100. Verify min=2, max=99 after deletes.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2606_uniform_basic_insert",
      "num": 2606,
      "name": "uniform_basic_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2606_uniform_basic_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/2606_uniform_basic_insert.sql",
      "description": "UniForm Iceberg enabled + INSERT 500 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2607_uniform_with_partition",
      "num": 2607,
      "name": "uniform_with_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2607_uniform_with_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/2607_uniform_with_partition.sql",
      "description": "UniForm + PARTITIONED BY(region). INSERT 500 rows. 3 regions: US, EU, APAC distributed round-robin.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2608_uniform_after_update",
      "num": 2608,
      "name": "uniform_after_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2608_uniform_after_update.py",
      "read_script": "generator/df-reads-spark-iceberg/2608_uniform_after_update.sql",
      "description": "UniForm + INSERT 500 + UPDATE 200 rows (id <= 200).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2609_uniform_after_delete",
      "num": 2609,
      "name": "uniform_after_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2609_uniform_after_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/2609_uniform_after_delete.sql",
      "description": "UniForm + INSERT 500 + DELETE 200 rows (id <= 200).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/260_invariant_not_null",
      "num": 260,
      "name": "invariant_not_null",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/260_invariant_not_null.py",
      "read_script": "generator/df-reads-spark-iceberg/260_invariant_not_null.sql",
      "description": "NOT NULL constraint enforcement on INSERT.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2610_uniform_after_merge",
      "num": 2610,
      "name": "uniform_after_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2610_uniform_after_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2610_uniform_after_merge.sql",
      "description": "UniForm + INSERT 300 + MERGE 200 (insert new rows 301-500).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2611_uniform_after_optimize",
      "num": 2611,
      "name": "uniform_after_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2611_uniform_after_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/2611_uniform_after_optimize.sql",
      "description": "UniForm + INSERT 1000 in 10 batches of 100 + OPTIMIZE.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2612_uniform_after_vacuum",
      "num": 2612,
      "name": "uniform_after_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2612_uniform_after_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/2612_uniform_after_vacuum.sql",
      "description": "Column mapping + DV + INSERT 500 + DELETE 200 + VACUUM RETAIN 0 HOURS. (Iceberg UniForm has dedicated tests in the iceberg folder.)",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:vacuum",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2613_uniform_schema_evolve",
      "num": 2613,
      "name": "uniform_schema_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2613_uniform_schema_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/2613_uniform_schema_evolve.sql",
      "description": "UniForm + INSERT 300 + ALTER ADD COLUMN + INSERT 200.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "iceberg:uniform",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2614_uniform_with_cdc",
      "num": 2614,
      "name": "uniform_with_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2614_uniform_with_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/2614_uniform_with_cdc.sql",
      "description": "UniForm + CDC + INSERT 300 + UPDATE 100.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2615_uniform_with_constraints",
      "num": 2615,
      "name": "uniform_with_constraints",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2615_uniform_with_constraints.py",
      "read_script": "generator/df-reads-spark-iceberg/2615_uniform_with_constraints.sql",
      "description": "UniForm + CHECK(val > 0) + INSERT 500.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2616_uniform_with_identity",
      "num": 2616,
      "name": "uniform_with_identity",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2616_uniform_with_identity.py",
      "read_script": "generator/df-reads-spark-iceberg/2616_uniform_with_identity.sql",
      "description": "UniForm + IDENTITY column + INSERT 500.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2617_uniform_with_defaults",
      "num": 2617,
      "name": "uniform_with_defaults",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2617_uniform_with_defaults.py",
      "read_script": "generator/df-reads-spark-iceberg/2617_uniform_with_defaults.sql",
      "description": "UniForm + DEFAULT 0 on val + INSERT 500 (omit val for 250).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2618_uniform_wide_types",
      "num": 2618,
      "name": "uniform_wide_types",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2618_uniform_wide_types.py",
      "read_script": "generator/df-reads-spark-iceberg/2618_uniform_wide_types.sql",
      "description": "500 rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "iceberg:uniform",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2619_uniform_nested_struct",
      "num": 2619,
      "name": "uniform_nested_struct",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2619_uniform_nested_struct.py",
      "read_script": "generator/df-reads-spark-iceberg/2619_uniform_nested_struct.sql",
      "description": "UniForm + STRUCT<a:INT, b:STRING> column. 500 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "iceberg:uniform",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/261_invariant_check",
      "num": 261,
      "name": "invariant_check",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/261_invariant_check.py",
      "read_script": "generator/df-reads-spark-iceberg/261_invariant_check.sql",
      "description": "CHECK constraint with SQL boolean expression.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2620_uniform_after_restore",
      "num": 2620,
      "name": "uniform_after_restore",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2620_uniform_after_restore.py",
      "read_script": "generator/df-reads-spark-iceberg/2620_uniform_after_restore.sql",
      "description": "UniForm + INSERT 500 + UPDATE 250 + RESTORE VERSION 1 (back to original INSERT).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2621_combo_cdc_dv_merge",
      "num": 2621,
      "name": "combo_cdc_dv_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2621_combo_cdc_dv_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2621_combo_cdc_dv_merge.sql",
      "description": "CDC + Deletion Vectors + MERGE. INSERT 500 rows, then",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2622_combo_cdc_colmap_partition",
      "num": 2622,
      "name": "combo_cdc_colmap_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2622_combo_cdc_colmap_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/2622_combo_cdc_colmap_partition.sql",
      "description": "CDC + column mapping (name mode) + PARTITIONED BY(region).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2623_combo_identity_default_generated",
      "num": 2623,
      "name": "combo_identity_default_generated",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2623_combo_identity_default_generated.py",
      "read_script": "generator/df-reads-spark-iceberg/2623_combo_identity_default_generated.sql",
      "description": "IDENTITY column + DEFAULT value + GENERATED column.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:default-values",
        "delta:generated-columns",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2624_combo_cdc_identity_merge",
      "num": 2624,
      "name": "combo_cdc_identity_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2624_combo_cdc_identity_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2624_combo_cdc_identity_merge.sql",
      "description": "CDC + IDENTITY + MERGE. INSERT 300 (omit id) then",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2625_combo_colmap_partition_merge",
      "num": 2625,
      "name": "combo_colmap_partition_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2625_combo_colmap_partition_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2625_combo_colmap_partition_merge.sql",
      "description": "Column mapping (name) + PARTITIONED BY(region) + MERGE.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2626_combo_partition_cdc_restore",
      "num": 2626,
      "name": "combo_partition_cdc_restore",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2626_combo_partition_cdc_restore.py",
      "read_script": "generator/df-reads-spark-iceberg/2626_combo_partition_cdc_restore.sql",
      "description": "PARTITIONED + CDC + INSERT 500 + UPDATE 200 + RESTORE VERSION 1.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:partitioning",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2627_combo_constraint_default_evolve",
      "num": 2627,
      "name": "combo_constraint_default_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2627_combo_constraint_default_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/2627_combo_constraint_default_evolve.sql",
      "description": "CHECK(val>0) + DEFAULT 10 + INSERT 500 + ALTER ADD COLUMN tag STRING.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:default-values",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2628_combo_dv_zorder_time_travel",
      "num": 2628,
      "name": "combo_dv_zorder_time_travel",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2628_combo_dv_zorder_time_travel.py",
      "read_script": "generator/df-reads-spark-iceberg/2628_combo_dv_zorder_time_travel.sql",
      "description": "DV + ZORDER + time travel. INSERT 500 + DELETE 200 +",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2629_combo_cdc_checkpoint_vacuum",
      "num": 2629,
      "name": "combo_cdc_checkpoint_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2629_combo_cdc_checkpoint_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/2629_combo_cdc_checkpoint_vacuum.sql",
      "description": "CDC + v2 checkpoint policy + INSERT 500 + DELETE 200 +",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/262_invariant_range",
      "num": 262,
      "name": "invariant_range",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/262_invariant_range.py",
      "read_script": "generator/df-reads-spark-iceberg/262_invariant_range.sql",
      "description": "Range-based constraints (min/max values).",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2630_combo_identity_merge_optimize",
      "num": 2630,
      "name": "combo_identity_merge_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2630_combo_identity_merge_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/2630_combo_identity_merge_optimize.sql",
      "description": "IDENTITY + MERGE + OPTIMIZE. INSERT 300 (omit id) +",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:identity-columns",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2631_combo_colmap_cdc_dv",
      "num": 2631,
      "name": "combo_colmap_cdc_dv",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2631_combo_colmap_cdc_dv.py",
      "read_script": "generator/df-reads-spark-iceberg/2631_combo_colmap_cdc_dv.sql",
      "description": "colmap=name + CDC + DV. INSERT 500 + DELETE 200 + UPDATE 100.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2632_combo_generated_partition",
      "num": 2632,
      "name": "combo_generated_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2632_combo_generated_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/2632_combo_generated_partition.sql",
      "description": "PARTITIONED BY(region) + GENERATED(total AS base*2).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2633_combo_constraint_colmap_merge",
      "num": 2633,
      "name": "combo_constraint_colmap_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2633_combo_constraint_colmap_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2633_combo_constraint_colmap_merge.sql",
      "description": "CHECK(val>0) + colmap=name + MERGE.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2634_combo_default_cdc_delete",
      "num": 2634,
      "name": "combo_default_cdc_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2634_combo_default_cdc_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/2634_combo_default_cdc_delete.sql",
      "description": "DEFAULT 0 + CDC + DELETE. INSERT 500 (200 with default val=0)",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2635_combo_identity_cdc_evolve",
      "num": 2635,
      "name": "combo_identity_cdc_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2635_combo_identity_cdc_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/2635_combo_identity_cdc_evolve.sql",
      "description": "IDENTITY + CDC + ALTER ADD COLUMN. INSERT 300 + ALTER ADD tag",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:identity-columns",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2636_combo_partition_zorder_vacuum",
      "num": 2636,
      "name": "combo_partition_zorder_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2636_combo_partition_zorder_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/2636_combo_partition_zorder_vacuum.sql",
      "description": "PARTITIONED + ZORDER + VACUUM. INSERT 500 + ZORDER BY(key)",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "delta:vacuum",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2637_combo_dv_restore_cdc",
      "num": 2637,
      "name": "combo_dv_restore_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2637_combo_dv_restore_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/2637_combo_dv_restore_cdc.sql",
      "description": "DV + RESTORE + CDC. INSERT 500 + DELETE 200 (DV) +",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2638_combo_colmap_identity_default",
      "num": 2638,
      "name": "combo_colmap_identity_default",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2638_combo_colmap_identity_default.py",
      "read_script": "generator/df-reads-spark-iceberg/2638_combo_colmap_identity_default.sql",
      "description": "colmap=name + IDENTITY + DEFAULT. INSERT 500",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:default-values",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2639_combo_v2ckpt_merge_cdc",
      "num": 2639,
      "name": "combo_v2ckpt_merge_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2639_combo_v2ckpt_merge_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/2639_combo_v2ckpt_merge_cdc.sql",
      "description": "v2 checkpoint + MERGE + CDC. INSERT 300 + MERGE 200 +",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/263_invariant_in_set",
      "num": 263,
      "name": "invariant_in_set",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/263_invariant_in_set.py",
      "read_script": "generator/df-reads-spark-iceberg/263_invariant_in_set.sql",
      "description": "Value must be in predefined set.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2640_combo_five_feature",
      "num": 2640,
      "name": "combo_five_feature",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2640_combo_five_feature.py",
      "read_script": "generator/df-reads-spark-iceberg/2640_combo_five_feature.sql",
      "description": "CDC + colmap + DV + PARTITION + MERGE. All five features active.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2641_combo_six_feature",
      "num": 2641,
      "name": "combo_six_feature",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2641_combo_six_feature.py",
      "read_script": "generator/df-reads-spark-iceberg/2641_combo_six_feature.sql",
      "description": "CDC + colmap + DV + IDENTITY + PARTITION + MERGE.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2642_combo_evolve_constraint_merge",
      "num": 2642,
      "name": "combo_evolve_constraint_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2642_combo_evolve_constraint_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2642_combo_evolve_constraint_merge.sql",
      "description": "ALTER ADD COL + CHECK constraint + MERGE. INSERT 300 +",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2643_combo_truncate_cdc_identity",
      "num": 2643,
      "name": "combo_truncate_cdc_identity",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2643_combo_truncate_cdc_identity.py",
      "read_script": "generator/df-reads-spark-iceberg/2643_combo_truncate_cdc_identity.sql",
      "description": "TRUNCATE + CDC + IDENTITY. INSERT 500 + TRUNCATE + INSERT 200.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:truncate",
        "delta:change-data-feed",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2644_combo_cor_cdc_partition",
      "num": 2644,
      "name": "combo_cor_cdc_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2644_combo_cor_cdc_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/2644_combo_cor_cdc_partition.sql",
      "description": "300 rows (COR resets data, only post-COR INSERT 300 survives)",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2645_combo_generated_constraint",
      "num": 2645,
      "name": "combo_generated_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2645_combo_generated_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/2645_combo_generated_constraint.sql",
      "description": "GENERATED(total AS base*2) + CHECK(base>0).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2646_combo_dv_colmap_time_travel",
      "num": 2646,
      "name": "combo_dv_colmap_time_travel",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2646_combo_dv_colmap_time_travel.py",
      "read_script": "generator/df-reads-spark-iceberg/2646_combo_dv_colmap_time_travel.sql",
      "description": "DV + colmap + time travel. INSERT 500 + DELETE 200 +",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2647_combo_cdc_merge_optimize_vacuum",
      "num": 2647,
      "name": "combo_cdc_merge_optimize_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2647_combo_cdc_merge_optimize_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/2647_combo_cdc_merge_optimize_vacuum.sql",
      "description": "CDC + MERGE + OPTIMIZE + VACUUM. Full lifecycle:",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2648_combo_all_constraints_merge",
      "num": 2648,
      "name": "combo_all_constraints_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2648_combo_all_constraints_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2648_combo_all_constraints_merge.sql",
      "description": "NOT NULL + CHECK(val>0) + DEFAULT 10 + MERGE.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2649_combo_identity_cdc_partition_merge",
      "num": 2649,
      "name": "combo_identity_cdc_partition_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2649_combo_identity_cdc_partition_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2649_combo_identity_cdc_partition_merge.sql",
      "description": "IDENTITY + CDC + PARTITION + MERGE. INSERT 300 + MERGE 200.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:identity-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/264_invariant_pattern",
      "num": 264,
      "name": "invariant_pattern",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/264_invariant_pattern.py",
      "read_script": "generator/df-reads-spark-iceberg/264_invariant_pattern.sql",
      "description": "Regex pattern matching constraints.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2650_combo_colmap_constraint_optimize",
      "num": 2650,
      "name": "combo_colmap_constraint_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2650_combo_colmap_constraint_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/2650_combo_colmap_constraint_optimize.sql",
      "description": "colmap + CHECK + OPTIMIZE. INSERT 500 + OPTIMIZE.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:constraints",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2651_combo_cdc_dv_partition_zorder",
      "num": 2651,
      "name": "combo_cdc_dv_partition_zorder",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2651_combo_cdc_dv_partition_zorder.py",
      "read_script": "generator/df-reads-spark-iceberg/2651_combo_cdc_dv_partition_zorder.sql",
      "description": "CDC + DV + PARTITION + ZORDER. INSERT 500 + ZORDER +",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2652_combo_identity_default_merge",
      "num": 2652,
      "name": "combo_identity_default_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2652_combo_identity_default_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2652_combo_identity_default_merge.sql",
      "description": "IDENTITY + DEFAULT + MERGE. INSERT 300 (omit id) +",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:default-values",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2653_combo_checkpoint_cdc_colmap",
      "num": 2653,
      "name": "combo_checkpoint_cdc_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2653_combo_checkpoint_cdc_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/2653_combo_checkpoint_cdc_colmap.sql",
      "description": "v2 checkpoint + CDC + colmap. INSERT 500 + UPDATE 200 +",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2654_combo_generated_cdc_merge",
      "num": 2654,
      "name": "combo_generated_cdc_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2654_combo_generated_cdc_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2654_combo_generated_cdc_merge.sql",
      "description": "GENERATED(total AS base*2) + CDC + MERGE. INSERT 300 +",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2655_combo_partition_identity_cdc_dv",
      "num": 2655,
      "name": "combo_partition_identity_cdc_dv",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2655_combo_partition_identity_cdc_dv.py",
      "read_script": "generator/df-reads-spark-iceberg/2655_combo_partition_identity_cdc_dv.sql",
      "description": "PARTITION + IDENTITY + CDC + DV. INSERT 300 + DELETE 100 +",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:identity-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2656_etl_scd_type1_overwrite",
      "num": 2656,
      "name": "etl_scd_type1_overwrite",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2656_etl_scd_type1_overwrite.py",
      "read_script": "generator/df-reads-spark-iceberg/2656_etl_scd_type1_overwrite.sql",
      "description": "Verify latest values for all matched rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "dml:overwrite",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2657_etl_scd_type2_history",
      "num": 2657,
      "name": "etl_scd_type2_history",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2657_etl_scd_type2_history.py",
      "read_script": "generator/df-reads-spark-iceberg/2657_etl_scd_type2_history.sql",
      "description": "(100 overlap existing ids 401-500, 100 brand new ids 501-600). Then INSERT new current versions for the 100 matched.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2658_etl_incremental_append",
      "num": 2658,
      "name": "etl_incremental_append",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2658_etl_incremental_append.py",
      "read_script": "generator/df-reads-spark-iceberg/2658_etl_incremental_append.sql",
      "description": "5 rounds of INSERT 200 rows each (ids 1-200, 201-400, 401-600, 601-800, 801-1000). Verify 1000 total, min=1, max=1000.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2659_etl_full_refresh_overwrite",
      "num": 2659,
      "name": "etl_full_refresh_overwrite",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2659_etl_full_refresh_overwrite.py",
      "read_script": "generator/df-reads-spark-iceberg/2659_etl_full_refresh_overwrite.sql",
      "description": "INSERT 500 rows + INSERT OVERWRITE with 500 completely new rows (ids 501-1000). Verify 500 rows after overwrite, min(id)=501.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/265_invariant_multi_col",
      "num": 265,
      "name": "invariant_multi_col",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/265_invariant_multi_col.py",
      "read_script": "generator/df-reads-spark-iceberg/265_invariant_multi_col.sql",
      "description": "Constraints that reference multiple columns.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2660_etl_partition_swap",
      "num": 2660,
      "name": "etl_partition_swap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2660_etl_partition_swap.py",
      "read_script": "generator/df-reads-spark-iceberg/2660_etl_partition_swap.sql",
      "description": "PARTITIONED BY(region) with 4 values + INSERT 500 + INSERT OVERWRITE for region='na' with 50 new rows. Verify other regions unchanged.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2661_etl_backfill_historical",
      "num": 2661,
      "name": "etl_backfill_historical",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2661_etl_backfill_historical.py",
      "read_script": "generator/df-reads-spark-iceberg/2661_etl_backfill_historical.sql",
      "description": "INSERT 500 (ids 501-1000) + INSERT 500 (ids 1-500, \"older\" backfill data). Verify 1000 total, all ids 1-1000 present.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2662_etl_dedup_merge",
      "num": 2662,
      "name": "etl_dedup_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2662_etl_dedup_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2662_etl_dedup_merge.sql",
      "description": "INSERT 500 unique rows + MERGE 500 source (all match, ids 1-500). WHEN MATCHED AND src.val > t.val THEN UPDATE SET val=src.val. Keeps max val per id.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2663_etl_late_arriving",
      "num": 2663,
      "name": "etl_late_arriving",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2663_etl_late_arriving.py",
      "read_script": "generator/df-reads-spark-iceberg/2663_etl_late_arriving.sql",
      "description": "INSERT 500 (ids 1-500 with ts based on i) + INSERT 200 (ids 501-700 with earlier timestamps). Verify 700 total rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2664_etl_gdpr_delete",
      "num": 2664,
      "name": "etl_gdpr_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2664_etl_gdpr_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/2664_etl_gdpr_delete.sql",
      "description": "CDC + INSERT 500 customers + DELETE WHERE id <= 50. Verify 450 rows + CDF has 50 delete records.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2665_etl_schema_migration",
      "num": 2665,
      "name": "etl_schema_migration",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2665_etl_schema_migration.py",
      "read_script": "generator/df-reads-spark-iceberg/2665_etl_schema_migration.sql",
      "description": "INSERT 500 (id, val) + ALTER ADD COLUMN tag STRING + UPDATE SET tag for ids 1-250. Verify 500 rows, 250 non-null tags, 250 null tags.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2666_etl_compact_micro_batch",
      "num": 2666,
      "name": "etl_compact_micro_batch",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2666_etl_compact_micro_batch.py",
      "read_script": "generator/df-reads-spark-iceberg/2666_etl_compact_micro_batch.sql",
      "description": "50 x INSERT 20 rows + OPTIMIZE. Verify 1000 rows, fewer files after optimize.",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2667_etl_cdc_audit_trail",
      "num": 2667,
      "name": "etl_cdc_audit_trail",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2667_etl_cdc_audit_trail.py",
      "read_script": "generator/df-reads-spark-iceberg/2667_etl_cdc_audit_trail.sql",
      "description": "CDC + INSERT 300 + UPDATE 100 (ids 1-100) + DELETE 50 (ids 201-250). Verify 250 rows + CDF has insert(300) + update images + delete(50).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2668_etl_merge_schema_evolve",
      "num": 2668,
      "name": "etl_merge_schema_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2668_etl_merge_schema_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/2668_etl_merge_schema_evolve.sql",
      "description": "INSERT 300 (id, val) + ALTER ADD tag STRING + MERGE 200 source (with tag). WHEN MATCHED UPDATE SET tag=src.tag, WHEN NOT MATCHED INSERT.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2669_etl_daily_partition_append",
      "num": 2669,
      "name": "etl_daily_partition_append",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2669_etl_daily_partition_append.py",
      "read_script": "generator/df-reads-spark-iceberg/2669_etl_daily_partition_append.sql",
      "description": "PARTITIONED BY(day_key STRING) + 10 inserts of 100 rows each with day_key='day_01' through 'day_10'. Verify 1000 rows, 10 partitions.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/266_invariant_violation",
      "num": 266,
      "name": "invariant_violation",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/266_invariant_violation.py",
      "read_script": "generator/df-reads-spark-iceberg/266_invariant_violation.sql",
      "description": "Proper error handling when constraints are violated.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2670_etl_upsert_soft_delete",
      "num": 2670,
      "name": "etl_upsert_soft_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2670_etl_upsert_soft_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/2670_etl_upsert_soft_delete.sql",
      "description": "INSERT 500 (deleted=false) + MERGE 200 source: WHEN MATCHED AND src.action='delete' THEN UPDATE SET deleted=true WHEN MATCHED THEN UPDATE SET val=src.val",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2671_etl_cdc_replay_chain",
      "num": 2671,
      "name": "etl_cdc_replay_chain",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2671_etl_cdc_replay_chain.py",
      "read_script": "generator/df-reads-spark-iceberg/2671_etl_cdc_replay_chain.sql",
      "description": "CDC + INSERT 200 + UPDATE 100 (ids 1-100) + DELETE 50 (ids 151-200) + INSERT 100 (ids 201-300). Full DML chain. Verify 250 rows + CDF covers all operations.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2672_etl_merge_insert_only",
      "num": 2672,
      "name": "etl_merge_insert_only",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2672_etl_merge_insert_only.py",
      "read_script": "generator/df-reads-spark-iceberg/2672_etl_merge_insert_only.sql",
      "description": "INSERT 500 + MERGE 500 source (ids 501-1000, no overlap) WHEN NOT MATCHED INSERT. Verify 1000 rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2673_etl_merge_update_only",
      "num": 2673,
      "name": "etl_merge_update_only",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2673_etl_merge_update_only.py",
      "read_script": "generator/df-reads-spark-iceberg/2673_etl_merge_update_only.sql",
      "description": "INSERT 500 + MERGE 500 source (ids 1-500, all overlap) WHEN MATCHED UPDATE SET val=src.val. Verify 500 rows, all updated.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2674_etl_merge_conditional_update",
      "num": 2674,
      "name": "etl_merge_conditional_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2674_etl_merge_conditional_update.py",
      "read_script": "generator/df-reads-spark-iceberg/2674_etl_merge_conditional_update.sql",
      "description": "INSERT 500 (val=i*10) + MERGE 500 source (val=i*7 for all). WHEN MATCHED AND src.val > t.val THEN UPDATE SET val=src.val. i*7 > i*10 is never true, so NO rows get updated. Wait, let's make it interesting: source val = (501-i)*10 so some are bigger.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2675_etl_multi_stage_merge",
      "num": 2675,
      "name": "etl_multi_stage_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2675_etl_multi_stage_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2675_etl_multi_stage_merge.sql",
      "description": "INSERT 300 (stage 1) + MERGE 200 (stage 2: 100 update ids 201-300 + 100 insert ids 301-400) + MERGE 200 (stage 3: 100 update ids 301-400 + 100 insert ids 401-500). Verify 500 rows after all stages.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2676_merge_all_match_update",
      "num": 2676,
      "name": "merge_all_match_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2676_merge_all_match_update.py",
      "read_script": "generator/df-reads-spark-iceberg/2676_merge_all_match_update.sql",
      "description": "INSERT 500 + MERGE 500 (all match) WHEN MATCHED UPDATE. 100% match rate.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2677_merge_no_match_insert",
      "num": 2677,
      "name": "merge_no_match_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2677_merge_no_match_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/2677_merge_no_match_insert.sql",
      "description": "INSERT 500 + MERGE 500 (ids 501-1000, none match) WHEN NOT MATCHED INSERT. Verify 1000.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2678_merge_delete_all",
      "num": 2678,
      "name": "merge_delete_all",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2678_merge_delete_all.py",
      "read_script": "generator/df-reads-spark-iceberg/2678_merge_delete_all.sql",
      "description": "INSERT 500 + MERGE 500 (all match) WHEN MATCHED THEN DELETE. Verify 0 rows.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2679_merge_compound_key",
      "num": 2679,
      "name": "merge_compound_key",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2679_merge_compound_key.py",
      "read_script": "generator/df-reads-spark-iceberg/2679_merge_compound_key.sql",
      "description": "INSERT 500 with (a, b) composite key + MERGE ON t.a=s.a AND t.b=s.b. a = i / 10, b = i % 10 (deterministic). Source overlaps first 250.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/267_invariant_preserve",
      "num": 267,
      "name": "invariant_preserve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/267_invariant_preserve.py",
      "read_script": "generator/df-reads-spark-iceberg/267_invariant_preserve.sql",
      "description": "Constraints survive DeltaForge roundtrip.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2680_merge_three_clauses",
      "num": 2680,
      "name": "merge_three_clauses",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2680_merge_three_clauses.py",
      "read_script": "generator/df-reads-spark-iceberg/2680_merge_three_clauses.sql",
      "description": "INSERT 500 + MERGE 500 source (ids 1-500): WHEN MATCHED AND src.flag=true THEN DELETE (ids where i%5=0 -> 100 rows) WHEN MATCHED THEN UPDATE SET val=src.val (remaining 400) Source also has 200 non-matching (ids 501-700): WHEN NOT MATCHED INSERT (200 new rows)",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2681_merge_with_subquery_source",
      "num": 2681,
      "name": "merge_with_subquery_source",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2681_merge_with_subquery_source.py",
      "read_script": "generator/df-reads-spark-iceberg/2681_merge_with_subquery_source.sql",
      "description": "INSERT 500 + MERGE USING (SELECT from generate_series) as source ON t.id=src.id WHEN MATCHED UPDATE. Source is ids 1-300.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2682_merge_nmbys_update",
      "num": 2682,
      "name": "merge_nmbys_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2682_merge_nmbys_update.py",
      "read_script": "generator/df-reads-spark-iceberg/2682_merge_nmbys_update.sql",
      "description": "INSERT 500 + MERGE 300 source (ids 1-300): WHEN MATCHED THEN UPDATE SET val=src.val WHEN NOT MATCHED BY SOURCE THEN UPDATE SET val=-1 Verify ids 301-500 have val=-1.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2683_merge_nmbys_delete",
      "num": 2683,
      "name": "merge_nmbys_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2683_merge_nmbys_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/2683_merge_nmbys_delete.sql",
      "description": "INSERT 500 + MERGE 300 source (ids 1-300): WHEN MATCHED THEN UPDATE SET val=src.val WHEN NOT MATCHED BY SOURCE THEN DELETE Verify 300 rows (ids 301-500 deleted).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2684_merge_large_source_small_target",
      "num": 2684,
      "name": "merge_large_source_small_target",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2684_merge_large_source_small_target.py",
      "read_script": "generator/df-reads-spark-iceberg/2684_merge_large_source_small_target.sql",
      "description": "INSERT 100 + MERGE 1000 source. 100 match (update), 900 not matched (insert). Verify 1000 rows.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2685_merge_small_source_large_target",
      "num": 2685,
      "name": "merge_small_source_large_target",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2685_merge_small_source_large_target.py",
      "read_script": "generator/df-reads-spark-iceberg/2685_merge_small_source_large_target.sql",
      "description": "INSERT 1000 + MERGE 100 source (ids 1-100, all match). Verify 1000 rows, 100 updated.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2686_merge_self_join_update",
      "num": 2686,
      "name": "merge_self_join_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2686_merge_self_join_update.py",
      "read_script": "generator/df-reads-spark-iceberg/2686_merge_self_join_update.sql",
      "description": "INSERT 500 + MERGE table with itself ON t.id=s.id WHEN MATCHED UPDATE SET val=val*2. Verify all val doubled.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2687_merge_with_cdc_all_clauses",
      "num": 2687,
      "name": "merge_with_cdc_all_clauses",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2687_merge_with_cdc_all_clauses.py",
      "read_script": "generator/df-reads-spark-iceberg/2687_merge_with_cdc_all_clauses.sql",
      "description": "CDC + INSERT 300 + MERGE 300 source with all clause types: WHEN MATCHED AND target.id <= 150 THEN DELETE (50 rows) WHEN MATCHED THEN UPDATE SET val=src.val (150 rows: ids 151-300) WHEN NOT MATCHED THEN INSERT (100 rows: ids 301-400)",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2688_merge_partitioned_cross",
      "num": 2688,
      "name": "merge_partitioned_cross",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2688_merge_partitioned_cross.py",
      "read_script": "generator/df-reads-spark-iceberg/2688_merge_partitioned_cross.sql",
      "description": "PARTITIONED BY(region) + INSERT 500 + MERGE 300 source across different partitions. WHEN MATCHED THEN UPDATE SET val=src.val, region=src.region WHEN NOT MATCHED INSERT (none expected -- all 1-300 exist)",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2689_merge_with_identity",
      "num": 2689,
      "name": "merge_with_identity",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2689_merge_with_identity.py",
      "read_script": "generator/df-reads-spark-iceberg/2689_merge_with_identity.sql",
      "description": "IDENTITY column + INSERT 300 (omit id) + MERGE 200 WHEN NOT MATCHED INSERT (omit id). Verify all rows have unique auto IDs.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/268_invariant_nested",
      "num": 268,
      "name": "invariant_nested",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/268_invariant_nested.py",
      "read_script": "generator/df-reads-spark-iceberg/268_invariant_nested.sql",
      "description": "Constraints on struct field values.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:struct",
        "dml:insert",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2690_merge_update_computed_expr",
      "num": 2690,
      "name": "merge_update_computed_expr",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2690_merge_update_computed_expr.py",
      "read_script": "generator/df-reads-spark-iceberg/2690_merge_update_computed_expr.sql",
      "description": "INSERT 500 + MERGE 500 WHEN MATCHED UPDATE SET val = t.val + src.val, name = CONCAT(t.name, '_merged'). Verify computed results.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2691_restore_basic_to_v1",
      "num": 2691,
      "name": "restore_basic_to_v1",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2691_restore_basic_to_v1.py",
      "read_script": "generator/df-reads-spark-iceberg/2691_restore_basic_to_v1.sql",
      "description": "Basic RESTORE TO VERSION AS OF 1.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2692_restore_after_delete",
      "num": 2692,
      "name": "restore_after_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2692_restore_after_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/2692_restore_after_delete.sql",
      "description": "RESTORE after DELETE restores deleted rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:time-travel",
        "iceberg:snapshots",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2693_restore_after_merge",
      "num": 2693,
      "name": "restore_after_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2693_restore_after_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2693_restore_after_merge.sql",
      "description": "RESTORE after MERGE undoes merged rows.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:time-travel",
        "iceberg:snapshots",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2694_restore_after_truncate",
      "num": 2694,
      "name": "restore_after_truncate",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2694_restore_after_truncate.py",
      "read_script": "generator/df-reads-spark-iceberg/2694_restore_after_truncate.sql",
      "description": "RESTORE after TRUNCATE brings all rows back.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:truncate",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2695_restore_after_optimize",
      "num": 2695,
      "name": "restore_after_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2695_restore_after_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/2695_restore_after_optimize.sql",
      "description": "RESTORE after OPTIMIZE reverts file compaction.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2696_restore_then_insert",
      "num": 2696,
      "name": "restore_then_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2696_restore_then_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/2696_restore_then_insert.sql",
      "description": "INSERT after RESTORE continues from restored state.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2697_restore_then_merge",
      "num": 2697,
      "name": "restore_then_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2697_restore_then_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2697_restore_then_merge.sql",
      "description": "MERGE after RESTORE continues from restored state.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:time-travel",
        "iceberg:snapshots",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2698_restore_chain",
      "num": 2698,
      "name": "restore_chain",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2698_restore_chain.py",
      "read_script": "generator/df-reads-spark-iceberg/2698_restore_chain.sql",
      "description": "RESTORE to an intermediate version in a multi-INSERT chain.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "iceberg:snapshots",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2699_restore_with_cdc",
      "num": 2699,
      "name": "restore_with_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2699_restore_with_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/2699_restore_with_cdc.sql",
      "description": "RESTORE on a CDC-enabled table.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/269_conflict_write_write",
      "num": 269,
      "name": "conflict_write_write",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/269_conflict_write_write.py",
      "read_script": "generator/df-reads-spark-iceberg/269_conflict_write_write.sql",
      "description": "Concurrent write conflict detection.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "scale:large-dataset",
        "robust:concurrent-writes",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/26_table_features_existing_table_upgrade",
      "num": 26,
      "name": "table_features_existing_table_upgrade",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/26_table_features_existing_table_upgrade.py",
      "read_script": "generator/df-reads-spark-iceberg/26_table_features_existing_table_upgrade.sql",
      "description": "Demonstrates upgrading existing table with new features (CDC, DVs).",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:46:06.533780+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:overwrite",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2700_restore_with_colmap",
      "num": 2700,
      "name": "restore_with_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2700_restore_with_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/2700_restore_with_colmap.sql",
      "description": "RESTORE on a column-mapping (name mode) table.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2701_restore_with_partition",
      "num": 2701,
      "name": "restore_with_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2701_restore_with_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/2701_restore_with_partition.sql",
      "description": "RESTORE on a partitioned table restores deleted partitions.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "delta:time-travel",
        "iceberg:snapshots",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2702_restore_with_identity",
      "num": 2702,
      "name": "restore_with_identity",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2702_restore_with_identity.py",
      "read_script": "generator/df-reads-spark-iceberg/2702_restore_with_identity.sql",
      "description": "RESTORE on a table with identity-like column preserves IDs.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:identity-columns",
        "delta:time-travel",
        "iceberg:snapshots",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2703_vacuum_basic",
      "num": 2703,
      "name": "vacuum_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2703_vacuum_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/2703_vacuum_basic.sql",
      "description": "Basic VACUUM after DELETE with deletion vectors.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2704_vacuum_after_optimize",
      "num": 2704,
      "name": "vacuum_after_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2704_vacuum_after_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/2704_vacuum_after_optimize.sql",
      "description": "VACUUM after OPTIMIZE cleans pre-compaction files.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2705_vacuum_after_update",
      "num": 2705,
      "name": "vacuum_after_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2705_vacuum_after_update.py",
      "read_script": "generator/df-reads-spark-iceberg/2705_vacuum_after_update.sql",
      "description": "VACUUM after UPDATE cleans old row versions.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2706_vacuum_preserves_cdc",
      "num": 2706,
      "name": "vacuum_preserves_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2706_vacuum_preserves_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/2706_vacuum_preserves_cdc.sql",
      "description": "VACUUM on CDC-enabled table. DELETE 200 + VACUUM.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2707_vacuum_partitioned",
      "num": 2707,
      "name": "vacuum_partitioned",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2707_vacuum_partitioned.py",
      "read_script": "generator/df-reads-spark-iceberg/2707_vacuum_partitioned.sql",
      "description": "VACUUM on partitioned table after deleting one partition.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2708_vacuum_multiple_rounds",
      "num": 2708,
      "name": "vacuum_multiple_rounds",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2708_vacuum_multiple_rounds.py",
      "read_script": "generator/df-reads-spark-iceberg/2708_vacuum_multiple_rounds.sql",
      "description": "Multiple rounds of DELETE + VACUUM.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2709_vacuum_after_schema_evolve",
      "num": 2709,
      "name": "vacuum_after_schema_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2709_vacuum_after_schema_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/2709_vacuum_after_schema_evolve.sql",
      "description": "VACUUM after schema evolution (ALTER ADD COLUMN).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:vacuum",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/270_conflict_serializable",
      "num": 270,
      "name": "conflict_serializable",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/270_conflict_serializable.py",
      "read_script": "generator/df-reads-spark-iceberg/270_conflict_serializable.sql",
      "description": "Serializable isolation detects read-write conflicts (phantom reads).",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "robust:concurrent-writes",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2710_vacuum_then_insert",
      "num": 2710,
      "name": "vacuum_then_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2710_vacuum_then_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/2710_vacuum_then_insert.sql",
      "description": "INSERT after VACUUM on an emptied table.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2711_time_travel_read_each_version",
      "num": 2711,
      "name": "time_travel_read_each_version",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2711_time_travel_read_each_version.py",
      "read_script": "generator/df-reads-spark-iceberg/2711_time_travel_read_each_version.sql",
      "description": "Time travel reads at each version.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2712_time_travel_after_delete",
      "num": 2712,
      "name": "time_travel_after_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2712_time_travel_after_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/2712_time_travel_after_delete.sql",
      "description": "Time travel reads before and after DELETE.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2713_time_travel_after_update",
      "num": 2713,
      "name": "time_travel_after_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2713_time_travel_after_update.py",
      "read_script": "generator/df-reads-spark-iceberg/2713_time_travel_after_update.sql",
      "description": "Time travel reads before and after UPDATE.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2714_time_travel_after_merge",
      "num": 2714,
      "name": "time_travel_after_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2714_time_travel_after_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2714_time_travel_after_merge.sql",
      "description": "Time travel reads before and after MERGE.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2715_time_travel_after_schema_evolve",
      "num": 2715,
      "name": "time_travel_after_schema_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2715_time_travel_after_schema_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/2715_time_travel_after_schema_evolve.sql",
      "description": "Time travel across schema evolution.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2716_time_travel_with_colmap",
      "num": 2716,
      "name": "time_travel_with_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2716_time_travel_with_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/2716_time_travel_with_colmap.sql",
      "description": "Time travel on column-mapping table.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2717_time_travel_partitioned",
      "num": 2717,
      "name": "time_travel_partitioned",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2717_time_travel_partitioned.py",
      "read_script": "generator/df-reads-spark-iceberg/2717_time_travel_partitioned.sql",
      "description": "Time travel on partitioned table.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2718_time_travel_after_optimize",
      "num": 2718,
      "name": "time_travel_after_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2718_time_travel_after_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/2718_time_travel_after_optimize.sql",
      "description": "Time travel before and after OPTIMIZE.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2719_timestamp_microsecond_precision",
      "num": 2719,
      "name": "timestamp_microsecond_precision",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2719_timestamp_microsecond_precision.py",
      "read_script": "generator/df-reads-spark-iceberg/2719_timestamp_microsecond_precision.sql",
      "description": "Microsecond-precision timestamps, each unique.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/271_conflict_write_serializable",
      "num": 271,
      "name": "conflict_write_serializable",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/271_conflict_write_serializable.py",
      "read_script": "generator/df-reads-spark-iceberg/271_conflict_write_serializable.sql",
      "description": "WriteSerializable allows read-write but blocks write-write conflicts.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "robust:concurrent-writes",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2720_timestamp_day_boundaries",
      "num": 2720,
      "name": "timestamp_day_boundaries",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2720_timestamp_day_boundaries.py",
      "read_script": "generator/df-reads-spark-iceberg/2720_timestamp_day_boundaries.sql",
      "description": "One timestamp per day for 365 days starting 2024-01-01.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2721_timestamp_year_range",
      "num": 2721,
      "name": "timestamp_year_range",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2721_timestamp_year_range.py",
      "read_script": "generator/df-reads-spark-iceberg/2721_timestamp_year_range.sql",
      "description": "Timestamps spanning years 2020-2029.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2722_timestamp_null_handling",
      "num": 2722,
      "name": "timestamp_null_handling",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2722_timestamp_null_handling.py",
      "read_script": "generator/df-reads-spark-iceberg/2722_timestamp_null_handling.sql",
      "description": "Mix of non-null and null timestamps.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2723_timestamp_after_update",
      "num": 2723,
      "name": "timestamp_after_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2723_timestamp_after_update.py",
      "read_script": "generator/df-reads-spark-iceberg/2723_timestamp_after_update.sql",
      "description": "UPDATE on timestamp column.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2724_timestamp_partition",
      "num": 2724,
      "name": "timestamp_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2724_timestamp_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/2724_timestamp_partition.sql",
      "description": "Partitioning by a string day column derived from row index.",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:partitioning",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2725_timestamp_merge_temporal",
      "num": 2725,
      "name": "timestamp_merge_temporal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2725_timestamp_merge_temporal.py",
      "read_script": "generator/df-reads-spark-iceberg/2725_timestamp_merge_temporal.sql",
      "description": "MERGE with temporal condition (newer ts wins).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2726_partition_null_key",
      "num": 2726,
      "name": "partition_null_key",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2726_partition_null_key.py",
      "read_script": "generator/df-reads-spark-iceberg/2726_partition_null_key.sql",
      "description": "Partitioned table where some rows have NULL partition key.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2727_partition_single_value",
      "num": 2727,
      "name": "partition_single_value",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2727_partition_single_value.py",
      "read_script": "generator/df-reads-spark-iceberg/2727_partition_single_value.sql",
      "description": "All rows share the same partition key value.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2728_partition_high_cardinality",
      "num": 2728,
      "name": "partition_high_cardinality",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2728_partition_high_cardinality.py",
      "read_script": "generator/df-reads-spark-iceberg/2728_partition_high_cardinality.sql",
      "description": "High-cardinality partition key (500 distinct user_ids).",
      "status": "pass",
      "duration_ms": 46,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 46,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2729_partition_with_special_chars",
      "num": 2729,
      "name": "partition_with_special_chars",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2729_partition_with_special_chars.py",
      "read_script": "generator/df-reads-spark-iceberg/2729_partition_with_special_chars.sql",
      "description": "Partition keys containing underscores and numbers.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/272_conflict_snapshot",
      "num": 272,
      "name": "conflict_snapshot",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/272_conflict_snapshot.py",
      "read_script": "generator/df-reads-spark-iceberg/272_conflict_snapshot.sql",
      "description": "Snapshot isolation reads consistent snapshot while allowing appends.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "iceberg:snapshots",
        "scale:large-dataset",
        "robust:concurrent-writes",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2730_partition_overwrite_one",
      "num": 2730,
      "name": "partition_overwrite_one",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2730_partition_overwrite_one.py",
      "read_script": "generator/df-reads-spark-iceberg/2730_partition_overwrite_one.sql",
      "description": "INSERT OVERWRITE targeting a single partition while others unchanged.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2731_partition_delete_entire",
      "num": 2731,
      "name": "partition_delete_entire",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2731_partition_delete_entire.py",
      "read_script": "generator/df-reads-spark-iceberg/2731_partition_delete_entire.sql",
      "description": "DELETE all rows from one partition.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2732_partition_merge_cross",
      "num": 2732,
      "name": "partition_merge_cross",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2732_partition_merge_cross.py",
      "read_script": "generator/df-reads-spark-iceberg/2732_partition_merge_cross.sql",
      "description": "MERGE touching rows across all partitions.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2733_partition_optimize",
      "num": 2733,
      "name": "partition_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2733_partition_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/2733_partition_optimize.sql",
      "description": "OPTIMIZE on a partitioned table after many small batches.",
      "status": "pass",
      "duration_ms": 26,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 26,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2734_partition_zorder",
      "num": 2734,
      "name": "partition_zorder",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2734_partition_zorder.py",
      "read_script": "generator/df-reads-spark-iceberg/2734_partition_zorder.sql",
      "description": "ZORDER BY on a partitioned table.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:partitioning",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2735_partition_vacuum",
      "num": 2735,
      "name": "partition_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2735_partition_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/2735_partition_vacuum.sql",
      "description": "VACUUM on a partitioned table after deletes.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2736_partition_schema_evolve",
      "num": 2736,
      "name": "partition_schema_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2736_partition_schema_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/2736_partition_schema_evolve.sql",
      "description": "Schema evolution (ALTER ADD COLUMN) on a partitioned table.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2737_partition_cdc",
      "num": 2737,
      "name": "partition_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2737_partition_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/2737_partition_cdc.sql",
      "description": "CDC (Change Data Feed) on a partitioned table.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2738_partition_restore",
      "num": 2738,
      "name": "partition_restore",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2738_partition_restore.py",
      "read_script": "generator/df-reads-spark-iceberg/2738_partition_restore.sql",
      "description": "RESTORE on a partitioned table.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "delta:time-travel",
        "iceberg:snapshots",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2739_partition_identity",
      "num": 2739,
      "name": "partition_identity",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2739_partition_identity.py",
      "read_script": "generator/df-reads-spark-iceberg/2739_partition_identity.sql",
      "description": "IDENTITY column on a partitioned table.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "delta:identity-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/273_conflict_file_level",
      "num": 273,
      "name": "conflict_file_level",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/273_conflict_file_level.py",
      "read_script": "generator/df-reads-spark-iceberg/273_conflict_file_level.sql",
      "description": "Detection when same physical file is modified concurrently.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:optimize",
        "robust:concurrent-writes",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2740_partition_colmap",
      "num": 2740,
      "name": "partition_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2740_partition_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/2740_partition_colmap.sql",
      "description": "Column mapping mode='name' on a partitioned table.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2741_dv_delete_single_row",
      "num": 2741,
      "name": "dv_delete_single_row",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2741_dv_delete_single_row.py",
      "read_script": "generator/df-reads-spark-iceberg/2741_dv_delete_single_row.sql",
      "description": "Deletion vector for a single row delete.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2742_dv_delete_last_row",
      "num": 2742,
      "name": "dv_delete_last_row",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2742_dv_delete_last_row.py",
      "read_script": "generator/df-reads-spark-iceberg/2742_dv_delete_last_row.sql",
      "description": "DV delete of the last row (highest id).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2743_dv_delete_first_row",
      "num": 2743,
      "name": "dv_delete_first_row",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2743_dv_delete_first_row.py",
      "read_script": "generator/df-reads-spark-iceberg/2743_dv_delete_first_row.sql",
      "description": "DV delete of the first row (lowest id).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2744_dv_delete_all_rows",
      "num": 2744,
      "name": "dv_delete_all_rows",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2744_dv_delete_all_rows.py",
      "read_script": "generator/df-reads-spark-iceberg/2744_dv_delete_all_rows.sql",
      "description": "DV delete of all rows in the table.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2745_dv_delete_then_reinsert",
      "num": 2745,
      "name": "dv_delete_then_reinsert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2745_dv_delete_then_reinsert.py",
      "read_script": "generator/df-reads-spark-iceberg/2745_dv_delete_then_reinsert.sql",
      "description": "DELETE half the rows then INSERT new rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2746_dv_multiple_deletes",
      "num": 2746,
      "name": "dv_multiple_deletes",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2746_dv_multiple_deletes.py",
      "read_script": "generator/df-reads-spark-iceberg/2746_dv_multiple_deletes.sql",
      "description": "Multiple sequential deletes stacking DVs.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2747_dv_delete_then_optimize",
      "num": 2747,
      "name": "dv_delete_then_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2747_dv_delete_then_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/2747_dv_delete_then_optimize.sql",
      "description": "OPTIMIZE after DELETE compacts DVs.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2748_dv_delete_with_cdc",
      "num": 2748,
      "name": "dv_delete_with_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2748_dv_delete_with_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/2748_dv_delete_with_cdc.sql",
      "description": "DELETE with CDC enabled, verifying CDF has delete records.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2749_dv_delete_partitioned",
      "num": 2749,
      "name": "dv_delete_partitioned",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2749_dv_delete_partitioned.py",
      "read_script": "generator/df-reads-spark-iceberg/2749_dv_delete_partitioned.sql",
      "description": "Selective DV delete within a single partition.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/274_conflict_predicate",
      "num": 274,
      "name": "conflict_predicate",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/274_conflict_predicate.py",
      "read_script": "generator/df-reads-spark-iceberg/274_conflict_predicate.sql",
      "description": "Detection of overlapping DELETE/UPDATE predicates.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "robust:concurrent-writes",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2750_dv_delete_update_interleave",
      "num": 2750,
      "name": "dv_delete_update_interleave",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2750_dv_delete_update_interleave.py",
      "read_script": "generator/df-reads-spark-iceberg/2750_dv_delete_update_interleave.sql",
      "description": "Interleaved DELETE and UPDATE on same table.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2751_identity_basic",
      "num": 2751,
      "name": "identity_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2751_identity_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/2751_identity_basic.sql",
      "description": "Basic IDENTITY column. INSERT 500 rows omitting id.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2752_identity_after_delete",
      "num": 2752,
      "name": "identity_after_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2752_identity_after_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/2752_identity_after_delete.sql",
      "description": "IDENTITY column IDs not reused after DELETE.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2753_identity_with_merge",
      "num": 2753,
      "name": "identity_with_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2753_identity_with_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2753_identity_with_merge.sql",
      "description": "IDENTITY column with MERGE inserting new rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2754_identity_explicit_and_auto",
      "num": 2754,
      "name": "identity_explicit_and_auto",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2754_identity_explicit_and_auto.py",
      "read_script": "generator/df-reads-spark-iceberg/2754_identity_explicit_and_auto.sql",
      "description": "IDENTITY BY DEFAULT allows both auto and explicit IDs.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2755_identity_with_optimize",
      "num": 2755,
      "name": "identity_with_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2755_identity_with_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/2755_identity_with_optimize.sql",
      "description": "IDENTITY column IDs preserved after OPTIMIZE.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2756_identity_with_cdc",
      "num": 2756,
      "name": "identity_with_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2756_identity_with_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/2756_identity_with_cdc.sql",
      "description": "IDENTITY column with CDC. INSERT 300, UPDATE 100.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2757_stats_after_insert",
      "num": 2757,
      "name": "stats_after_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2757_stats_after_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/2757_stats_after_insert.sql",
      "description": "Statistics correctness after INSERT.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2758_stats_after_update",
      "num": 2758,
      "name": "stats_after_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2758_stats_after_update.py",
      "read_script": "generator/df-reads-spark-iceberg/2758_stats_after_update.sql",
      "description": "Statistics correctness after UPDATE.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2759_stats_after_delete",
      "num": 2759,
      "name": "stats_after_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2759_stats_after_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/2759_stats_after_delete.sql",
      "description": "Statistics correctness after DELETE.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/275_conflict_schema",
      "num": 275,
      "name": "conflict_schema",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/275_conflict_schema.py",
      "read_script": "generator/df-reads-spark-iceberg/275_conflict_schema.sql",
      "description": "Detection of concurrent schema changes.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "robust:concurrent-writes",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2760_stats_after_merge",
      "num": 2760,
      "name": "stats_after_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2760_stats_after_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2760_stats_after_merge.sql",
      "description": "Statistics correctness after MERGE.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2761_edge_empty_table_read",
      "num": 2761,
      "name": "edge_empty_table_read",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2761_edge_empty_table_read.py",
      "read_script": "generator/df-reads-spark-iceberg/2761_edge_empty_table_read.sql",
      "description": "Reading a Delta table that was created but never populated with rows",
      "status": "pass",
      "duration_ms": 2,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 2,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2762_edge_single_row_all_types",
      "num": 2762,
      "name": "edge_single_row_all_types",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2762_edge_single_row_all_types.py",
      "read_script": "generator/df-reads-spark-iceberg/2762_edge_single_row_all_types.sql",
      "description": "Inserting a single row covering every primitive Delta type",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:binary",
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2763_edge_max_int_values",
      "num": 2763,
      "name": "edge_max_int_values",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2763_edge_max_int_values.py",
      "read_script": "generator/df-reads-spark-iceberg/2763_edge_max_int_values.sql",
      "description": "Integer boundary values including MIN/MAX for each integer type",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:integer",
        "dml:insert",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2764_edge_float_special_values",
      "num": 2764,
      "name": "edge_float_special_values",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2764_edge_float_special_values.py",
      "read_script": "generator/df-reads-spark-iceberg/2764_edge_float_special_values.sql",
      "description": "Float and double boundary and near-zero values",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2765_edge_empty_string_vs_null",
      "num": 2765,
      "name": "edge_empty_string_vs_null",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2765_edge_empty_string_vs_null.py",
      "read_script": "generator/df-reads-spark-iceberg/2765_edge_empty_string_vs_null.sql",
      "description": "Distinguishing NULL, empty string, whitespace-only string, and normal string",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2766_edge_unicode_data_values",
      "num": 2766,
      "name": "edge_unicode_data_values",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2766_edge_unicode_data_values.py",
      "read_script": "generator/df-reads-spark-iceberg/2766_edge_unicode_data_values.sql",
      "description": "Strings with varying lengths generated deterministically via generate_series",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2767_edge_very_long_string",
      "num": 2767,
      "name": "edge_very_long_string",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2767_edge_very_long_string.py",
      "read_script": "generator/df-reads-spark-iceberg/2767_edge_very_long_string.sql",
      "description": "Storing very large string values (1K, 10K, 100K characters) in a Delta table",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2768_edge_decimal_38_18_extremes",
      "num": 2768,
      "name": "edge_decimal_38_18_extremes",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2768_edge_decimal_38_18_extremes.py",
      "read_script": "generator/df-reads-spark-iceberg/2768_edge_decimal_38_18_extremes.sql",
      "description": "DECIMAL(38,18) extreme values including max positive, max negative, near-zero, and fractional",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:decimal",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2769_edge_date_extremes",
      "num": 2769,
      "name": "edge_date_extremes",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2769_edge_date_extremes.py",
      "read_script": "generator/df-reads-spark-iceberg/2769_edge_date_extremes.sql",
      "description": "DATE values spanning Unix epoch, far future, far past, and a mid-century date",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:date",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/276_conflict_auto_resolve",
      "num": 276,
      "name": "conflict_auto_resolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/276_conflict_auto_resolve.py",
      "read_script": "generator/df-reads-spark-iceberg/276_conflict_auto_resolve.sql",
      "description": "Automatic conflict resolution with rebase strategy.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "robust:concurrent-writes",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2770_edge_timestamp_microsecond_precision",
      "num": 2770,
      "name": "edge_timestamp_microsecond_precision",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2770_edge_timestamp_microsecond_precision.py",
      "read_script": "generator/df-reads-spark-iceberg/2770_edge_timestamp_microsecond_precision.sql",
      "description": "TIMESTAMP microsecond precision with values differing by 1us, 123456us, 60s, and 1 day",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2771_edge_all_nulls_every_column",
      "num": 2771,
      "name": "edge_all_nulls_every_column",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2771_edge_all_nulls_every_column.py",
      "read_script": "generator/df-reads-spark-iceberg/2771_edge_all_nulls_every_column.sql",
      "description": "Every nullable column holds NULL for every row; id column is NOT NULL",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:floating",
        "type:integer",
        "type:null-handling",
        "type:string",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2772_edge_binary_empty_and_large",
      "num": 2772,
      "name": "edge_binary_empty_and_large",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2772_edge_binary_empty_and_large.py",
      "read_script": "generator/df-reads-spark-iceberg/2772_edge_binary_empty_and_large.sql",
      "description": "BINARY column with empty, single-byte, 100-byte, and 10000-byte values",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:binary",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2773_edge_boolean_all_true",
      "num": 2773,
      "name": "edge_boolean_all_true",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2773_edge_boolean_all_true.py",
      "read_script": "generator/df-reads-spark-iceberg/2773_edge_boolean_all_true.sql",
      "description": "BOOLEAN column where every row is true",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2774_edge_boolean_all_false",
      "num": 2774,
      "name": "edge_boolean_all_false",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2774_edge_boolean_all_false.py",
      "read_script": "generator/df-reads-spark-iceberg/2774_edge_boolean_all_false.sql",
      "description": "BOOLEAN column where every row is false",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2775_edge_single_partition_value",
      "num": 2775,
      "name": "edge_single_partition_value",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2775_edge_single_partition_value.py",
      "read_script": "generator/df-reads-spark-iceberg/2775_edge_single_partition_value.sql",
      "description": "Partitioned table where all rows share the same partition value",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2776_edge_hundred_partitions",
      "num": 2776,
      "name": "edge_hundred_partitions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2776_edge_hundred_partitions.py",
      "read_script": "generator/df-reads-spark-iceberg/2776_edge_hundred_partitions.sql",
      "description": "Partitioned table with 100 distinct partition values (one row per partition)",
      "status": "pass",
      "duration_ms": 33,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 33,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2777_edge_wide_table_50_cols",
      "num": 2777,
      "name": "edge_wide_table_50_cols",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2777_edge_wide_table_50_cols.py",
      "read_script": "generator/df-reads-spark-iceberg/2777_edge_wide_table_50_cols.sql",
      "description": "Wide table with 50 columns (id + 49 integer columns)",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2778_edge_wide_table_100_cols",
      "num": 2778,
      "name": "edge_wide_table_100_cols",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2778_edge_wide_table_100_cols.py",
      "read_script": "generator/df-reads-spark-iceberg/2778_edge_wide_table_100_cols.sql",
      "description": "Wide table with 100 columns (id + 99 integer columns)",
      "status": "pass",
      "duration_ms": 24,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 24,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2779_edge_single_column_table",
      "num": 2779,
      "name": "edge_single_column_table",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2779_edge_single_column_table.py",
      "read_script": "generator/df-reads-spark-iceberg/2779_edge_single_column_table.sql",
      "description": "Table with a single column and no nullable or typed extras",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/277_conflict_retry",
      "num": 277,
      "name": "conflict_retry",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/277_conflict_retry.py",
      "read_script": "generator/df-reads-spark-iceberg/277_conflict_retry.sql",
      "description": "Configurable retry behavior on conflicts.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "robust:concurrent-writes",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2780_edge_delete_all_rows",
      "num": 2780,
      "name": "edge_delete_all_rows",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2780_edge_delete_all_rows.py",
      "read_script": "generator/df-reads-spark-iceberg/2780_edge_delete_all_rows.sql",
      "description": "DELETE WHERE removes every row; deletion vectors mark all 50 rows deleted",
      "status": "pass",
      "duration_ms": 2,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 2,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2781_edge_delete_all_reinsert",
      "num": 2781,
      "name": "edge_delete_all_reinsert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2781_edge_delete_all_reinsert.py",
      "read_script": "generator/df-reads-spark-iceberg/2781_edge_delete_all_reinsert.sql",
      "description": "Delete all rows via Deletion Vectors then reinsert new rows; old data must be fully absent",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2782_edge_update_no_matching_rows",
      "num": 2782,
      "name": "edge_update_no_matching_rows",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2782_edge_update_no_matching_rows.py",
      "read_script": "generator/df-reads-spark-iceberg/2782_edge_update_no_matching_rows.sql",
      "description": "UPDATE with a predicate that matches zero rows leaves data unchanged",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2783_edge_insert_duplicate_ids",
      "num": 2783,
      "name": "edge_insert_duplicate_ids",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2783_edge_insert_duplicate_ids.py",
      "read_script": "generator/df-reads-spark-iceberg/2783_edge_insert_duplicate_ids.sql",
      "description": "Delta tables allow duplicate primary-key-like id values across two inserts",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2784_edge_many_small_versions",
      "num": 2784,
      "name": "edge_many_small_versions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2784_edge_many_small_versions.py",
      "read_script": "generator/df-reads-spark-iceberg/2784_edge_many_small_versions.sql",
      "description": "20 single-row INSERT statements produce 20 Delta log versions; table reads correctly across all",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2785_edge_partition_null_key",
      "num": 2785,
      "name": "edge_partition_null_key",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2785_edge_partition_null_key.py",
      "read_script": "generator/df-reads-spark-iceberg/2785_edge_partition_null_key.sql",
      "description": "Partitioned table where some partition key values are NULL; Spark must read the null partition correctly",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2786_edge_string_with_delimiters",
      "num": 2786,
      "name": "edge_string_with_delimiters",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2786_edge_string_with_delimiters.py",
      "read_script": "generator/df-reads-spark-iceberg/2786_edge_string_with_delimiters.sql",
      "description": "String values containing delimiter characters (comma, quote, semicolon, pipe, backslash, equals)",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2787_edge_decimal_zero_scale",
      "num": 2787,
      "name": "edge_decimal_zero_scale",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2787_edge_decimal_zero_scale.py",
      "read_script": "generator/df-reads-spark-iceberg/2787_edge_decimal_zero_scale.sql",
      "description": "DECIMAL(10,0) columns store whole numbers without fractional part; min/max/sum read correctly",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2788_edge_insert_empty_batch",
      "num": 2788,
      "name": "edge_insert_empty_batch",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2788_edge_insert_empty_batch.py",
      "read_script": "generator/df-reads-spark-iceberg/2788_edge_insert_empty_batch.sql",
      "description": "An INSERT that selects zero rows via a false WHERE clause creates a new version but adds no data",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2789_edge_tinyint_overflow_boundary",
      "num": 2789,
      "name": "edge_tinyint_overflow_boundary",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2789_edge_tinyint_overflow_boundary.py",
      "read_script": "generator/df-reads-spark-iceberg/2789_edge_tinyint_overflow_boundary.sql",
      "description": "TINYINT boundary values -128 and 127 round-trip correctly through Delta and Parquet",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/278_decimal_basic",
      "num": 278,
      "name": "decimal_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/278_decimal_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/278_decimal_basic.sql",
      "description": "Standard DECIMAL(10,2) handling with common precision",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2790_edge_smallint_boundaries",
      "num": 2790,
      "name": "edge_smallint_boundaries",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2790_edge_smallint_boundaries.py",
      "read_script": "generator/df-reads-spark-iceberg/2790_edge_smallint_boundaries.sql",
      "description": "SMALLINT boundary values -32768 and 32767 round-trip correctly through Delta and Parquet",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2791_map_string_string_basic",
      "num": 2791,
      "name": "map_string_string_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2791_map_string_string_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/2791_map_string_string_basic.sql",
      "description": "Basic MAP<STRING, STRING> column with 2 keys per row",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:map",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2792_map_string_int_with_nulls",
      "num": 2792,
      "name": "map_string_int_with_nulls",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2792_map_string_int_with_nulls.py",
      "read_script": "generator/df-reads-spark-iceberg/2792_map_string_int_with_nulls.sql",
      "description": "MAP<STRING, INT> column with NULL maps every 3rd row",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:map",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2793_map_after_update",
      "num": 2793,
      "name": "map_after_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2793_map_after_update.py",
      "read_script": "generator/df-reads-spark-iceberg/2793_map_after_update.sql",
      "description": "MAP<STRING, STRING> column survives UPDATE on adjacent INT column",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:map",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2794_map_after_delete",
      "num": 2794,
      "name": "map_after_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2794_map_after_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/2794_map_after_delete.sql",
      "description": "MAP<STRING, INT> rows deleted via Deletion Vectors; absent IDs verified",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2795_map_with_cdc",
      "num": 2795,
      "name": "map_with_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2795_map_with_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/2795_map_with_cdc.sql",
      "description": "MAP<STRING, STRING> with Change Data Feed enabled; CDF captures insert + update change types",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2796_map_with_partition",
      "num": 2796,
      "name": "map_with_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2796_map_with_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/2796_map_with_partition.sql",
      "description": "MAP<STRING, STRING> column in a partitioned Delta table; 3 region partitions",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2797_map_int_double",
      "num": 2797,
      "name": "map_int_double",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2797_map_int_double.py",
      "read_script": "generator/df-reads-spark-iceberg/2797_map_int_double.sql",
      "description": "MAP<INT, DOUBLE> column with numeric key and double precision values",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:map",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2798_map_empty_map",
      "num": 2798,
      "name": "map_empty_map",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2798_map_empty_map.py",
      "read_script": "generator/df-reads-spark-iceberg/2798_map_empty_map.sql",
      "description": "MAP<STRING, STRING> with mixed NULL, single-entry, and two-entry maps",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:map",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2799_array_int_basic",
      "num": 2799,
      "name": "array_int_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2799_array_int_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/2799_array_int_basic.sql",
      "description": "Basic ARRAY<INT> column with 3 deterministic integer elements per row",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:array",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/279_zorder_comprehensive",
      "num": 279,
      "name": "zorder_comprehensive",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/279_zorder_comprehensive.py",
      "read_script": "generator/df-reads-spark-iceberg/279_zorder_comprehensive.sql",
      "description": "Smart City IoT sensor data with OPTIMIZE ZORDER. Schema (16 columns): reading_id, sensor_id, district, sensor_type, metric_name, value, unit, timestamp, reading_date, reading_hour, alert_level, manufacturer, firmware_version, latitude, longitude, metadata",
      "status": "pass",
      "duration_ms": 54,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 54,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/27_table_features_supported_enumeration",
      "num": 27,
      "name": "table_features_supported_enumeration",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/27_table_features_supported_enumeration.py",
      "read_script": "generator/df-reads-spark-iceberg/27_table_features_supported_enumeration.sql",
      "description": "Demonstrates multiple Delta features working together: CDC, DV, column mapping.",
      "status": "pass",
      "duration_ms": 20,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:46:06.533780+00:00",
      "read_cold_ms": 20,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "dml:overwrite",
        "delta:change-data-feed",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2800_array_string_basic",
      "num": 2800,
      "name": "array_string_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2800_array_string_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/2800_array_string_basic.sql",
      "description": "Basic ARRAY<STRING> column with 2 deterministic string elements per row",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:array",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2801_array_after_update",
      "num": 2801,
      "name": "array_after_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2801_array_after_update.py",
      "read_script": "generator/df-reads-spark-iceberg/2801_array_after_update.sql",
      "description": "ARRAY columns survive UPDATE operations with deletion vectors.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2802_array_after_delete",
      "num": 2802,
      "name": "array_after_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2802_array_after_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/2802_array_after_delete.sql",
      "description": "ARRAY columns survive DELETE operations; deletion vectors",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2803_array_with_nulls",
      "num": 2803,
      "name": "array_with_nulls",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2803_array_with_nulls.py",
      "read_script": "generator/df-reads-spark-iceberg/2803_array_with_nulls.sql",
      "description": "ARRAY<INT> columns that contain NULL elements at known",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:array",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2804_array_empty_vs_null",
      "num": 2804,
      "name": "array_empty_vs_null",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2804_array_empty_vs_null.py",
      "read_script": "generator/df-reads-spark-iceberg/2804_array_empty_vs_null.sql",
      "description": "Distinction between a NULL array, an array containing a single",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:array",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2805_array_with_cdc",
      "num": 2805,
      "name": "array_with_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2805_array_with_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/2805_array_with_cdc.sql",
      "description": "ARRAY<INT> columns with Change Data Feed enabled. The CDF log",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:array",
        "type:integer",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2806_struct_three_level_nested",
      "num": 2806,
      "name": "struct_three_level_nested",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2806_struct_three_level_nested.py",
      "read_script": "generator/df-reads-spark-iceberg/2806_struct_three_level_nested.sql",
      "description": "Three levels of STRUCT nesting: data.a.b.c (INT) and",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2807_struct_with_array_field",
      "num": 2807,
      "name": "struct_with_array_field",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2807_struct_with_array_field.py",
      "read_script": "generator/df-reads-spark-iceberg/2807_struct_with_array_field.sql",
      "description": "STRUCT that contains an ARRAY<INT> field alongside a STRING",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:array",
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2808_struct_with_map_field",
      "num": 2808,
      "name": "struct_with_map_field",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2808_struct_with_map_field.py",
      "read_script": "generator/df-reads-spark-iceberg/2808_struct_with_map_field.sql",
      "description": "STRUCT containing a MAP<STRING, STRING> field. The map value",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:map",
        "type:string",
        "type:struct",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2809_struct_after_schema_evolve",
      "num": 2809,
      "name": "struct_after_schema_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2809_struct_after_schema_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/2809_struct_after_schema_evolve.sql",
      "description": "Schema evolution adding a top-level STRING column to a table",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/280_decimal_scale_widen",
      "num": 280,
      "name": "decimal_scale_widen",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/280_decimal_scale_widen.py",
      "read_script": "generator/df-reads-spark-iceberg/280_decimal_scale_widen.sql",
      "description": "Safe precision+scale widening from DECIMAL(10,2) to DECIMAL(15,6)",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2810_struct_after_update",
      "num": 2810,
      "name": "struct_after_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2810_struct_after_update.py",
      "read_script": "generator/df-reads-spark-iceberg/2810_struct_after_update.sql",
      "description": "STRUCT columns survive an UPDATE that replaces the entire",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2811_struct_all_null_fields",
      "num": 2811,
      "name": "struct_all_null_fields",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2811_struct_all_null_fields.py",
      "read_script": "generator/df-reads-spark-iceberg/2811_struct_all_null_fields.sql",
      "description": "STRUCT where every inner field is NULL for the first batch of",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:null-handling",
        "type:string",
        "type:struct",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2812_array_of_struct",
      "num": 2812,
      "name": "array_of_struct",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2812_array_of_struct.py",
      "read_script": "generator/df-reads-spark-iceberg/2812_array_of_struct.sql",
      "description": "ARRAY<STRUCT<...>>; each row holds an array of two struct",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:array",
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2813_map_of_array_values",
      "num": 2813,
      "name": "map_of_array_values",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2813_map_of_array_values.py",
      "read_script": "generator/df-reads-spark-iceberg/2813_map_of_array_values.sql",
      "description": "MAP<STRING, ARRAY<INT>>; each row carries a map with two",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:array",
        "type:integer",
        "type:map",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2814_struct_with_colmap",
      "num": 2814,
      "name": "struct_with_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2814_struct_with_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/2814_struct_with_colmap.sql",
      "description": "STRUCT column in a table with Delta column mapping mode=name.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2815_array_with_partition",
      "num": 2815,
      "name": "array_with_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2815_array_with_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/2815_array_with_partition.sql",
      "description": "ARRAY<INT> column in a partitioned Delta table. Four",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:array",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2816_cdc_dv_merge_triple",
      "num": 2816,
      "name": "cdc_dv_merge_triple",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2816_cdc_dv_merge_triple.py",
      "read_script": "generator/df-reads-spark-iceberg/2816_cdc_dv_merge_triple.sql",
      "description": "CDC + Deletion Vectors + triple-phase MERGE (update, insert) followed by DELETE",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2817_identity_schema_evolve",
      "num": 2817,
      "name": "identity_schema_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2817_identity_schema_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/2817_identity_schema_evolve.sql",
      "description": "IDENTITY column combined with schema evolution (ADD COLUMN)",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2818_identity_delete_reinsert",
      "num": 2818,
      "name": "identity_delete_reinsert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2818_identity_delete_reinsert.py",
      "read_script": "generator/df-reads-spark-iceberg/2818_identity_delete_reinsert.sql",
      "description": "IDENTITY column gap after DELETE and new IDs assigned after re-insert",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2819_cdc_schema_evolve_combined",
      "num": 2819,
      "name": "cdc_schema_evolve_combined",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2819_cdc_schema_evolve_combined.py",
      "read_script": "generator/df-reads-spark-iceberg/2819_cdc_schema_evolve_combined.sql",
      "description": "CDC combined with schema evolution (ADD COLUMN) and UPDATE",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/281_int_to_decimal",
      "num": 281,
      "name": "int_to_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/281_int_to_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/281_int_to_decimal.sql",
      "description": "Safe widening from INT to DECIMAL(15,2)",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "schema:type-widening",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2820_colmap_partition_dv",
      "num": 2820,
      "name": "colmap_partition_dv",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2820_colmap_partition_dv.py",
      "read_script": "generator/df-reads-spark-iceberg/2820_colmap_partition_dv.sql",
      "description": "Column mapping + partitioned table + Deletion Vectors",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:delete",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2821_constraint_schema_evolve",
      "num": 2821,
      "name": "constraint_schema_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2821_constraint_schema_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/2821_constraint_schema_evolve.sql",
      "description": "CHECK constraint combined with schema evolution (ADD COLUMN)",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2822_identity_cdc_merge",
      "num": 2822,
      "name": "identity_cdc_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2822_identity_cdc_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2822_identity_cdc_merge.sql",
      "description": "IDENTITY column + CDC + MERGE inserting new rows",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2823_gencol_cdc_update",
      "num": 2823,
      "name": "gencol_cdc_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2823_gencol_cdc_update.py",
      "read_script": "generator/df-reads-spark-iceberg/2823_gencol_cdc_update.sql",
      "description": "Generated (computed) column + CDC + UPDATE propagates generated value",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2824_widen_then_merge",
      "num": 2824,
      "name": "widen_then_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2824_widen_then_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2824_widen_then_merge.sql",
      "description": "Type widening (INT -> BIGINT) followed by MERGE inserting new rows",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2825_default_after_evolve",
      "num": 2825,
      "name": "default_after_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2825_default_after_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/2825_default_after_evolve.sql",
      "description": "Column DEFAULT values + ADD COLUMN with DEFAULT; existing rows get NULL, new rows get default",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2826_partition_cdc_optimize",
      "num": 2826,
      "name": "partition_cdc_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2826_partition_cdc_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/2826_partition_cdc_optimize.sql",
      "description": "Partitioned table + CDC + OPTIMIZE + UPDATE after optimize",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2827_colmap_cdc_merge_evolve",
      "num": 2827,
      "name": "colmap_cdc_merge_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2827_colmap_cdc_merge_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/2827_colmap_cdc_merge_evolve.sql",
      "description": "Column mapping + CDC + schema evolution + MERGE inserting evolved rows",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2828_dv_optimize_vacuum_chain",
      "num": 2828,
      "name": "dv_optimize_vacuum_chain",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2828_dv_optimize_vacuum_chain.py",
      "read_script": "generator/df-reads-spark-iceberg/2828_dv_optimize_vacuum_chain.sql",
      "description": "Deletion Vectors + OPTIMIZE + VACUUM chain; data correct after full chain",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2829_identity_partition_cdc",
      "num": 2829,
      "name": "identity_partition_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2829_identity_partition_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/2829_identity_partition_cdc.sql",
      "description": "IDENTITY column + partitioned table + CDC",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:identity-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/282_decimal_arithmetic",
      "num": 282,
      "name": "decimal_arithmetic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/282_decimal_arithmetic.py",
      "read_script": "generator/df-reads-spark-iceberg/282_decimal_arithmetic.sql",
      "description": "Decimal precision preservation in aggregations",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "dml:overwrite",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2830_constraint_cdc_delete",
      "num": 2830,
      "name": "constraint_cdc_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2830_constraint_cdc_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/2830_constraint_cdc_delete.sql",
      "description": "CHECK constraint + CDC + DELETE; CDF captures deletes; constraint enforced",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "delta:change-data-feed",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2831_gencol_partition_optimize",
      "num": 2831,
      "name": "gencol_partition_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2831_gencol_partition_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/2831_gencol_partition_optimize.sql",
      "description": "Generated column + PARTITIONED BY (gencol) + OPTIMIZE; bucket=val%4 auto-computed",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:generated-columns",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2832_colmap_identity_merge",
      "num": 2832,
      "name": "colmap_identity_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2832_colmap_identity_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2832_colmap_identity_merge.sql",
      "description": "Column mapping + IDENTITY column + MERGE inserts new rows; logical column names preserved",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2833_widen_cdc_partition",
      "num": 2833,
      "name": "widen_cdc_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2833_widen_cdc_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/2833_widen_cdc_partition.sql",
      "description": "ALTER COLUMN type widening (INT->BIGINT) + CDC + partitioned table; large values post-widen",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:partitioning",
        "schema:type-widening",
        "scale:large-dataset",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2834_rowtrack_cdc_merge",
      "num": 2834,
      "name": "rowtrack_cdc_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2834_rowtrack_cdc_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2834_rowtrack_cdc_merge.sql",
      "description": "Row tracking + CDC + MERGE (update matched + insert not-matched); CDF captures all operations",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2835_ict_cdc_partition",
      "num": 2835,
      "name": "ict_cdc_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2835_ict_cdc_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/2835_ict_cdc_partition.sql",
      "description": "InCommitTimestamps + CDC + partitioned table; UPDATE captured in CDF",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "delta:change-data-feed",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2836_default_constraint_cdc",
      "num": 2836,
      "name": "default_constraint_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2836_default_constraint_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/2836_default_constraint_cdc.sql",
      "description": "Column DEFAULT + CHECK constraint + CDC; default applied on insert, constraint enforced",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2837_truncate_cdc_identity",
      "num": 2837,
      "name": "truncate_cdc_identity",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2837_truncate_cdc_identity.py",
      "read_script": "generator/df-reads-spark-iceberg/2837_truncate_cdc_identity.sql",
      "description": "TRUNCATE TABLE + CDC + IDENTITY; TRUNCATE clears data, IDENTITY HWM continues",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:truncate",
        "delta:change-data-feed",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2838_append_only_constraint_cdc",
      "num": 2838,
      "name": "append_only_constraint_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2838_append_only_constraint_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/2838_append_only_constraint_cdc.sql",
      "description": "appendOnly table property + CHECK constraint + CDC; only INSERT allowed",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2839_zorder_cdc_colmap",
      "num": 2839,
      "name": "zorder_cdc_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2839_zorder_cdc_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/2839_zorder_cdc_colmap.sql",
      "description": "OPTIMIZE ZORDER BY + CDC + column mapping; data intact post-zorder, logical names preserved",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/283_decimal_edge_cases",
      "num": 283,
      "name": "decimal_edge_cases",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/283_decimal_edge_cases.py",
      "read_script": "generator/df-reads-spark-iceberg/283_decimal_edge_cases.sql",
      "description": "Maximum/minimum decimal value handling",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2840_restore_cdc_identity",
      "num": 2840,
      "name": "restore_cdc_identity",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2840_restore_cdc_identity.py",
      "read_script": "generator/df-reads-spark-iceberg/2840_restore_cdc_identity.sql",
      "description": "RESTORE TABLE + CDC + IDENTITY; restore to version 1 undoes DELETE",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:identity-columns",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2841_vacuum_cdc_colmap",
      "num": 2841,
      "name": "vacuum_cdc_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2841_vacuum_cdc_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/2841_vacuum_cdc_colmap.sql",
      "description": "VACUUM + CDC + column mapping; deleted rows absent after VACUUM, logical names intact",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2842_merge_update_delete_insert_all_clauses",
      "num": 2842,
      "name": "merge_update_delete_insert_all_clauses",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2842_merge_update_delete_insert_all_clauses.py",
      "read_script": "generator/df-reads-spark-iceberg/2842_merge_update_delete_insert_all_clauses.sql",
      "description": "MERGE with all three clauses (DELETE matched, UPDATE matched, INSERT not-matched)",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2843_colmap_evolve_rename",
      "num": 2843,
      "name": "colmap_evolve_rename",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2843_colmap_evolve_rename.py",
      "read_script": "generator/df-reads-spark-iceberg/2843_colmap_evolve_rename.sql",
      "description": "Column mapping + RENAME COLUMN; old_name renamed to new_name, data preserved",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "schema:add-column",
        "schema:rename-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2844_dv_cdc_time_travel",
      "num": 2844,
      "name": "dv_cdc_time_travel",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2844_dv_cdc_time_travel.py",
      "read_script": "generator/df-reads-spark-iceberg/2844_dv_cdc_time_travel.sql",
      "description": "Deletion Vectors + CDC + time travel; version 1 has 20 rows, current has 15 after DELETE",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2845_identity_optimize_vacuum",
      "num": 2845,
      "name": "identity_optimize_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2845_identity_optimize_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/2845_identity_optimize_vacuum.sql",
      "description": "IDENTITY + OPTIMIZE + VACUUM; IDENTITY HWM survives compaction, final insert gets unique IDs",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2846_gencol_colmap_cdc",
      "num": 2846,
      "name": "gencol_colmap_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2846_gencol_colmap_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/2846_gencol_colmap_cdc.sql",
      "description": "Generated column + column mapping + CDC; tax=price*0.1 auto-computed, UPDATE recalculates",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2847_constraint_partition_optimize",
      "num": 2847,
      "name": "constraint_partition_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2847_constraint_partition_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/2847_constraint_partition_optimize.sql",
      "description": "CHECK constraint + partitioned table + OPTIMIZE; constraint enforced, partitions intact post-optimize",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2848_widen_identity_cdc",
      "num": 2848,
      "name": "widen_identity_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2848_widen_identity_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/2848_widen_identity_cdc.sql",
      "description": "Type widening (INT->BIGINT) + IDENTITY column + CDC; large values readable post-widen",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:identity-columns",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2849_default_colmap_merge",
      "num": 2849,
      "name": "default_colmap_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2849_default_colmap_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2849_default_colmap_merge.sql",
      "description": "Column DEFAULT values + column mapping + MERGE inserts; defaults applied to omitted columns",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/284_decimal_comparison",
      "num": 284,
      "name": "decimal_comparison",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/284_decimal_comparison.py",
      "read_script": "generator/df-reads-spark-iceberg/284_decimal_comparison.sql",
      "description": "Semantic equality across different decimal representations",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "dml:overwrite",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2850_partition_dv_zorder_vacuum",
      "num": 2850,
      "name": "partition_dv_zorder_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2850_partition_dv_zorder_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/2850_partition_dv_zorder_vacuum.sql",
      "description": "Partitioned table + Deletion Vectors + OPTIMIZE ZORDER BY + VACUUM",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "delta:vacuum",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2851_rowtrack_colmap_merge",
      "num": 2851,
      "name": "rowtrack_colmap_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2851_rowtrack_colmap_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2851_rowtrack_colmap_merge.sql",
      "description": "Row tracking + column mapping + MERGE inserts; row IDs assigned to merged rows",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2852_ict_identity_merge",
      "num": 2852,
      "name": "ict_identity_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2852_ict_identity_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2852_ict_identity_merge.sql",
      "description": "InCommitTimestamps + IDENTITY column + MERGE inserts new rows",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2853_gencol_default_constraint",
      "num": 2853,
      "name": "gencol_default_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2853_gencol_default_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/2853_gencol_default_constraint.sql",
      "description": "Generated column + column DEFAULT + CHECK constraint; tax auto-computed from default price",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2854_colmap_dv_optimize_vacuum",
      "num": 2854,
      "name": "colmap_dv_optimize_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2854_colmap_dv_optimize_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/2854_colmap_dv_optimize_vacuum.sql",
      "description": "Column mapping + Deletion Vectors + OPTIMIZE + VACUUM; logical names intact post-vacuum",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2855_cdc_five_dml_ops",
      "num": 2855,
      "name": "cdc_five_dml_ops",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2855_cdc_five_dml_ops.py",
      "read_script": "generator/df-reads-spark-iceberg/2855_cdc_five_dml_ops.sql",
      "description": "CDC captures five distinct DML operations (INSERT, UPDATE, DELETE, INSERT, UPDATE)",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2856_time_travel_after_schema_evolve",
      "num": 2856,
      "name": "time_travel_after_schema_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2856_time_travel_after_schema_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/2856_time_travel_after_schema_evolve.sql",
      "description": "Reading an older version of a table before a column was added via ALTER TABLE",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2857_time_travel_after_merge",
      "num": 2857,
      "name": "time_travel_after_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2857_time_travel_after_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2857_time_travel_after_merge.sql",
      "description": "Time travel before a MERGE operation that updated and inserted rows",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2858_time_travel_after_truncate",
      "num": 2858,
      "name": "time_travel_after_truncate",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2858_time_travel_after_truncate.py",
      "read_script": "generator/df-reads-spark-iceberg/2858_time_travel_after_truncate.sql",
      "description": "Time travel back to data that existed before a TRUNCATE emptied the table",
      "status": "pass",
      "duration_ms": 2,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 2,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:truncate",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2859_time_travel_with_identity",
      "num": 2859,
      "name": "time_travel_with_identity",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2859_time_travel_with_identity.py",
      "read_script": "generator/df-reads-spark-iceberg/2859_time_travel_with_identity.sql",
      "description": "Time travel on a table with an IDENTITY column after a partial delete",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:identity-columns",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/285_evolve_add_end",
      "num": 285,
      "name": "evolve_add_end",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/285_evolve_add_end.py",
      "read_script": "generator/df-reads-spark-iceberg/285_evolve_add_end.sql",
      "description": "Add columns to end of schema without column mapping",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2860_time_travel_with_default",
      "num": 2860,
      "name": "time_travel_with_default",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2860_time_travel_with_default.py",
      "read_script": "generator/df-reads-spark-iceberg/2860_time_travel_with_default.sql",
      "description": "Time travel on a table that had a column added with a DEFAULT value",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2861_time_travel_version_zero",
      "num": 2861,
      "name": "time_travel_version_zero",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2861_time_travel_version_zero.py",
      "read_script": "generator/df-reads-spark-iceberg/2861_time_travel_version_zero.sql",
      "description": "Time travel to version 0 (the empty table right after CREATE)",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2862_time_travel_five_versions",
      "num": 2862,
      "name": "time_travel_five_versions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2862_time_travel_five_versions.py",
      "read_script": "generator/df-reads-spark-iceberg/2862_time_travel_five_versions.sql",
      "description": "Time travel across five distinct DML versions (insert, insert, delete, update, insert)",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2863_restore_after_optimize",
      "num": 2863,
      "name": "restore_after_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2863_restore_after_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/2863_restore_after_optimize.sql",
      "description": "RESTORE to pre-OPTIMIZE version still returns correct data",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2864_restore_after_schema_evolve",
      "num": 2864,
      "name": "restore_after_schema_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2864_restore_after_schema_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/2864_restore_after_schema_evolve.sql",
      "description": "RESTORE to a version before schema evolution drops the added column",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2865_restore_with_identity",
      "num": 2865,
      "name": "restore_with_identity",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2865_restore_with_identity.py",
      "read_script": "generator/df-reads-spark-iceberg/2865_restore_with_identity.sql",
      "description": "RESTORE on a table with an IDENTITY column recovers all original rows",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2866_restore_after_vacuum",
      "num": 2866,
      "name": "restore_after_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2866_restore_after_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/2866_restore_after_vacuum.sql",
      "description": "RESTORE to the most recent pre-vacuum version remains safe (current files untouched)",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2867_restore_then_dml",
      "num": 2867,
      "name": "restore_then_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2867_restore_then_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/2867_restore_then_dml.sql",
      "description": "DML applied after a RESTORE continues on top of the restored state",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2868_restore_twice",
      "num": 2868,
      "name": "restore_twice",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2868_restore_twice.py",
      "read_script": "generator/df-reads-spark-iceberg/2868_restore_twice.sql",
      "description": "Two sequential RESTORE operations, ending at the earliest snapshot",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2869_time_travel_with_colmap",
      "num": 2869,
      "name": "time_travel_with_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2869_time_travel_with_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/2869_time_travel_with_colmap.sql",
      "description": "Time travel on a column-mapping-enabled table after an UPDATE",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/286_evolve_add_middle",
      "num": 286,
      "name": "evolve_add_middle",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/286_evolve_add_middle.py",
      "read_script": "generator/df-reads-spark-iceberg/286_evolve_add_middle.sql",
      "description": "Add column in middle position using column mapping",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2870_time_travel_with_constraint",
      "num": 2870,
      "name": "time_travel_with_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2870_time_travel_with_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/2870_time_travel_with_constraint.sql",
      "description": "Time travel to a version before a DELETE on a table with a CHECK constraint",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2871_restore_partitioned",
      "num": 2871,
      "name": "restore_partitioned",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2871_restore_partitioned.py",
      "read_script": "generator/df-reads-spark-iceberg/2871_restore_partitioned.sql",
      "description": "RESTORE on a partitioned Delta table recovers all partitions correctly",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2872_time_travel_after_overwrite",
      "num": 2872,
      "name": "time_travel_after_overwrite",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2872_time_travel_after_overwrite.py",
      "read_script": "generator/df-reads-spark-iceberg/2872_time_travel_after_overwrite.sql",
      "description": "Time travel to recover original rows after an INSERT OVERWRITE replaced all data",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2873_time_travel_dv_version_diff",
      "num": 2873,
      "name": "time_travel_dv_version_diff",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2873_time_travel_dv_version_diff.py",
      "read_script": "generator/df-reads-spark-iceberg/2873_time_travel_dv_version_diff.sql",
      "description": "Time travel shows correct row counts before and after a deletion-vector DELETE",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2874_restore_cdc_multi_version",
      "num": 2874,
      "name": "restore_cdc_multi_version",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2874_restore_cdc_multi_version.py",
      "read_script": "generator/df-reads-spark-iceberg/2874_restore_cdc_multi_version.sql",
      "description": "RESTORE on a CDC-enabled table recovers original state after update+delete",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2875_time_travel_many_versions",
      "num": 2875,
      "name": "time_travel_many_versions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2875_time_travel_many_versions.py",
      "read_script": "generator/df-reads-spark-iceberg/2875_time_travel_many_versions.sql",
      "description": "20 single-row INSERT versions; time travel to any intermediate version is exact",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2876_maint_insert_optimize_insert",
      "num": 2876,
      "name": "maint_insert_optimize_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2876_maint_insert_optimize_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/2876_maint_insert_optimize_insert.sql",
      "description": "Insert, OPTIMIZE, then insert again to verify data survives compaction",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2877_maint_delete_optimize_vacuum",
      "num": 2877,
      "name": "maint_delete_optimize_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2877_maint_delete_optimize_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/2877_maint_delete_optimize_vacuum.sql",
      "description": "Delete with deletion vectors, OPTIMIZE, then VACUUM",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2878_maint_update_zorder_vacuum",
      "num": 2878,
      "name": "maint_update_zorder_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2878_maint_update_zorder_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/2878_maint_update_zorder_vacuum.sql",
      "description": "Update rows, OPTIMIZE with ZORDER, then VACUUM",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:optimize",
        "delta:vacuum",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2879_maint_merge_optimize_vacuum_repeat",
      "num": 2879,
      "name": "maint_merge_optimize_vacuum_repeat",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2879_maint_merge_optimize_vacuum_repeat.py",
      "read_script": "generator/df-reads-spark-iceberg/2879_maint_merge_optimize_vacuum_repeat.sql",
      "description": "Two cycles of MERGE + OPTIMIZE + VACUUM",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/287_evolve_rename",
      "num": 287,
      "name": "evolve_rename",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/287_evolve_rename.py",
      "read_script": "generator/df-reads-spark-iceberg/287_evolve_rename.sql",
      "description": "Column rename via column mapping without data rewrite",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "schema:add-column",
        "schema:rename-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2880_maint_evolve_insert_optimize",
      "num": 2880,
      "name": "maint_evolve_insert_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2880_maint_evolve_insert_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/2880_maint_evolve_insert_optimize.sql",
      "description": "Schema evolution via ADD COLUMN, then insert new rows with the new column",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2881_maint_five_ops_pipeline",
      "num": 2881,
      "name": "maint_five_ops_pipeline",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2881_maint_five_ops_pipeline.py",
      "read_script": "generator/df-reads-spark-iceberg/2881_maint_five_ops_pipeline.sql",
      "description": "Five-operation pipeline: INSERT, DELETE, OPTIMIZE, ZORDER, VACUUM",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:vacuum",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2882_maint_cdc_optimize_vacuum",
      "num": 2882,
      "name": "maint_cdc_optimize_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2882_maint_cdc_optimize_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/2882_maint_cdc_optimize_vacuum.sql",
      "description": "CDC (Change Data Feed) with OPTIMIZE and VACUUM",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2883_maint_partition_optimize_vacuum",
      "num": 2883,
      "name": "maint_partition_optimize_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2883_maint_partition_optimize_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/2883_maint_partition_optimize_vacuum.sql",
      "description": "Partitioned table with DELETE, OPTIMIZE, and VACUUM",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:optimize",
        "delta:partitioning",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2884_maint_colmap_optimize_zorder",
      "num": 2884,
      "name": "maint_colmap_optimize_zorder",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2884_maint_colmap_optimize_zorder.py",
      "read_script": "generator/df-reads-spark-iceberg/2884_maint_colmap_optimize_zorder.sql",
      "description": "Column mapping mode with OPTIMIZE and ZORDER",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2885_maint_identity_optimize_vacuum_insert",
      "num": 2885,
      "name": "maint_identity_optimize_vacuum_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2885_maint_identity_optimize_vacuum_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/2885_maint_identity_optimize_vacuum_insert.sql",
      "description": "IDENTITY column survives OPTIMIZE + VACUUM, new inserts get unique IDs",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2886_maint_overwrite_optimize_vacuum",
      "num": 2886,
      "name": "maint_overwrite_optimize_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2886_maint_overwrite_optimize_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/2886_maint_overwrite_optimize_vacuum.sql",
      "description": "INSERT OVERWRITE replaces all data, then OPTIMIZE and VACUUM",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2887_maint_truncate_insert_optimize",
      "num": 2887,
      "name": "maint_truncate_insert_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2887_maint_truncate_insert_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/2887_maint_truncate_insert_optimize.sql",
      "description": "TRUNCATE clears all rows, fresh INSERT, then OPTIMIZE",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "dml:truncate",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2888_maint_interleaved_dml_optimize",
      "num": 2888,
      "name": "maint_interleaved_dml_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2888_maint_interleaved_dml_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/2888_maint_interleaved_dml_optimize.sql",
      "description": "Interleaved DELETE and UPDATE with OPTIMIZE between each operation",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2889_maint_restore_then_optimize",
      "num": 2889,
      "name": "maint_restore_then_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2889_maint_restore_then_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/2889_maint_restore_then_optimize.sql",
      "description": "RESTORE TABLE to an earlier version then OPTIMIZE the restored state",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/288_evolve_drop",
      "num": 288,
      "name": "evolve_drop",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/288_evolve_drop.py",
      "read_script": "generator/df-reads-spark-iceberg/288_evolve_drop.sql",
      "description": "Column drop via column mapping (logical delete)",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:constraints",
        "schema:add-column",
        "schema:drop-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2890_maint_dv_zorder_checkpoint",
      "num": 2890,
      "name": "maint_dv_zorder_checkpoint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2890_maint_dv_zorder_checkpoint.py",
      "read_script": "generator/df-reads-spark-iceberg/2890_maint_dv_zorder_checkpoint.sql",
      "description": "Deletion vectors with ZORDER then many single-row inserts to trigger checkpoint",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2891_maint_three_vacuums",
      "num": 2891,
      "name": "maint_three_vacuums",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2891_maint_three_vacuums.py",
      "read_script": "generator/df-reads-spark-iceberg/2891_maint_three_vacuums.sql",
      "description": "Three successive DELETE + VACUUM cycles",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2892_maint_merge_zorder_merge",
      "num": 2892,
      "name": "maint_merge_zorder_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2892_maint_merge_zorder_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2892_maint_merge_zorder_merge.sql",
      "description": "Two MERGE-insert rounds with ZORDER OPTIMIZE between them",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2893_maint_evolve_optimize_evolve",
      "num": 2893,
      "name": "maint_evolve_optimize_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2893_maint_evolve_optimize_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/2893_maint_evolve_optimize_evolve.sql",
      "description": "Two schema evolutions (ADD COLUMN) with OPTIMIZE between them",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2894_maint_partition_rebalance",
      "num": 2894,
      "name": "maint_partition_rebalance",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2894_maint_partition_rebalance.py",
      "read_script": "generator/df-reads-spark-iceberg/2894_maint_partition_rebalance.sql",
      "description": "Partition rebalance -- delete one partition region, add a new one, OPTIMIZE",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2895_maint_cdc_vacuum_retention",
      "num": 2895,
      "name": "maint_cdc_vacuum_retention",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2895_maint_cdc_vacuum_retention.py",
      "read_script": "generator/df-reads-spark-iceberg/2895_maint_cdc_vacuum_retention.sql",
      "description": "CDC table with DELETE then VACUUM -- verifies deleted rows are absent",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2896_identity_by_default_override",
      "num": 2896,
      "name": "identity_by_default_override",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2896_identity_by_default_override.py",
      "read_script": "generator/df-reads-spark-iceberg/2896_identity_by_default_override.sql",
      "description": "IDENTITY BY DEFAULT allows explicit ID override alongside auto-generated IDs",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2897_identity_after_optimize",
      "num": 2897,
      "name": "identity_after_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2897_identity_after_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/2897_identity_after_optimize.sql",
      "description": "IDENTITY column integrity is preserved after OPTIMIZE compacts files",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2898_identity_after_truncate_reinsert",
      "num": 2898,
      "name": "identity_after_truncate_reinsert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2898_identity_after_truncate_reinsert.py",
      "read_script": "generator/df-reads-spark-iceberg/2898_identity_after_truncate_reinsert.sql",
      "description": "IDENTITY column after TRUNCATE and re-insert; HWM resets or continues",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:truncate",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2899_identity_two_identity_cols",
      "num": 2899,
      "name": "identity_two_identity_cols",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2899_identity_two_identity_cols.py",
      "read_script": "generator/df-reads-spark-iceberg/2899_identity_two_identity_cols.sql",
      "description": "Two IDENTITY columns in the same table with different START WITH values",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/289_evolve_nested_add",
      "num": 289,
      "name": "evolve_nested_add",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/289_evolve_nested_add.py",
      "read_script": "generator/df-reads-spark-iceberg/289_evolve_nested_add.sql",
      "description": "Add field to existing struct type",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "delta:constraints",
        "schema:add-column",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/28_table_features_active_dependencies",
      "num": 28,
      "name": "table_features_active_dependencies",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/28_table_features_active_dependencies.py",
      "read_script": "generator/df-reads-spark-iceberg/28_table_features_active_dependencies.sql",
      "description": "Demonstrates active features and their dependencies - CDC, DV, column mapping.",
      "status": "pass",
      "duration_ms": 21,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:46:06.533780+00:00",
      "read_cold_ms": 21,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "dml:overwrite",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2900_identity_with_constraint",
      "num": 2900,
      "name": "identity_with_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2900_identity_with_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/2900_identity_with_constraint.sql",
      "description": "IDENTITY column combined with a CHECK constraint on another column",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2901_identity_after_delete_gap",
      "num": 2901,
      "name": "identity_after_delete_gap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2901_identity_after_delete_gap.py",
      "read_script": "generator/df-reads-spark-iceberg/2901_identity_after_delete_gap.sql",
      "description": "IDENTITY HWM continues past a deleted ID range; gaps appear in sequence",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2902_identity_with_gencol",
      "num": 2902,
      "name": "identity_with_gencol",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2902_identity_with_gencol.py",
      "read_script": "generator/df-reads-spark-iceberg/2902_identity_with_gencol.sql",
      "description": "IDENTITY column alongside a GENERATED ALWAYS AS computed column",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2903_identity_with_colmap",
      "num": 2903,
      "name": "identity_with_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2903_identity_with_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/2903_identity_with_colmap.sql",
      "description": "IDENTITY column with column mapping mode enabled",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2904_identity_partition_merge",
      "num": 2904,
      "name": "identity_partition_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2904_identity_partition_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2904_identity_partition_merge.sql",
      "description": "IDENTITY column on a partitioned table with MERGE inserting new rows",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:identity-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2905_identity_large_batch",
      "num": 2905,
      "name": "identity_large_batch",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2905_identity_large_batch.py",
      "read_script": "generator/df-reads-spark-iceberg/2905_identity_large_batch.sql",
      "description": "IDENTITY column correctness with a large single-batch insert of 1000 rows",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2906_identity_after_restore",
      "num": 2906,
      "name": "identity_after_restore",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2906_identity_after_restore.py",
      "read_script": "generator/df-reads-spark-iceberg/2906_identity_after_restore.sql",
      "description": "IDENTITY column HWM after RESTORE TABLE to an earlier version then re-insert",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2907_identity_with_default",
      "num": 2907,
      "name": "identity_with_default",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2907_identity_with_default.py",
      "read_script": "generator/df-reads-spark-iceberg/2907_identity_with_default.sql",
      "description": "IDENTITY column alongside a column with a DEFAULT value expression",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2908_identity_multi_batch_insert",
      "num": 2908,
      "name": "identity_multi_batch_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2908_identity_multi_batch_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/2908_identity_multi_batch_insert.sql",
      "description": "IDENTITY uniqueness across five separate INSERT batches",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "scale:many-batches",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2909_identity_with_dv_delete",
      "num": 2909,
      "name": "identity_with_dv_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2909_identity_with_dv_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/2909_identity_with_dv_delete.sql",
      "description": "IDENTITY column with deletion vectors; IDs divisible by 3 removed",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/290_evolve_nested_rename",
      "num": 290,
      "name": "evolve_nested_rename",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/290_evolve_nested_rename.py",
      "read_script": "generator/df-reads-spark-iceberg/290_evolve_nested_rename.sql",
      "description": "Rename nested struct field with column mapping",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:struct",
        "type:timestamp",
        "dml:insert",
        "delta:column-mapping",
        "schema:add-column",
        "schema:rename-column",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2910_identity_with_rowtrack",
      "num": 2910,
      "name": "identity_with_rowtrack",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2910_identity_with_rowtrack.py",
      "read_script": "generator/df-reads-spark-iceberg/2910_identity_with_rowtrack.sql",
      "description": "IDENTITY column with row tracking enabled; UPDATE preserves uniqueness",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2911_gencol_multiple_generated",
      "num": 2911,
      "name": "gencol_multiple_generated",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2911_gencol_multiple_generated.py",
      "read_script": "generator/df-reads-spark-iceberg/2911_gencol_multiple_generated.sql",
      "description": "Multiple generated columns in one table -- total, tax, and",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2912_gencol_after_delete",
      "num": 2912,
      "name": "gencol_after_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2912_gencol_after_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/2912_gencol_after_delete.sql",
      "description": "Generated column values survive DELETE operations. Rows with",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2913_gencol_after_merge",
      "num": 2913,
      "name": "gencol_after_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2913_gencol_after_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2913_gencol_after_merge.sql",
      "description": "Generated column tax = price * 0.1 is recalculated correctly",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2914_gencol_with_identity",
      "num": 2914,
      "name": "gencol_with_identity",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2914_gencol_with_identity.py",
      "read_script": "generator/df-reads-spark-iceberg/2914_gencol_with_identity.sql",
      "description": "Combining an IDENTITY column (auto-increment) with a separate",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2915_gencol_string_upper",
      "num": 2915,
      "name": "gencol_string_upper",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2915_gencol_string_upper.py",
      "read_script": "generator/df-reads-spark-iceberg/2915_gencol_string_upper.sql",
      "description": "Generated column using a string function (UPPER). The engine",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2916_gencol_with_dv_delete",
      "num": 2916,
      "name": "gencol_with_dv_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2916_gencol_with_dv_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/2916_gencol_with_dv_delete.sql",
      "description": "Generated column computed = val + 100 combined with Deletion",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2917_gencol_date_diff",
      "num": 2917,
      "name": "gencol_date_diff",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2917_gencol_date_diff.py",
      "read_script": "generator/df-reads-spark-iceberg/2917_gencol_date_diff.sql",
      "description": "Generated column with a simple arithmetic expression on an",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2918_gencol_boolean_expression",
      "num": 2918,
      "name": "gencol_boolean_expression",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2918_gencol_boolean_expression.py",
      "read_script": "generator/df-reads-spark-iceberg/2918_gencol_boolean_expression.sql",
      "description": "Generated column using a boolean comparison expression.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2919_gencol_with_colmap",
      "num": 2919,
      "name": "gencol_with_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2919_gencol_with_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/2919_gencol_with_colmap.sql",
      "description": "Generated column doubled = val * 2 combined with column",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/291_multi_evolve",
      "num": 291,
      "name": "multi_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/291_multi_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/291_multi_evolve.sql",
      "description": "Multiple schema changes in sequence",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:constraints",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2920_gencol_optimize_preserves",
      "num": 2920,
      "name": "gencol_optimize_preserves",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2920_gencol_optimize_preserves.py",
      "read_script": "generator/df-reads-spark-iceberg/2920_gencol_optimize_preserves.sql",
      "description": "OPTIMIZE compaction does not corrupt generated column values.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:generated-columns",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2921_gencol_evolve_add_gencol",
      "num": 2921,
      "name": "gencol_evolve_add_gencol",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2921_gencol_evolve_add_gencol.py",
      "read_script": "generator/df-reads-spark-iceberg/2921_gencol_evolve_add_gencol.sql",
      "description": "Schema evolution -- adding a GENERATED ALWAYS AS column to an",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:generated-columns",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2922_gencol_decimal_round",
      "num": 2922,
      "name": "gencol_decimal_round",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2922_gencol_decimal_round.py",
      "read_script": "generator/df-reads-spark-iceberg/2922_gencol_decimal_round.sql",
      "description": "Generated column using ROUND on a DECIMAL column.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2923_gencol_modulo_partition",
      "num": 2923,
      "name": "gencol_modulo_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2923_gencol_modulo_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/2923_gencol_modulo_partition.sql",
      "description": "Generated column used as the partition key. bucket = val % 4",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:generated-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2924_gencol_timestamp_extract",
      "num": 2924,
      "name": "gencol_timestamp_extract",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2924_gencol_timestamp_extract.py",
      "read_script": "generator/df-reads-spark-iceberg/2924_gencol_timestamp_extract.sql",
      "description": "Generated column that combines two integer fields into a",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2925_gencol_after_update_verify",
      "num": 2925,
      "name": "gencol_after_update_verify",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2925_gencol_after_update_verify.py",
      "read_script": "generator/df-reads-spark-iceberg/2925_gencol_after_update_verify.sql",
      "description": "Generated column doubled = val * 2 is recalculated correctly",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2926_string_case_merge",
      "num": 2926,
      "name": "string_case_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2926_string_case_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2926_string_case_merge.sql",
      "description": "Case-sensitive string matching in MERGE (simulates collation behavior)",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2927_string_upper_after_evolve",
      "num": 2927,
      "name": "string_upper_after_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2927_string_upper_after_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/2927_string_upper_after_evolve.sql",
      "description": "Schema evolution followed by UPPER() string function backfill via UPDATE",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2928_string_ops_with_cdc",
      "num": 2928,
      "name": "string_ops_with_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2928_string_ops_with_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/2928_string_ops_with_cdc.sql",
      "description": "String LOWER() operations with Change Data Feed enabled",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2929_string_length_constraint",
      "num": 2929,
      "name": "string_length_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2929_string_length_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/2929_string_length_constraint.sql",
      "description": "CHECK constraint on string LENGTH enforced at write time",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/292_evolve_cdc",
      "num": 292,
      "name": "evolve_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/292_evolve_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/292_evolve_cdc.sql",
      "description": "CDC works correctly across schema changes",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2930_string_multi_column_ops",
      "num": 2930,
      "name": "string_multi_column_ops",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2930_string_multi_column_ops.py",
      "read_script": "generator/df-reads-spark-iceberg/2930_string_multi_column_ops.sql",
      "description": "Multiple string columns with concatenation to form a derived full_name column",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2931_domain_rowtrack_after_dml",
      "num": 2931,
      "name": "domain_rowtrack_after_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2931_domain_rowtrack_after_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/2931_domain_rowtrack_after_dml.sql",
      "description": "Row tracking domain metadata remains consistent after UPDATE + DELETE DML",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2932_domain_rowtrack_after_merge",
      "num": 2932,
      "name": "domain_rowtrack_after_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2932_domain_rowtrack_after_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2932_domain_rowtrack_after_merge.sql",
      "description": "Row tracking survives a MERGE that inserts new rows",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2933_domain_rowtrack_vacuum",
      "num": 2933,
      "name": "domain_rowtrack_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2933_domain_rowtrack_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/2933_domain_rowtrack_vacuum.sql",
      "description": "Row tracking metadata survives DELETE + VACUUM cycle",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:row-tracking",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2934_domain_rowtrack_cdc",
      "num": 2934,
      "name": "domain_rowtrack_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2934_domain_rowtrack_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/2934_domain_rowtrack_cdc.sql",
      "description": "Row tracking and Change Data Feed coexist; UPDATE visible via CDC",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "delta:change-data-feed",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2935_tblprops_custom_metadata",
      "num": 2935,
      "name": "tblprops_custom_metadata",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2935_tblprops_custom_metadata.py",
      "read_script": "generator/df-reads-spark-iceberg/2935_tblprops_custom_metadata.sql",
      "description": "Data integrity with metadata STRING column alongside standard TBLPROPERTIES",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2936_string_partition_sort",
      "num": 2936,
      "name": "string_partition_sort",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2936_string_partition_sort.py",
      "read_script": "generator/df-reads-spark-iceberg/2936_string_partition_sort.sql",
      "description": "STRING column used as partition key; 4 distinct partition directories",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2937_string_identity_combined",
      "num": 2937,
      "name": "string_identity_combined",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2937_string_identity_combined.py",
      "read_script": "generator/df-reads-spark-iceberg/2937_string_identity_combined.sql",
      "description": "IDENTITY column auto-generation combined with STRING name column",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2938_rowtrack_with_colmap",
      "num": 2938,
      "name": "rowtrack_with_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2938_rowtrack_with_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/2938_rowtrack_with_colmap.sql",
      "description": "Row tracking and column mapping (name mode) coexist; logical names remain readable",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "delta:column-mapping",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2939_string_optimize_preserves",
      "num": 2939,
      "name": "string_optimize_preserves",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2939_string_optimize_preserves.py",
      "read_script": "generator/df-reads-spark-iceberg/2939_string_optimize_preserves.sql",
      "description": "OPTIMIZE compacts files without altering string data values",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/293_evolve_cluster",
      "num": 293,
      "name": "evolve_cluster",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/293_evolve_cluster.py",
      "read_script": "generator/df-reads-spark-iceberg/293_evolve_cluster.sql",
      "description": "Clustering configuration survives schema evolution",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2940_rowtrack_after_schema_evolve",
      "num": 2940,
      "name": "rowtrack_after_schema_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2940_rowtrack_after_schema_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/2940_rowtrack_after_schema_evolve.sql",
      "description": "Row tracking survives schema evolution; original rows have NULL for new column",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:row-tracking",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2941_append_only_after_optimize",
      "num": 2941,
      "name": "append_only_after_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2941_append_only_after_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/2941_append_only_after_optimize.sql",
      "description": "Append-only table survives OPTIMIZE without data loss",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2942_append_only_with_partition",
      "num": 2942,
      "name": "append_only_with_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2942_append_only_with_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/2942_append_only_with_partition.sql",
      "description": "Append-only table with partition by region",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2943_append_only_with_identity",
      "num": 2943,
      "name": "append_only_with_identity",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2943_append_only_with_identity.py",
      "read_script": "generator/df-reads-spark-iceberg/2943_append_only_with_identity.sql",
      "description": "Append-only table with IDENTITY column auto-increment",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2944_append_only_with_colmap",
      "num": 2944,
      "name": "append_only_with_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2944_append_only_with_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/2944_append_only_with_colmap.sql",
      "description": "Append-only table with column mapping (name mode)",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2945_append_only_large_batch",
      "num": 2945,
      "name": "append_only_large_batch",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2945_append_only_large_batch.py",
      "read_script": "generator/df-reads-spark-iceberg/2945_append_only_large_batch.sql",
      "description": "Append-only table with 500-row single batch insert",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2946_append_only_schema_evolve",
      "num": 2946,
      "name": "append_only_schema_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2946_append_only_schema_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/2946_append_only_schema_evolve.sql",
      "description": "Append-only table with schema evolution via ALTER TABLE ADD COLUMN",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2947_append_only_with_gencol",
      "num": 2947,
      "name": "append_only_with_gencol",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2947_append_only_with_gencol.py",
      "read_script": "generator/df-reads-spark-iceberg/2947_append_only_with_gencol.sql",
      "description": "Append-only table with generated column (val * 2)",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2948_protocol_writer_v2",
      "num": 2948,
      "name": "protocol_writer_v2",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2948_protocol_writer_v2.py",
      "read_script": "generator/df-reads-spark-iceberg/2948_protocol_writer_v2.sql",
      "description": "Explicit protocol with minWriterVersion=2, minReaderVersion=1",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2949_protocol_writer_v4_gencol",
      "num": 2949,
      "name": "protocol_writer_v4_gencol",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2949_protocol_writer_v4_gencol.py",
      "read_script": "generator/df-reads-spark-iceberg/2949_protocol_writer_v4_gencol.sql",
      "description": "Protocol writerVersion=4 required by generated column",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/294_evolve_generated",
      "num": 294,
      "name": "evolve_generated",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/294_evolve_generated.py",
      "read_script": "generator/df-reads-spark-iceberg/294_evolve_generated.sql",
      "description": "Table with generated column expression",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:generated-columns",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2950_protocol_writer_v5_colmap",
      "num": 2950,
      "name": "protocol_writer_v5_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2950_protocol_writer_v5_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/2950_protocol_writer_v5_colmap.sql",
      "description": "Protocol writerVersion=5, readerVersion=2 required by column mapping",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2951_protocol_reader_v2",
      "num": 2951,
      "name": "protocol_reader_v2",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2951_protocol_reader_v2.py",
      "read_script": "generator/df-reads-spark-iceberg/2951_protocol_reader_v2.sql",
      "description": "Explicit protocol readerVersion=2 with column mapping",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2952_protocol_feature_flags",
      "num": 2952,
      "name": "protocol_feature_flags",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2952_protocol_feature_flags.py",
      "read_script": "generator/df-reads-spark-iceberg/2952_protocol_feature_flags.sql",
      "description": "Feature flags in protocol (DV + CDC set writerFeatures)",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2953_protocol_upgrade_enable_dv",
      "num": 2953,
      "name": "protocol_upgrade_enable_dv",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2953_protocol_upgrade_enable_dv.py",
      "read_script": "generator/df-reads-spark-iceberg/2953_protocol_upgrade_enable_dv.sql",
      "description": "Protocol upgrade by enabling DV after table creation, then DELETE uses DVs",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2954_protocol_minimal_v1v1",
      "num": 2954,
      "name": "protocol_minimal_v1v1",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2954_protocol_minimal_v1v1.py",
      "read_script": "generator/df-reads-spark-iceberg/2954_protocol_minimal_v1v1.sql",
      "description": "Minimal protocol (readerVersion=1, writerVersion=1) with no advanced features",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2955_protocol_cdc_colmap_combined",
      "num": 2955,
      "name": "protocol_cdc_colmap_combined",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2955_protocol_cdc_colmap_combined.py",
      "read_script": "generator/df-reads-spark-iceberg/2955_protocol_cdc_colmap_combined.sql",
      "description": "Combined CDC + column mapping protocol features with UPDATE",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2956_scale_5000_rows",
      "num": 2956,
      "name": "scale_5000_rows",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2956_scale_5000_rows.py",
      "read_script": "generator/df-reads-spark-iceberg/2956_scale_5000_rows.sql",
      "description": "Single-batch insert of 5000 rows with mixed types",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2957_scale_100_versions",
      "num": 2957,
      "name": "scale_100_versions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2957_scale_100_versions.py",
      "read_script": "generator/df-reads-spark-iceberg/2957_scale_100_versions.sql",
      "description": "100 separate single-row inserts creating 100 Delta log versions",
      "status": "pass",
      "duration_ms": 33,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 33,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2958_scale_200_cols",
      "num": 2958,
      "name": "scale_200_cols",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2958_scale_200_cols.py",
      "read_script": "generator/df-reads-spark-iceberg/2958_scale_200_cols.sql",
      "description": "Very wide table with 200 columns (id + c001..c199)",
      "status": "pass",
      "duration_ms": 75,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 75,
      "read_warm_ms": 41,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2959_scale_1000_rows_with_dml",
      "num": 2959,
      "name": "scale_1000_rows_with_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2959_scale_1000_rows_with_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/2959_scale_1000_rows_with_dml.sql",
      "description": "1000-row table with UPDATE on first 200 rows, DELETE of last 100 rows",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/295_delete_basic",
      "num": 295,
      "name": "delete_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/295_delete_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/295_delete_basic.sql",
      "description": "Basic DELETE with simple predicate",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2960_scale_many_partitions_50",
      "num": 2960,
      "name": "scale_many_partitions_50",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2960_scale_many_partitions_50.py",
      "read_script": "generator/df-reads-spark-iceberg/2960_scale_many_partitions_50.sql",
      "description": "Table with 50 partitions, 20 rows per partition (1000 total)",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2961_widen_restore_int_to_long",
      "num": 2961,
      "name": "widen_restore_int_to_long",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2961_widen_restore_int_to_long.py",
      "read_script": "generator/df-reads-spark-iceberg/2961_widen_restore_int_to_long.sql",
      "description": "Type widening INT->BIGINT then RESTORE TO VERSION 1.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:time-travel",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2962_widen_restore_decimal_precision",
      "num": 2962,
      "name": "widen_restore_decimal_precision",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2962_widen_restore_decimal_precision.py",
      "read_script": "generator/df-reads-spark-iceberg/2962_widen_restore_decimal_precision.sql",
      "description": "Type widening DECIMAL(10,2)->DECIMAL(18,4) then RESTORE TO VERSION 1.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:time-travel",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2963_widen_vacuum_int_to_long",
      "num": 2963,
      "name": "widen_vacuum_int_to_long",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2963_widen_vacuum_int_to_long.py",
      "read_script": "generator/df-reads-spark-iceberg/2963_widen_vacuum_int_to_long.sql",
      "description": "Type widening INT->BIGINT followed by VACUUM.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:vacuum",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2964_widen_vacuum_float_to_double",
      "num": 2964,
      "name": "widen_vacuum_float_to_double",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2964_widen_vacuum_float_to_double.py",
      "read_script": "generator/df-reads-spark-iceberg/2964_widen_vacuum_float_to_double.sql",
      "description": "Type widening FLOAT->DOUBLE, UPDATE, then VACUUM.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:vacuum",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2965_widen_colmap_int_to_long",
      "num": 2965,
      "name": "widen_colmap_int_to_long",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2965_widen_colmap_int_to_long.py",
      "read_script": "generator/df-reads-spark-iceberg/2965_widen_colmap_int_to_long.sql",
      "description": "Column mapping (name mode) + type widening INT->BIGINT.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2966_widen_colmap_decimal_scale",
      "num": 2966,
      "name": "widen_colmap_decimal_scale",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2966_widen_colmap_decimal_scale.py",
      "read_script": "generator/df-reads-spark-iceberg/2966_widen_colmap_decimal_scale.sql",
      "description": "Column mapping (id mode) + type widening DECIMAL(10,2)->DECIMAL(18,2).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2967_default_restore_literal",
      "num": 2967,
      "name": "default_restore_literal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2967_default_restore_literal.py",
      "read_script": "generator/df-reads-spark-iceberg/2967_default_restore_literal.sql",
      "description": "DEFAULT literal value + RESTORE.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2968_default_restore_after_evolve",
      "num": 2968,
      "name": "default_restore_after_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2968_default_restore_after_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/2968_default_restore_after_evolve.sql",
      "description": "Schema evolution (ADD COLUMN with DEFAULT) then RESTORE.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2969_gencol_restore_computed",
      "num": 2969,
      "name": "gencol_restore_computed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2969_gencol_restore_computed.py",
      "read_script": "generator/df-reads-spark-iceberg/2969_gencol_restore_computed.sql",
      "description": "Generated column (doubled = base * 2) + UPDATE + RESTORE.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:generated-columns",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/296_update_basic",
      "num": 296,
      "name": "update_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/296_update_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/296_update_basic.sql",
      "description": "Basic UPDATE with simple predicate",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2970_gencol_vacuum_computed",
      "num": 2970,
      "name": "gencol_vacuum_computed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2970_gencol_vacuum_computed.py",
      "read_script": "generator/df-reads-spark-iceberg/2970_gencol_vacuum_computed.sql",
      "description": "Generated column (doubled = base * 2), DELETE, OPTIMIZE, VACUUM.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:generated-columns",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2971_gencol_vacuum_after_delete",
      "num": 2971,
      "name": "gencol_vacuum_after_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2971_gencol_vacuum_after_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/2971_gencol_vacuum_after_delete.sql",
      "description": "Generated column (total = qty * price) + DELETE + VACUUM.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:generated-columns",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2972_protocol_merge_v7_writer",
      "num": 2972,
      "name": "protocol_merge_v7_writer",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2972_protocol_merge_v7_writer.py",
      "read_script": "generator/df-reads-spark-iceberg/2972_protocol_merge_v7_writer.sql",
      "description": "Protocol minWriterVersion=7 + minReaderVersion=3 + DVs + MERGE.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2973_protocol_merge_reader_v3",
      "num": 2973,
      "name": "protocol_merge_reader_v3",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2973_protocol_merge_reader_v3.py",
      "read_script": "generator/df-reads-spark-iceberg/2973_protocol_merge_reader_v3.sql",
      "description": "Protocol minReaderVersion=3 + minWriterVersion=7 + deletion vectors feature + MERGE.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2974_array_merge_insert_update",
      "num": 2974,
      "name": "array_merge_insert_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2974_array_merge_insert_update.py",
      "read_script": "generator/df-reads-spark-iceberg/2974_array_merge_insert_update.sql",
      "description": "MERGE with UPDATE (match) and INSERT (no match) on a table",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2975_array_merge_delete",
      "num": 2975,
      "name": "array_merge_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2975_array_merge_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/2975_array_merge_delete.sql",
      "description": "MERGE with WHEN MATCHED ... DELETE and WHEN MATCHED ... UPDATE.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2976_conflict_colmap_write_write",
      "num": 2976,
      "name": "conflict_colmap_write_write",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2976_conflict_colmap_write_write.py",
      "read_script": "generator/df-reads-spark-iceberg/2976_conflict_colmap_write_write.sql",
      "description": "Column mapping (name mode) + sequential overlapping UPDATEs.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2977_conflict_colmap_snapshot",
      "num": 2977,
      "name": "conflict_colmap_snapshot",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2977_conflict_colmap_snapshot.py",
      "read_script": "generator/df-reads-spark-iceberg/2977_conflict_colmap_snapshot.sql",
      "description": "Column mapping (name mode) + DELETE + INSERT.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "iceberg:snapshots",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2978_ict_colmap_ordering",
      "num": 2978,
      "name": "ict_colmap_ordering",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2978_ict_colmap_ordering.py",
      "read_script": "generator/df-reads-spark-iceberg/2978_ict_colmap_ordering.sql",
      "description": "ICT (inCommitTimestamps) + column mapping (name mode) + DVs.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2979_ict_colmap_multi_version",
      "num": 2979,
      "name": "ict_colmap_multi_version",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2979_ict_colmap_multi_version.py",
      "read_script": "generator/df-reads-spark-iceberg/2979_ict_colmap_multi_version.sql",
      "description": "ICT + column mapping (name mode) + many INSERT batches.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/297_delete_multi_pred",
      "num": 297,
      "name": "delete_multi_pred",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/297_delete_multi_pred.py",
      "read_script": "generator/df-reads-spark-iceberg/297_delete_multi_pred.sql",
      "description": "DELETE with complex WHERE clause (AND/OR predicates)",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2980_rowtrack_restore_after_delete",
      "num": 2980,
      "name": "rowtrack_restore_after_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2980_rowtrack_restore_after_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/2980_rowtrack_restore_after_delete.sql",
      "description": "Row tracking + DELETE + RESTORE.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:row-tracking",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2981_rowtrack_restore_after_merge",
      "num": 2981,
      "name": "rowtrack_restore_after_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2981_rowtrack_restore_after_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2981_rowtrack_restore_after_merge.sql",
      "description": "Row tracking + MERGE + RESTORE.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:row-tracking",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2982_rowtrack_restore_multi_version",
      "num": 2982,
      "name": "rowtrack_restore_multi_version",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2982_rowtrack_restore_multi_version.py",
      "read_script": "generator/df-reads-spark-iceberg/2982_rowtrack_restore_multi_version.sql",
      "description": "Row tracking + multi-version history + RESTORE to V2.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:row-tracking",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2983_widen_merge_int_to_long_upsert",
      "num": 2983,
      "name": "widen_merge_int_to_long_upsert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2983_widen_merge_int_to_long_upsert.py",
      "read_script": "generator/df-reads-spark-iceberg/2983_widen_merge_int_to_long_upsert.sql",
      "description": "Type widening INT->BIGINT combined with MERGE upsert.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2984_widen_merge_decimal_then_merge",
      "num": 2984,
      "name": "widen_merge_decimal_then_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2984_widen_merge_decimal_then_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/2984_widen_merge_decimal_then_merge.sql",
      "description": "DECIMAL type widening DECIMAL(10,2)->DECIMAL(18,2) (precision only,",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:merge",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2985_widen_cdc_track_widened_updates",
      "num": 2985,
      "name": "widen_cdc_track_widened_updates",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2985_widen_cdc_track_widened_updates.py",
      "read_script": "generator/df-reads-spark-iceberg/2985_widen_cdc_track_widened_updates.sql",
      "description": "Type widening INT->BIGINT combined with CDC tracking.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2986_widen_identity_bigint",
      "num": 2986,
      "name": "widen_identity_bigint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2986_widen_identity_bigint.py",
      "read_script": "generator/df-reads-spark-iceberg/2986_widen_identity_bigint.sql",
      "description": "Type widening INT->BIGINT on a non-identity column in a table",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2987_identity_vacuum_hwm_preserved",
      "num": 2987,
      "name": "identity_vacuum_hwm_preserved",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2987_identity_vacuum_hwm_preserved.py",
      "read_script": "generator/df-reads-spark-iceberg/2987_identity_vacuum_hwm_preserved.sql",
      "description": "IDENTITY column high-water-mark (HWM) is preserved after",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:identity-columns",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2988_identity_constraint_range_check",
      "num": 2988,
      "name": "identity_constraint_range_check",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2988_identity_constraint_range_check.py",
      "read_script": "generator/df-reads-spark-iceberg/2988_identity_constraint_range_check.sql",
      "description": "IDENTITY column combined with CHECK constraint on a range.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2989_identity_constraint_positive",
      "num": 2989,
      "name": "identity_constraint_positive",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2989_identity_constraint_positive.py",
      "read_script": "generator/df-reads-spark-iceberg/2989_identity_constraint_positive.sql",
      "description": "IDENTITY column with explicit START WITH 1 INCREMENT BY 1,",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/298_update_multi_col",
      "num": 298,
      "name": "update_multi_col",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/298_update_multi_col.py",
      "read_script": "generator/df-reads-spark-iceberg/298_update_multi_col.sql",
      "description": "UPDATE setting multiple columns at once",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2990_constraint_vacuum_check_preserved",
      "num": 2990,
      "name": "constraint_vacuum_check_preserved",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2990_constraint_vacuum_check_preserved.py",
      "read_script": "generator/df-reads-spark-iceberg/2990_constraint_vacuum_check_preserved.sql",
      "description": "CHECK constraint metadata survives VACUUM. After DELETE and",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2991_constraint_vacuum_multi_check",
      "num": 2991,
      "name": "constraint_vacuum_multi_check",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2991_constraint_vacuum_multi_check.py",
      "read_script": "generator/df-reads-spark-iceberg/2991_constraint_vacuum_multi_check.sql",
      "description": "Multiple CHECK constraints both survive OPTIMIZE + VACUUM.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2992_gencol_merge_upsert",
      "num": 2992,
      "name": "gencol_merge_upsert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2992_gencol_merge_upsert.py",
      "read_script": "generator/df-reads-spark-iceberg/2992_gencol_merge_upsert.sql",
      "description": "Generated column total = price * qty is recalculated correctly",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2993_gencol_merge_delete_reinsert",
      "num": 2993,
      "name": "gencol_merge_delete_reinsert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2993_gencol_merge_delete_reinsert.py",
      "read_script": "generator/df-reads-spark-iceberg/2993_gencol_merge_delete_reinsert.sql",
      "description": "Generated column doubled = base * 2 is correctly computed",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2994_gencol_colmap_computed",
      "num": 2994,
      "name": "gencol_colmap_computed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2994_gencol_colmap_computed.py",
      "read_script": "generator/df-reads-spark-iceberg/2994_gencol_colmap_computed.sql",
      "description": "Generated column sum_ab = a + b combined with column mapping",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:column-mapping",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2995_uniform_merge_upsert",
      "num": 2995,
      "name": "uniform_merge_upsert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2995_uniform_merge_upsert.py",
      "read_script": "generator/df-reads-spark-iceberg/2995_uniform_merge_upsert.sql",
      "description": "UniForm Iceberg format combined with MERGE upsert.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2996_uniform_cdc_tracking",
      "num": 2996,
      "name": "uniform_cdc_tracking",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2996_uniform_cdc_tracking.py",
      "read_script": "generator/df-reads-spark-iceberg/2996_uniform_cdc_tracking.sql",
      "description": "UniForm Iceberg combined with CDC (Change Data Feed).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2997_uniform_optimize_compaction",
      "num": 2997,
      "name": "uniform_optimize_compaction",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2997_uniform_optimize_compaction.py",
      "read_script": "generator/df-reads-spark-iceberg/2997_uniform_optimize_compaction.sql",
      "description": "UniForm Iceberg combined with OPTIMIZE compaction. Five",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2998_ict_vacuum_timestamp_survive",
      "num": 2998,
      "name": "ict_vacuum_timestamp_survive",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2998_ict_vacuum_timestamp_survive.py",
      "read_script": "generator/df-reads-spark-iceberg/2998_ict_vacuum_timestamp_survive.sql",
      "description": "In-Commit Timestamp (ICT) metadata survives VACUUM.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/2999_ict_vacuum_multi_version",
      "num": 2999,
      "name": "ict_vacuum_multi_version",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/2999_ict_vacuum_multi_version.py",
      "read_script": "generator/df-reads-spark-iceberg/2999_ict_vacuum_multi_version.sql",
      "description": "ICT across many versions survives VACUUM. Ten separate INSERT",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:44:58.280774+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/299_delete_cdc",
      "num": 299,
      "name": "delete_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/299_delete_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/299_delete_cdc.sql",
      "description": "DELETE with CDC (Change Data Capture) enabled - captures pre-images",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:53:02.265668+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/29_column_mapping_id_mode_physical",
      "num": 29,
      "name": "column_mapping_id_mode_physical",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/29_column_mapping_id_mode_physical.py",
      "read_script": "generator/df-reads-spark-iceberg/29_column_mapping_id_mode_physical.sql",
      "description": "Demonstrates column mapping with ID mode (physical names). In ID mode, columns are referenced by unique IDs, allowing rename/reorder without rewriting data. Physical names in Parquet files remain unchanged.",
      "status": "pass",
      "duration_ms": 20,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:46:06.533780+00:00",
      "read_cold_ms": 20,
      "read_warm_ms": 10,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:overwrite",
        "delta:column-mapping",
        "schema:rename-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3000_rowtrack_vacuum_metadata",
      "num": 3000,
      "name": "rowtrack_vacuum_metadata",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3000_rowtrack_vacuum_metadata.py",
      "read_script": "generator/df-reads-spark-iceberg/3000_rowtrack_vacuum_metadata.sql",
      "description": "Row tracking metadata survives DELETE + VACUUM. After INSERT 80",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:row-tracking",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3001_rowtrack_vacuum_optimize",
      "num": 3001,
      "name": "rowtrack_vacuum_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3001_rowtrack_vacuum_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/3001_rowtrack_vacuum_optimize.sql",
      "description": "Row tracking metadata survives OPTIMIZE + VACUUM. Five",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:row-tracking",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3002_truncate_restore_version",
      "num": 3002,
      "name": "truncate_restore_version",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3002_truncate_restore_version.py",
      "read_script": "generator/df-reads-spark-iceberg/3002_truncate_restore_version.sql",
      "description": "TRUNCATE TABLE followed by RESTORE TO VERSION 1 brings back",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:truncate",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3003_truncate_restore_multi_truncate",
      "num": 3003,
      "name": "truncate_restore_multi_truncate",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3003_truncate_restore_multi_truncate.py",
      "read_script": "generator/df-reads-spark-iceberg/3003_truncate_restore_multi_truncate.sql",
      "description": "Multiple TRUNCATE operations followed by RESTORE TO VERSION 1.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:truncate",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3004_default_colmap_literal",
      "num": 3004,
      "name": "default_colmap_literal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3004_default_colmap_literal.py",
      "read_script": "generator/df-reads-spark-iceberg/3004_default_colmap_literal.sql",
      "description": "DEFAULT literal value combined with column mapping in 'name' mode.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3005_default_vacuum_after_evolve",
      "num": 3005,
      "name": "default_vacuum_after_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3005_default_vacuum_after_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/3005_default_vacuum_after_evolve.sql",
      "description": "A column added via ALTER TABLE with DEFAULT 0 after initial",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:vacuum",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3006_pushdown_dv_predicate",
      "num": 3006,
      "name": "pushdown_dv_predicate",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3006_pushdown_dv_predicate.py",
      "read_script": "generator/df-reads-spark-iceberg/3006_pushdown_dv_predicate.sql",
      "description": "Predicate pushdown combined with deletion vectors. After",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3007_pushdown_cdc_partition",
      "num": 3007,
      "name": "pushdown_cdc_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3007_pushdown_cdc_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/3007_pushdown_cdc_partition.sql",
      "description": "Predicate pushdown combined with CDC and partitioning.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3008_conflict_cdc_write_write",
      "num": 3008,
      "name": "conflict_cdc_write_write",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3008_conflict_cdc_write_write.py",
      "read_script": "generator/df-reads-spark-iceberg/3008_conflict_cdc_write_write.sql",
      "description": "Two sequential UPDATE operations with overlapping row ranges",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3009_colmap_restore_name_mode",
      "num": 3009,
      "name": "colmap_restore_name_mode",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3009_colmap_restore_name_mode.py",
      "read_script": "generator/df-reads-spark-iceberg/3009_colmap_restore_name_mode.sql",
      "description": "Column mapping (name mode) combined with UPDATE then RESTORE",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/300_update_cdc",
      "num": 300,
      "name": "update_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/300_update_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/300_update_cdc.sql",
      "description": "UPDATE with CDC (Change Data Capture) - captures pre/post images",
      "status": "pass",
      "duration_ms": 98,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 98,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3010_default_constraint_check_default",
      "num": 3010,
      "name": "default_constraint_check_default",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3010_default_constraint_check_default.py",
      "read_script": "generator/df-reads-spark-iceberg/3010_default_constraint_check_default.sql",
      "description": "DEFAULT value combined with CHECK constraint on the same column.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3011_merge_three_clause_all_types",
      "num": 3011,
      "name": "merge_three_clause_all_types",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3011_merge_three_clause_all_types.py",
      "read_script": "generator/df-reads-spark-iceberg/3011_merge_three_clause_all_types.sql",
      "description": "MERGE with three WHEN clauses covering all Delta data types: WHEN MATCHED AND id<=20 THEN UPDATE, WHEN MATCHED AND id<=30 THEN DELETE, WHEN NOT MATCHED THEN INSERT. Source overlaps partially with target.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3012_merge_update_all_rows",
      "num": 3012,
      "name": "merge_update_all_rows",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3012_merge_update_all_rows.py",
      "read_script": "generator/df-reads-spark-iceberg/3012_merge_update_all_rows.sql",
      "description": "MERGE where every source row matches a target row and triggers an UPDATE. All 50 rows updated from source values, no inserts or deletes.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3013_merge_cdc_colmap_three_clause",
      "num": 3013,
      "name": "merge_cdc_colmap_three_clause",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3013_merge_cdc_colmap_three_clause.py",
      "read_script": "generator/df-reads-spark-iceberg/3013_merge_cdc_colmap_three_clause.sql",
      "description": "MERGE with three WHEN clauses on a table with CDC and column mapping enabled. Verifies that CDF records all three change types (update_preimage, update_postimage, delete, insert) and that logical column names remain intact.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3014_merge_identity_hwm_continue",
      "num": 3014,
      "name": "merge_identity_hwm_continue",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3014_merge_identity_hwm_continue.py",
      "read_script": "generator/df-reads-spark-iceberg/3014_merge_identity_hwm_continue.sql",
      "description": "MERGE inserts new rows into a table with a GENERATED BY DEFAULT AS IDENTITY column. Verifies the high-watermark continues correctly after the merge (HWM >= 50).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3015_merge_identity_update_no_change",
      "num": 3015,
      "name": "merge_identity_update_no_change",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3015_merge_identity_update_no_change.py",
      "read_script": "generator/df-reads-spark-iceberg/3015_merge_identity_update_no_change.sql",
      "description": "MERGE updates a non-identity column on a table with a GENERATED BY DEFAULT AS IDENTITY primary key. Verifies identity column values are unchanged after UPDATE.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3016_merge_default_not_matched",
      "num": 3016,
      "name": "merge_default_not_matched",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3016_merge_default_not_matched.py",
      "read_script": "generator/df-reads-spark-iceberg/3016_merge_default_not_matched.sql",
      "description": "MERGE inserts rows via NOT MATCHED clause omitting the DEFAULT column (status). Rows inserted through MERGE should receive the column default ('pending'). Pre-existing rows retain status='active'.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3017_merge_constraint_check",
      "num": 3017,
      "name": "merge_constraint_check",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3017_merge_constraint_check.py",
      "read_script": "generator/df-reads-spark-iceberg/3017_merge_constraint_check.sql",
      "description": "MERGE on a table with a CHECK constraint. All source values satisfy the constraint. Verifies the constraint metadata is present in the Delta log and all merged values pass the check (score >= 0).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3018_merge_partition_cross_partition",
      "num": 3018,
      "name": "merge_partition_cross_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3018_merge_partition_cross_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/3018_merge_partition_cross_partition.sql",
      "description": "MERGE updates a partition key column, causing rows to move between partitions. Initial data is split across US/EU/APAC. After MERGE the first 20 rows move to LATAM.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3019_merge_flat_struct_update",
      "num": 3019,
      "name": "merge_flat_struct_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3019_merge_flat_struct_update.py",
      "read_script": "generator/df-reads-spark-iceberg/3019_merge_flat_struct_update.sql",
      "description": "MERGE updates a subset of flat columns that represent \"nested\" info fields. info_name and info_score are unchanged for ids 21-40.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/301_delete_partition",
      "num": 301,
      "name": "delete_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/301_delete_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/301_delete_partition.sql",
      "description": "DELETE with partition pruning",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3020_merge_ten_versions",
      "num": 3020,
      "name": "merge_ten_versions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3020_merge_ten_versions.py",
      "read_script": "generator/df-reads-spark-iceberg/3020_merge_ten_versions.sql",
      "description": "Ten successive MERGE operations each updating all 50 rows. After 10 rounds, val = sum(1..10) = 55 and round = 10. Verifies correctness across many Delta versions.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3021_merge_large_1000_rows",
      "num": 3021,
      "name": "merge_large_1000_rows",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3021_merge_large_1000_rows.py",
      "read_script": "generator/df-reads-spark-iceberg/3021_merge_large_1000_rows.sql",
      "description": "MERGE on a 1000-row table. Source updates 500 existing rows, inserts 500 new rows.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3022_merge_delete_all_reinsert",
      "num": 3022,
      "name": "merge_delete_all_reinsert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3022_merge_delete_all_reinsert.py",
      "read_script": "generator/df-reads-spark-iceberg/3022_merge_delete_all_reinsert.sql",
      "description": "MERGE that deletes every existing row (ids 1-40) and inserts entirely new rows (ids 41-80) in a single operation. Validates that the table is completely replaced.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3023_merge_gencol_auto_compute",
      "num": 3023,
      "name": "merge_gencol_auto_compute",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3023_merge_gencol_auto_compute.py",
      "read_script": "generator/df-reads-spark-iceberg/3023_merge_gencol_auto_compute.sql",
      "description": "MERGE on a table with a GENERATED ALWAYS AS column (total = price * qty). MERGE updates price for ids 1-15 and inserts ids 31-40. The generated column must auto-recompute for all affected rows.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3024_merge_evolve_add_col_then_merge",
      "num": 3024,
      "name": "merge_evolve_add_col_then_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3024_merge_evolve_add_col_then_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/3024_merge_evolve_add_col_then_merge.sql",
      "description": "MERGE updates ids 1-20 with a score value, inserts ids 41-55 with score. Ids 21-40 survive with score=NULL (pre-evolution rows).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3025_merge_widen_then_merge_bigint",
      "num": 3025,
      "name": "merge_widen_then_merge_bigint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3025_merge_widen_then_merge_bigint.py",
      "read_script": "generator/df-reads-spark-iceberg/3025_merge_widen_then_merge_bigint.sql",
      "description": "then MERGE with values exceeding INT range (3000000000).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3026_merge_cdc_dv_partition_quad",
      "num": 3026,
      "name": "merge_cdc_dv_partition_quad",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3026_merge_cdc_dv_partition_quad.py",
      "read_script": "generator/df-reads-spark-iceberg/3026_merge_cdc_dv_partition_quad.sql",
      "description": "MERGE on a partitioned table (4 regions) with CDC and Deletion Vectors enabled. Verifies CDF contains all three change types across partitions.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3027_merge_optimize_then_merge",
      "num": 3027,
      "name": "merge_optimize_then_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3027_merge_optimize_then_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/3027_merge_optimize_then_merge.sql",
      "description": "Two MERGE operations with an OPTIMIZE compaction between them. Verifies that compacted files are transparently read/written by the second MERGE.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3028_merge_vacuum_then_merge",
      "num": 3028,
      "name": "merge_vacuum_then_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3028_merge_vacuum_then_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/3028_merge_vacuum_then_merge.sql",
      "description": "DELETE rows, VACUUM to remove old files, then MERGE to verify the table is still fully writable after vacuum. Final state has 50 rows (30 updated + 20 new).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3029_merge_colmap_cdc_evolve_quad",
      "num": 3029,
      "name": "merge_colmap_cdc_evolve_quad",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3029_merge_colmap_cdc_evolve_quad.py",
      "read_script": "generator/df-reads-spark-iceberg/3029_merge_colmap_cdc_evolve_quad.sql",
      "description": "INSERT 40 rows, ADD COLUMN score INT, then MERGE updating ids 1-20 and inserting ids 41-55. Verifies all four features interact correctly.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/302_delete_large",
      "num": 302,
      "name": "delete_large",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/302_delete_large.py",
      "read_script": "generator/df-reads-spark-iceberg/302_delete_large.sql",
      "description": "DELETE removing majority of data (90%)",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3030_merge_ict_rowtrack",
      "num": 3030,
      "name": "merge_ict_rowtrack",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3030_merge_ict_rowtrack.py",
      "read_script": "generator/df-reads-spark-iceberg/3030_merge_ict_rowtrack.sql",
      "description": "MERGE on a table with In-Commit Timestamps and Row Tracking enabled. Verifies both protocol features are recorded in the Delta log and that the MERGE result is correct.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3031_merge_string_partition_key",
      "num": 3031,
      "name": "merge_string_partition_key",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3031_merge_string_partition_key.py",
      "read_script": "generator/df-reads-spark-iceberg/3031_merge_string_partition_key.sql",
      "description": "MERGE on a table partitioned by a STRING date column. Rows span 28 distinct partition values (2024-01-01 through 2024-01-28). MERGE updates val for ids 1-30; partition dirs are verified post-merge.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3032_merge_decimal_38_18_precision",
      "num": 3032,
      "name": "merge_decimal_38_18_precision",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3032_merge_decimal_38_18_precision.py",
      "read_script": "generator/df-reads-spark-iceberg/3032_merge_decimal_38_18_precision.sql",
      "description": "MERGE on a table with DECIMAL(38,18) amounts. Update doubles the amount for ids 1-15; insert ids 31-40 with new decimals. Verifies full decimal precision is preserved through MERGE.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3033_merge_boolean_predicate",
      "num": 3033,
      "name": "merge_boolean_predicate",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3033_merge_boolean_predicate.py",
      "read_script": "generator/df-reads-spark-iceberg/3033_merge_boolean_predicate.sql",
      "description": "MERGE with WHEN MATCHED conditions that branch on a BOOLEAN column. Active rows (is_active=true) get score+=999; inactive rows get score=0.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3034_merge_null_handling_all_columns",
      "num": 3034,
      "name": "merge_null_handling_all_columns",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3034_merge_null_handling_all_columns.py",
      "read_script": "generator/df-reads-spark-iceberg/3034_merge_null_handling_all_columns.sql",
      "description": "MERGE that deliberately sets columns to NULL via UPDATE and inserts rows where optional columns are NULL. Verifies NULL propagation is correct.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3035_merge_string_special_chars",
      "num": 3035,
      "name": "merge_string_special_chars",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3035_merge_string_special_chars.py",
      "read_script": "generator/df-reads-spark-iceberg/3035_merge_string_special_chars.sql",
      "description": "MERGE that updates string columns with special characters (quotes, spaces, slashes). Verifies Parquet string encoding handles non-alphanumeric values correctly.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3036_delete_optimize_vacuum_cycle_3x",
      "num": 3036,
      "name": "delete_optimize_vacuum_cycle_3x",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3036_delete_optimize_vacuum_cycle_3x.py",
      "read_script": "generator/df-reads-spark-iceberg/3036_delete_optimize_vacuum_cycle_3x.sql",
      "description": "Three delete+OPTIMIZE+VACUUM cycles on a DV-enabled table.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3037_delete_optimize_vacuum_cdc",
      "num": 3037,
      "name": "delete_optimize_vacuum_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3037_delete_optimize_vacuum_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/3037_delete_optimize_vacuum_cdc.sql",
      "description": "DELETE + OPTIMIZE + VACUUM on a CDC-enabled DV table.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3038_delete_optimize_vacuum_colmap",
      "num": 3038,
      "name": "delete_optimize_vacuum_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3038_delete_optimize_vacuum_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/3038_delete_optimize_vacuum_colmap.sql",
      "description": "DELETE + OPTIMIZE + VACUUM on a column-mapping (name mode) table.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3039_maint_interleaved_dml_optimize",
      "num": 3039,
      "name": "maint_interleaved_dml_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3039_maint_interleaved_dml_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/3039_maint_interleaved_dml_optimize.sql",
      "description": "Interleaved DML (INSERT/UPDATE/DELETE) with OPTIMIZE calls between each.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/303_dml_concurrent",
      "num": 303,
      "name": "dml_concurrent",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/303_dml_concurrent.py",
      "read_script": "generator/df-reads-spark-iceberg/303_dml_concurrent.sql",
      "description": "Concurrent DML conflict detection",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "robust:concurrent-writes",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3040_maint_vacuum_aggressive_retention_0",
      "num": 3040,
      "name": "maint_vacuum_aggressive_retention_0",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3040_maint_vacuum_aggressive_retention_0.py",
      "read_script": "generator/df-reads-spark-iceberg/3040_maint_vacuum_aggressive_retention_0.sql",
      "description": "Aggressive VACUUM RETAIN 0 HOURS after DELETE + OPTIMIZE.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3041_maint_vacuum_after_schema_evolve",
      "num": 3041,
      "name": "maint_vacuum_after_schema_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3041_maint_vacuum_after_schema_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/3041_maint_vacuum_after_schema_evolve.sql",
      "description": "VACUUM after schema evolution (ALTER ADD COLUMN).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:vacuum",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3042_maint_optimize_zorder_vacuum_chain",
      "num": 3042,
      "name": "maint_optimize_zorder_vacuum_chain",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3042_maint_optimize_zorder_vacuum_chain.py",
      "read_script": "generator/df-reads-spark-iceberg/3042_maint_optimize_zorder_vacuum_chain.sql",
      "description": "Chained OPTIMIZE + second OPTIMIZE + VACUUM maintenance sequence.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:optimize",
        "delta:vacuum",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3043_maint_twenty_versions_vacuum",
      "num": 3043,
      "name": "maint_twenty_versions_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3043_maint_twenty_versions_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/3043_maint_twenty_versions_vacuum.sql",
      "description": "20 INSERT batches creating 20 versions, then VACUUM RETAIN 0 HOURS.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3044_maint_optimize_partition_rewrite",
      "num": 3044,
      "name": "maint_optimize_partition_rewrite",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3044_maint_optimize_partition_rewrite.py",
      "read_script": "generator/df-reads-spark-iceberg/3044_maint_optimize_partition_rewrite.sql",
      "description": "OPTIMIZE rewrites multiple small files per partition into fewer files.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3045_maint_vacuum_identity_table",
      "num": 3045,
      "name": "maint_vacuum_identity_table",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3045_maint_vacuum_identity_table.py",
      "read_script": "generator/df-reads-spark-iceberg/3045_maint_vacuum_identity_table.sql",
      "description": "VACUUM on an IDENTITY-column table preserves high-watermark.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:identity-columns",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3046_maint_vacuum_constraint_metadata",
      "num": 3046,
      "name": "maint_vacuum_constraint_metadata",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3046_maint_vacuum_constraint_metadata.py",
      "read_script": "generator/df-reads-spark-iceberg/3046_maint_vacuum_constraint_metadata.sql",
      "description": "CHECK constraints survive VACUUM (metadata preserved in log).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3047_maint_optimize_gencol_table",
      "num": 3047,
      "name": "maint_optimize_gencol_table",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3047_maint_optimize_gencol_table.py",
      "read_script": "generator/df-reads-spark-iceberg/3047_maint_optimize_gencol_table.sql",
      "description": "OPTIMIZE on a table with a generated column sum_ab = a + b.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:generated-columns",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3048_maint_optimize_default_table",
      "num": 3048,
      "name": "maint_optimize_default_table",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3048_maint_optimize_default_table.py",
      "read_script": "generator/df-reads-spark-iceberg/3048_maint_optimize_default_table.sql",
      "description": "OPTIMIZE on a table with a DEFAULT column value.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3049_maint_delete_all_reinsert_optimize",
      "num": 3049,
      "name": "maint_delete_all_reinsert_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3049_maint_delete_all_reinsert_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/3049_maint_delete_all_reinsert_optimize.sql",
      "description": "DELETE all rows, re-INSERT with new data, then OPTIMIZE.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/304_merge_full",
      "num": 304,
      "name": "merge_full",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/304_merge_full.py",
      "read_script": "generator/df-reads-spark-iceberg/304_merge_full.sql",
      "description": "MERGE with all clauses (INSERT, UPDATE, DELETE)",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3050_maint_vacuum_widen_table",
      "num": 3050,
      "name": "maint_vacuum_widen_table",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3050_maint_vacuum_widen_table.py",
      "read_script": "generator/df-reads-spark-iceberg/3050_maint_vacuum_widen_table.sql",
      "description": "VACUUM after INT->BIGINT type widening.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:vacuum",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3051_maint_restore_after_vacuum",
      "num": 3051,
      "name": "maint_restore_after_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3051_maint_restore_after_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/3051_maint_restore_after_vacuum.sql",
      "description": "RESTORE behavior after VACUUM -- documents whether restore succeeds",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:time-travel",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3052_maint_optimize_struct_table",
      "num": 3052,
      "name": "maint_optimize_struct_table",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3052_maint_optimize_struct_table.py",
      "read_script": "generator/df-reads-spark-iceberg/3052_maint_optimize_struct_table.sql",
      "description": "OPTIMIZE on a table with multiple flat columns (simulating struct-like",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3053_maint_vacuum_partition_prune",
      "num": 3053,
      "name": "maint_vacuum_partition_prune",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3053_maint_vacuum_partition_prune.py",
      "read_script": "generator/df-reads-spark-iceberg/3053_maint_vacuum_partition_prune.sql",
      "description": "VACUUM after deleting entire partitions (LATAM and MEA) removes",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "delta:partitioning",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3054_maint_optimize_map_columns",
      "num": 3054,
      "name": "maint_optimize_map_columns",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3054_maint_optimize_map_columns.py",
      "read_script": "generator/df-reads-spark-iceberg/3054_maint_optimize_map_columns.sql",
      "description": "OPTIMIZE on a table with key-value style columns (label + score patterns",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3055_maint_vacuum_dv_cleanup",
      "num": 3055,
      "name": "maint_vacuum_dv_cleanup",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3055_maint_vacuum_dv_cleanup.py",
      "read_script": "generator/df-reads-spark-iceberg/3055_maint_vacuum_dv_cleanup.sql",
      "description": "Full DV lifecycle -- DELETE via DVs, OPTIMIZE applies DVs (rewrites without",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3056_cdc_merge_three_clause_cdf",
      "num": 3056,
      "name": "cdc_merge_three_clause_cdf",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3056_cdc_merge_three_clause_cdf.py",
      "read_script": "generator/df-reads-spark-iceberg/3056_cdc_merge_three_clause_cdf.sql",
      "description": "MERGE with three WHEN clauses on a CDC+DV table. ids 1-20 matched and UPDATED, ids 21-30 matched and DELETED, ids 61-70 not matched and INSERTED.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3057_cdc_truncate_cdf_record",
      "num": 3057,
      "name": "cdc_truncate_cdf_record",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3057_cdc_truncate_cdf_record.py",
      "read_script": "generator/df-reads-spark-iceberg/3057_cdc_truncate_cdf_record.sql",
      "description": "INSERT 50 rows then TRUNCATE TABLE. Verifies CDF records the truncate/delete event. After truncate, no rows remain. CDF should have 50 inserts plus truncate records.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:truncate",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3058_cdc_schema_evolve_cdf_columns",
      "num": 3058,
      "name": "cdc_schema_evolve_cdf_columns",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3058_cdc_schema_evolve_cdf_columns.py",
      "read_script": "generator/df-reads-spark-iceberg/3058_cdc_schema_evolve_cdf_columns.sql",
      "description": "CDC table with schema evolution. INSERT 30 rows, ADD COLUMN score INT, INSERT 20 more rows with score, UPDATE first 10 rows to set score=999. CDF must contain all change types including records with the new score column.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3059_cdc_delete_all_cdf_complete",
      "num": 3059,
      "name": "cdc_delete_all_cdf_complete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3059_cdc_delete_all_cdf_complete.py",
      "read_script": "generator/df-reads-spark-iceberg/3059_cdc_delete_all_cdf_complete.sql",
      "description": "INSERT 100 rows, then DELETE all rows. CDF must capture all 100 inserts and all 100 deletes. Final table has 0 rows.",
      "status": "pass",
      "duration_ms": 3,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 3,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/305_zorder_comprehensive_basic",
      "num": 305,
      "name": "zorder_comprehensive_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/305_zorder_comprehensive_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/305_zorder_comprehensive_basic.sql",
      "description": "Basic Z-ORDER coexistence test - DBX creates -> DeltaForge Z-ORDER -> DBX verifies",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "delta:liquid-clustering",
        "delta:z-order",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3060_cdc_update_same_row_10x",
      "num": 3060,
      "name": "cdc_update_same_row_10x",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3060_cdc_update_same_row_10x.py",
      "read_script": "generator/df-reads-spark-iceberg/3060_cdc_update_same_row_10x.sql",
      "description": "INSERT 1 row, then UPDATE the same row 10 times sequentially. Each update increments counter by 1 and updates the label. CDF must record 1 insert + 10 update_preimage + 10 update_postimage = 21 records.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3061_cdc_partition_cdf_per_partition",
      "num": 3061,
      "name": "cdc_partition_cdf_per_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3061_cdc_partition_cdf_per_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/3061_cdc_partition_cdf_per_partition.sql",
      "description": "Partitioned CDC table. INSERT 60 rows across 3 regions, DELETE all 'US' rows. CDF delete records must all have region='US'. Final: 40 rows (EU + APAC).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3062_cdc_identity_cdf_id_tracking",
      "num": 3062,
      "name": "cdc_identity_cdf_id_tracking",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3062_cdc_identity_cdf_id_tracking.py",
      "read_script": "generator/df-reads-spark-iceberg/3062_cdc_identity_cdf_id_tracking.sql",
      "description": "Identity column with CDC. INSERT 30 rows, DELETE ids 1-10, INSERT 10 more. CDF must track auto-assigned identity IDs in insert/delete records.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3063_cdc_optimize_cdf_survives",
      "num": 3063,
      "name": "cdc_optimize_cdf_survives",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3063_cdc_optimize_cdf_survives.py",
      "read_script": "generator/df-reads-spark-iceberg/3063_cdc_optimize_cdf_survives.sql",
      "description": "CDC table with UPDATE, DELETE, then OPTIMIZE. Verifies CDF is still readable after OPTIMIZE compacts files. OPTIMIZE must not corrupt or clear CDF records.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3064_cdc_default_col_cdf",
      "num": 3064,
      "name": "cdc_default_col_cdf",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3064_cdc_default_col_cdf.py",
      "read_script": "generator/df-reads-spark-iceberg/3064_cdc_default_col_cdf.sql",
      "description": "CDC table with a DEFAULT column value. INSERT 30 rows omitting 'status' (defaults to 'new'). UPDATE first 10 rows to set status='processed'. CDF pre-images have status='new', post-images have status='processed'.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3065_cdc_struct_column_changes",
      "num": 3065,
      "name": "cdc_struct_column_changes",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3065_cdc_struct_column_changes.py",
      "read_script": "generator/df-reads-spark-iceberg/3065_cdc_struct_column_changes.sql",
      "description": "CDC table with flat columns simulating struct-like before/after change capture. UPDATE first 15 rows to modify detail_a and detail_b. CDF must capture full before/after for both detail columns.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3066_cdc_colmap_cdf_logical_names",
      "num": 3066,
      "name": "cdc_colmap_cdf_logical_names",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3066_cdc_colmap_cdf_logical_names.py",
      "read_script": "generator/df-reads-spark-iceberg/3066_cdc_colmap_cdf_logical_names.sql",
      "description": "CDC table with column mapping mode=name. CDF records must expose logical column names (user_name, score) not physical UUIDs. UPDATE first 20 rows score += 500.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3067_cdc_constraint_valid_merge",
      "num": 3067,
      "name": "cdc_constraint_valid_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3067_cdc_constraint_valid_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/3067_cdc_constraint_valid_merge.sql",
      "description": "CDC table with a CHECK constraint. All MERGE operations produce valid scores (>= 0). MERGE updates ids 1-15 (score += 100) and inserts ids 31-40 (score = (id-30)*10). Constraint must be respected throughout. CDF tracks all changes.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3068_cdc_restore_cdf_history",
      "num": 3068,
      "name": "cdc_restore_cdf_history",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3068_cdc_restore_cdf_history.py",
      "read_script": "generator/df-reads-spark-iceberg/3068_cdc_restore_cdf_history.sql",
      "description": "CDC table with RESTORE. INSERT 30 rows (tag='v1'), UPDATE 10 rows (tag='v2'), then RESTORE to version 1. CDF history includes all operations including restore.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3069_cdc_widen_cdf_type_change",
      "num": 3069,
      "name": "cdc_widen_cdf_type_change",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3069_cdc_widen_cdf_type_change.py",
      "read_script": "generator/df-reads-spark-iceberg/3069_cdc_widen_cdf_type_change.sql",
      "description": "CDC table with type widening. INSERT 30 rows (val INT), ALTER val to BIGINT, UPDATE ids 1-10 setting val to large BIGINT values. CDF records post-widen updates.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/306_zorder_numeric_columns",
      "num": 306,
      "name": "zorder_numeric_columns",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/306_zorder_numeric_columns.py",
      "read_script": "generator/df-reads-spark-iceberg/306_zorder_numeric_columns.sql",
      "description": "Z-ORDER on numeric columns (INT, BIGINT, DOUBLE, DECIMAL)",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "delta:liquid-clustering",
        "delta:z-order",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3070_cdc_many_versions_50",
      "num": 3070,
      "name": "cdc_many_versions_50",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3070_cdc_many_versions_50.py",
      "read_script": "generator/df-reads-spark-iceberg/3070_cdc_many_versions_50.sql",
      "description": "CDC table with many versions. 10 separate INSERT batches of 10 rows each, batch column tracks which version each row came from. CDF has 100 insert records across 10 version batches.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3071_cdc_dv_delete_cdf_correct",
      "num": 3071,
      "name": "cdc_dv_delete_cdf_correct",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3071_cdc_dv_delete_cdf_correct.py",
      "read_script": "generator/df-reads-spark-iceberg/3071_cdc_dv_delete_cdf_correct.sql",
      "description": "Deletion Vectors + CDC. INSERT 60 rows, DELETE ids 1-20 (via DV). CDF must correctly record the 20 deletions. Deletion vectors mark rows as deleted without rewriting data files. Final: 40 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3072_cdc_map_column_update",
      "num": 3072,
      "name": "cdc_map_column_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3072_cdc_map_column_update.py",
      "read_script": "generator/df-reads-spark-iceberg/3072_cdc_map_column_update.sql",
      "description": "CDC table simulating key-value update patterns with label+score+extra columns. UPDATE first 10 rows changing score and extra. CDF captures pre/post images with old and new values for all modified columns.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3073_cdc_gencol_cdf_computed",
      "num": 3073,
      "name": "cdc_gencol_cdf_computed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3073_cdc_gencol_cdf_computed.py",
      "read_script": "generator/df-reads-spark-iceberg/3073_cdc_gencol_cdf_computed.sql",
      "description": "CDC table with a GENERATED ALWAYS AS computed column (total = price * qty). UPDATE first 15 rows to increment price by 100. CDF post-images must have recomputed total = (price+100)*qty. Verifies generated columns in CDF records.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3074_evolve_drop_col_then_merge",
      "num": 3074,
      "name": "evolve_drop_col_then_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3074_evolve_drop_col_then_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/3074_evolve_drop_col_then_merge.sql",
      "description": "DROP a column then run MERGE; verify absent column and merge correctness",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "schema:add-column",
        "schema:drop-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3075_evolve_rename_col_then_merge",
      "num": 3075,
      "name": "evolve_rename_col_then_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3075_evolve_rename_col_then_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/3075_evolve_rename_col_then_merge.sql",
      "description": "RENAME a column then run MERGE; verify renamed column and merge correctness",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "schema:add-column",
        "schema:rename-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3076_evolve_add_three_cols_sequential",
      "num": 3076,
      "name": "evolve_add_three_cols_sequential",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3076_evolve_add_three_cols_sequential.py",
      "read_script": "generator/df-reads-spark-iceberg/3076_evolve_add_three_cols_sequential.sql",
      "description": "ADD three columns one at a time; verify NULL backfill patterns per batch",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3077_evolve_drop_add_same_name",
      "num": 3077,
      "name": "evolve_drop_add_same_name",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3077_evolve_drop_add_same_name.py",
      "read_script": "generator/df-reads-spark-iceberg/3077_evolve_drop_add_same_name.sql",
      "description": "DROP column x then ADD COLUMN x with different type (INT -> STRING)",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "schema:drop-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3078_evolve_add_col_with_cdc_colmap",
      "num": 3078,
      "name": "evolve_add_col_with_cdc_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3078_evolve_add_col_with_cdc_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/3078_evolve_add_col_with_cdc_colmap.sql",
      "description": "ADD COLUMN with CDC + colmap enabled; verify CDF sees new column",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3079_evolve_add_not_null_col_default",
      "num": 3079,
      "name": "evolve_add_not_null_col_default",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3079_evolve_add_not_null_col_default.py",
      "read_script": "generator/df-reads-spark-iceberg/3079_evolve_add_not_null_col_default.sql",
      "description": "ADD COLUMN with DEFAULT value after existing rows; verify NULL vs default behaviour",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/307_zorder_string_columns",
      "num": 307,
      "name": "zorder_string_columns",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/307_zorder_string_columns.py",
      "read_script": "generator/df-reads-spark-iceberg/307_zorder_string_columns.sql",
      "description": "Z-ORDER on STRING columns with varying cardinality",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "delta:change-data-feed",
        "delta:liquid-clustering",
        "delta:z-order",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3080_evolve_add_struct_column",
      "num": 3080,
      "name": "evolve_add_struct_column",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3080_evolve_add_struct_column.py",
      "read_script": "generator/df-reads-spark-iceberg/3080_evolve_add_struct_column.sql",
      "description": "ADD two detail columns simulating struct field expansion; verify NULL backfill",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3081_evolve_add_array_column",
      "num": 3081,
      "name": "evolve_add_array_column",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3081_evolve_add_array_column.py",
      "read_script": "generator/df-reads-spark-iceberg/3081_evolve_add_array_column.sql",
      "description": "ADD a STRING column (simulating array/list) after existing rows; verify NULL backfill",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3082_evolve_add_map_column",
      "num": 3082,
      "name": "evolve_add_map_column",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3082_evolve_add_map_column.py",
      "read_script": "generator/df-reads-spark-iceberg/3082_evolve_add_map_column.sql",
      "description": "ADD a STRING column (simulating map/kv) after existing rows; verify NULL backfill",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3083_evolve_multiple_renames",
      "num": 3083,
      "name": "evolve_multiple_renames",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3083_evolve_multiple_renames.py",
      "read_script": "generator/df-reads-spark-iceberg/3083_evolve_multiple_renames.sql",
      "description": "RENAME the same column twice (col_a -> col_b -> col_c); verify final name",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "schema:add-column",
        "schema:rename-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3084_evolve_widen_then_add_col",
      "num": 3084,
      "name": "evolve_widen_then_add_col",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3084_evolve_widen_then_add_col.py",
      "read_script": "generator/df-reads-spark-iceberg/3084_evolve_widen_then_add_col.sql",
      "description": "Widen INT column to BIGINT via type widening, then ADD COLUMN label STRING",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3085_evolve_colmap_rename_then_query",
      "num": 3085,
      "name": "evolve_colmap_rename_then_query",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3085_evolve_colmap_rename_then_query.py",
      "read_script": "generator/df-reads-spark-iceberg/3085_evolve_colmap_rename_then_query.sql",
      "description": "RENAME column with colmap=name; verify logical name propagation in reads",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "schema:add-column",
        "schema:rename-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3086_evolve_constraint_after_add_col",
      "num": 3086,
      "name": "evolve_constraint_after_add_col",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3086_evolve_constraint_after_add_col.py",
      "read_script": "generator/df-reads-spark-iceberg/3086_evolve_constraint_after_add_col.sql",
      "description": "ADD COLUMN then ADD CONSTRAINT CHECK on that column; verify constraint in log",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3087_evolve_identity_add_col",
      "num": 3087,
      "name": "evolve_identity_add_col",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3087_evolve_identity_add_col.py",
      "read_script": "generator/df-reads-spark-iceberg/3087_evolve_identity_add_col.sql",
      "description": "IDENTITY column auto-increments; ADD COLUMN score after existing rows",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3088_evolve_five_operations_sequence",
      "num": 3088,
      "name": "evolve_five_operations_sequence",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3088_evolve_five_operations_sequence.py",
      "read_script": "generator/df-reads-spark-iceberg/3088_evolve_five_operations_sequence.sql",
      "description": "60 rows",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "schema:drop-column",
        "schema:rename-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3089_partition_null_key_merge",
      "num": 3089,
      "name": "partition_null_key_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3089_partition_null_key_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/3089_partition_null_key_merge.sql",
      "description": "Partitioned table with NULL partition key values.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/308_zorder_datetime_columns",
      "num": 308,
      "name": "zorder_datetime_columns",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/308_zorder_datetime_columns.py",
      "read_script": "generator/df-reads-spark-iceberg/308_zorder_datetime_columns.sql",
      "description": "Z-ORDER on DATE and TIMESTAMP columns",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "delta:liquid-clustering",
        "delta:z-order",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3090_partition_high_cardinality_50",
      "num": 3090,
      "name": "partition_high_cardinality_50",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3090_partition_high_cardinality_50.py",
      "read_script": "generator/df-reads-spark-iceberg/3090_partition_high_cardinality_50.sql",
      "description": "High-cardinality partitioned table with 50 distinct",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3091_partition_special_chars_key",
      "num": 3091,
      "name": "partition_special_chars_key",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3091_partition_special_chars_key.py",
      "read_script": "generator/df-reads-spark-iceberg/3091_partition_special_chars_key.sql",
      "description": "Partitioned table with special characters in the",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "iceberg:partition-spec",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3092_partition_boolean_key",
      "num": 3092,
      "name": "partition_boolean_key",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3092_partition_boolean_key.py",
      "read_script": "generator/df-reads-spark-iceberg/3092_partition_boolean_key.sql",
      "description": "BOOLEAN partition key. Delta encodes boolean partitions",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3093_partition_date_key_daily",
      "num": 3093,
      "name": "partition_date_key_daily",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3093_partition_date_key_daily.py",
      "read_script": "generator/df-reads-spark-iceberg/3093_partition_date_key_daily.sql",
      "description": "Date-string partition key with daily granularity.",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3094_partition_timestamp_key",
      "num": 3094,
      "name": "partition_timestamp_key",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3094_partition_timestamp_key.py",
      "read_script": "generator/df-reads-spark-iceberg/3094_partition_timestamp_key.sql",
      "description": "Timestamp-string partition key (hourly granularity).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3095_partition_optimize_per_partition",
      "num": 3095,
      "name": "partition_optimize_per_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3095_partition_optimize_per_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/3095_partition_optimize_per_partition.sql",
      "description": "OPTIMIZE on a partitioned table with multiple small files",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3096_partition_vacuum_selective",
      "num": 3096,
      "name": "partition_vacuum_selective",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3096_partition_vacuum_selective.py",
      "read_script": "generator/df-reads-spark-iceberg/3096_partition_vacuum_selective.sql",
      "description": "VACUUM after selective DELETE removes a partition's",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3097_partition_cdc_per_partition_cdf",
      "num": 3097,
      "name": "partition_cdc_per_partition_cdf",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3097_partition_cdc_per_partition_cdf.py",
      "read_script": "generator/df-reads-spark-iceberg/3097_partition_cdc_per_partition_cdf.sql",
      "description": "CDC (Change Data Feed) on a partitioned table.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3098_partition_identity_per_partition",
      "num": 3098,
      "name": "partition_identity_per_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3098_partition_identity_per_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/3098_partition_identity_per_partition.sql",
      "description": "IDENTITY column on a partitioned table. Three separate",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3099_partition_colmap_directory_names",
      "num": 3099,
      "name": "partition_colmap_directory_names",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3099_partition_colmap_directory_names.py",
      "read_script": "generator/df-reads-spark-iceberg/3099_partition_colmap_directory_names.sql",
      "description": "Column mapping (name mode) combined with partitioning.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/309_zorder_partitioned_table",
      "num": 309,
      "name": "zorder_partitioned_table",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/309_zorder_partitioned_table.py",
      "read_script": "generator/df-reads-spark-iceberg/309_zorder_partitioned_table.sql",
      "description": "Z-ORDER within partitions",
      "status": "pass",
      "duration_ms": 55,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 55,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "delta:liquid-clustering",
        "delta:partitioning",
        "delta:z-order",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/30_column_mapping_name_mode_logical",
      "num": 30,
      "name": "column_mapping_name_mode_logical",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/30_column_mapping_name_mode_logical.py",
      "read_script": "generator/df-reads-spark-iceberg/30_column_mapping_name_mode_logical.sql",
      "description": "Demonstrates column mapping with name mode (logical names). In name mode, columns are referenced by name. Allows special characters and case sensitivity in column names.",
      "status": "pass",
      "duration_ms": 127,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:47:18.737752+00:00",
      "read_cold_ms": 127,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "dml:overwrite",
        "delta:column-mapping",
        "delta:constraints",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3100_partition_constraint_per_partition",
      "num": 3100,
      "name": "partition_constraint_per_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3100_partition_constraint_per_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/3100_partition_constraint_per_partition.sql",
      "description": "CHECK constraint on a partitioned table.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3101_partition_evolve_add_col",
      "num": 3101,
      "name": "partition_evolve_add_col",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3101_partition_evolve_add_col.py",
      "read_script": "generator/df-reads-spark-iceberg/3101_partition_evolve_add_col.sql",
      "description": "Schema evolution (ADD COLUMN) on a partitioned table.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3102_partition_zorder_within_partition",
      "num": 3102,
      "name": "partition_zorder_within_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3102_partition_zorder_within_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/3102_partition_zorder_within_partition.sql",
      "description": "OPTIMIZE on a partitioned table with many rows per",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3103_partition_restore_version_boundary",
      "num": 3103,
      "name": "partition_restore_version_boundary",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3103_partition_restore_version_boundary.py",
      "read_script": "generator/df-reads-spark-iceberg/3103_partition_restore_version_boundary.sql",
      "description": "RESTORE TO VERSION on a partitioned table.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3104_stats_after_merge_three_clause",
      "num": 3104,
      "name": "stats_after_merge_three_clause",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3104_stats_after_merge_three_clause.py",
      "read_script": "generator/df-reads-spark-iceberg/3104_stats_after_merge_three_clause.sql",
      "description": "Delta file statistics are correct after a three-clause",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3105_stats_after_schema_evolve_add",
      "num": 3105,
      "name": "stats_after_schema_evolve_add",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3105_stats_after_schema_evolve_add.py",
      "read_script": "generator/df-reads-spark-iceberg/3105_stats_after_schema_evolve_add.sql",
      "description": "Delta file statistics are correct after schema evolution",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3106_stats_string_truncation_long",
      "num": 3106,
      "name": "stats_string_truncation_long",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3106_stats_string_truncation_long.py",
      "read_script": "generator/df-reads-spark-iceberg/3106_stats_string_truncation_long.sql",
      "description": "Delta stats truncation for long strings. Delta truncates",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "storage:statistics",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3107_stats_decimal_precision_38",
      "num": 3107,
      "name": "stats_decimal_precision_38",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3107_stats_decimal_precision_38.py",
      "read_script": "generator/df-reads-spark-iceberg/3107_stats_decimal_precision_38.sql",
      "description": "Delta statistics for DECIMAL(38,18) -- maximum precision.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3108_stats_null_heavy_column",
      "num": 3108,
      "name": "stats_null_heavy_column",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3108_stats_null_heavy_column.py",
      "read_script": "generator/df-reads-spark-iceberg/3108_stats_null_heavy_column.sql",
      "description": "Delta statistics for a column with many NULLs.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3109_stats_after_optimize",
      "num": 3109,
      "name": "stats_after_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3109_stats_after_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/3109_stats_after_optimize.sql",
      "description": "Delta file statistics are correct after OPTIMIZE.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/310_zorder_after_spark_optimize",
      "num": 310,
      "name": "zorder_after_spark_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/310_zorder_after_spark_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/310_zorder_after_spark_optimize.sql",
      "description": "DeltaForge Z-ORDER on already Spark-optimized table",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "delta:liquid-clustering",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3110_pushdown_int_range_with_dv",
      "num": 3110,
      "name": "pushdown_int_range_with_dv",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3110_pushdown_int_range_with_dv.py",
      "read_script": "generator/df-reads-spark-iceberg/3110_pushdown_int_range_with_dv.sql",
      "description": "Integer range pushdown with Deletion Vectors.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3111_pushdown_string_prefix",
      "num": 3111,
      "name": "pushdown_string_prefix",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3111_pushdown_string_prefix.py",
      "read_script": "generator/df-reads-spark-iceberg/3111_pushdown_string_prefix.sql",
      "description": "String prefix distribution in Delta table.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3112_pushdown_timestamp_range",
      "num": 3112,
      "name": "pushdown_timestamp_range",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3112_pushdown_timestamp_range.py",
      "read_script": "generator/df-reads-spark-iceberg/3112_pushdown_timestamp_range.sql",
      "description": "Timestamp-like string range pushdown.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3113_pushdown_decimal_range",
      "num": 3113,
      "name": "pushdown_decimal_range",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3113_pushdown_decimal_range.py",
      "read_script": "generator/df-reads-spark-iceberg/3113_pushdown_decimal_range.sql",
      "description": "DECIMAL range pushdown. Delta statistics track",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3114_pushdown_null_is_null",
      "num": 3114,
      "name": "pushdown_null_is_null",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3114_pushdown_null_is_null.py",
      "read_script": "generator/df-reads-spark-iceberg/3114_pushdown_null_is_null.sql",
      "description": "IS NULL / IS NOT NULL pushdown with Delta statistics.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3115_pushdown_partition_plus_stats_combo",
      "num": 3115,
      "name": "pushdown_partition_plus_stats_combo",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3115_pushdown_partition_plus_stats_combo.py",
      "read_script": "generator/df-reads-spark-iceberg/3115_pushdown_partition_plus_stats_combo.sql",
      "description": "Combined partition pruning + file-level stats pushdown.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3116_identity_merge_hwm_correctness",
      "num": 3116,
      "name": "identity_merge_hwm_correctness",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3116_identity_merge_hwm_correctness.py",
      "read_script": "generator/df-reads-spark-iceberg/3116_identity_merge_hwm_correctness.sql",
      "description": "MERGE inserts rows into a table with GENERATED BY DEFAULT AS IDENTITY. Source names do not match target ('merge_j' vs 'row_i'), so all 30 source rows are inserted via NOT MATCHED. Identity HWM must continue from 50 to reach 80.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3117_identity_delete_all_reinsert_hwm",
      "num": 3117,
      "name": "identity_delete_all_reinsert_hwm",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3117_identity_delete_all_reinsert_hwm.py",
      "read_script": "generator/df-reads-spark-iceberg/3117_identity_delete_all_reinsert_hwm.sql",
      "description": "DELETE all rows then re-INSERT to verify the identity HWM is preserved across a full delete. New inserts must get ids 51-100, not restart from 1.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3118_identity_by_default_explicit_values",
      "num": 3118,
      "name": "identity_by_default_explicit_values",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3118_identity_by_default_explicit_values.py",
      "read_script": "generator/df-reads-spark-iceberg/3118_identity_by_default_explicit_values.sql",
      "description": "GENERATED BY DEFAULT AS IDENTITY allows explicit id values. This test inserts auto-generated ids (1-20), then 10 explicit large ids (100,200,...,1000), then more auto-generated ids that continue past the HWM.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3119_identity_cdc_hwm_tracking",
      "num": 3119,
      "name": "identity_cdc_hwm_tracking",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3119_identity_cdc_hwm_tracking.py",
      "read_script": "generator/df-reads-spark-iceberg/3119_identity_cdc_hwm_tracking.sql",
      "description": "Identity column with CDC enabled. INSERT 30, DELETE 10, INSERT 20 more. Verifies that CDF captures all operations and new inserts continue from HWM.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/311_zorder_with_deletion_vectors",
      "num": 311,
      "name": "zorder_with_deletion_vectors",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/311_zorder_with_deletion_vectors.py",
      "read_script": "generator/df-reads-spark-iceberg/311_zorder_with_deletion_vectors.sql",
      "description": "Z-ORDER on table with deletion vectors",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "delta:liquid-clustering",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3120_identity_colmap_physical_name",
      "num": 3120,
      "name": "identity_colmap_physical_name",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3120_identity_colmap_physical_name.py",
      "read_script": "generator/df-reads-spark-iceberg/3120_identity_colmap_physical_name.sql",
      "description": "Identity column combined with column mapping (mode=name). Logical names must be readable through Spark even though Delta uses physical names internally.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3121_identity_partition_global_unique",
      "num": 3121,
      "name": "identity_partition_global_unique",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3121_identity_partition_global_unique.py",
      "read_script": "generator/df-reads-spark-iceberg/3121_identity_partition_global_unique.sql",
      "description": "Identity column on a partitioned table. Three separate INSERT operations each insert into a different partition. Identity must assign globally unique ids across all partitions (not per-partition sequences).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3122_identity_optimize_hwm_stable",
      "num": 3122,
      "name": "identity_optimize_hwm_stable",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3122_identity_optimize_hwm_stable.py",
      "read_script": "generator/df-reads-spark-iceberg/3122_identity_optimize_hwm_stable.sql",
      "description": "OPTIMIZE between two identity inserts. HWM must survive the compaction and the second batch must receive ids 51-100 (not restart from 1).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3123_default_merge_not_matched",
      "num": 3123,
      "name": "default_merge_not_matched",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3123_default_merge_not_matched.py",
      "read_script": "generator/df-reads-spark-iceberg/3123_default_merge_not_matched.sql",
      "description": "MERGE NOT MATCHED inserts rows omitting the DEFAULT column (status). Pre-existing rows have status='active'; merged rows should receive 'pending' (default).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3124_default_evolve_change_default",
      "num": 3124,
      "name": "default_evolve_change_default",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3124_default_evolve_change_default.py",
      "read_script": "generator/df-reads-spark-iceberg/3124_default_evolve_change_default.sql",
      "description": "ALTER TABLE ... ALTER COLUMN ... SET DEFAULT changes the default mid-stream. First 30 rows get priority=0 (old default); last 20 rows get priority=99 (new default).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3125_default_cdc_pre_post_image",
      "num": 3125,
      "name": "default_cdc_pre_post_image",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3125_default_cdc_pre_post_image.py",
      "read_script": "generator/df-reads-spark-iceberg/3125_default_cdc_pre_post_image.sql",
      "description": "CDC captures pre/post images for rows with DEFAULT columns. INSERT omits status (gets default 'new'), then UPDATE changes it to 'processed'. CDF must contain pre-images with 'new' and post-images with 'processed'.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3126_default_null_vs_default",
      "num": 3126,
      "name": "default_null_vs_default",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3126_default_null_vs_default.py",
      "read_script": "generator/df-reads-spark-iceberg/3126_default_null_vs_default.sql",
      "description": "Distinguishes explicit NULL from omitted column (DEFAULT). id=1 has x=NULL (explicitly inserted); ids 2-10 omit x and get x=42 (DEFAULT).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3127_default_expression_current",
      "num": 3127,
      "name": "default_expression_current",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3127_default_expression_current.py",
      "read_script": "generator/df-reads-spark-iceberg/3127_default_expression_current.sql",
      "description": "Numeric DEFAULT 0 vs explicit total. First 30 rows provide total=price*qty; last 20 rows omit total and get DEFAULT 0.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3128_gencol_update_base_recompute",
      "num": 3128,
      "name": "gencol_update_base_recompute",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3128_gencol_update_base_recompute.py",
      "read_script": "generator/df-reads-spark-iceberg/3128_gencol_update_base_recompute.sql",
      "description": "UPDATE a base column. The generated column (sum_ab = a + b) must auto-recompute for all updated rows. Requires minWriterVersion=4.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3129_gencol_cdc_computed_in_cdf",
      "num": 3129,
      "name": "gencol_cdc_computed_in_cdf",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3129_gencol_cdc_computed_in_cdf.py",
      "read_script": "generator/df-reads-spark-iceberg/3129_gencol_cdc_computed_in_cdf.sql",
      "description": "CDC with a generated column (total = price * qty). UPDATE changes price for ids 1-15. CDF post-images must contain the recomputed total. Requires minWriterVersion=4.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/312_zorder_high_cardinality",
      "num": 312,
      "name": "zorder_high_cardinality",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/312_zorder_high_cardinality.py",
      "read_script": "generator/df-reads-spark-iceberg/312_zorder_high_cardinality.sql",
      "description": "Z-ORDER on high cardinality columns",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "delta:change-data-feed",
        "delta:liquid-clustering",
        "delta:z-order",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3130_gencol_partition_by_gencol",
      "num": 3130,
      "name": "gencol_partition_by_gencol",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3130_gencol_partition_by_gencol.py",
      "read_script": "generator/df-reads-spark-iceberg/3130_gencol_partition_by_gencol.sql",
      "description": "Generated column on a partitioned table (partitioned by a regular column, not the generated column itself). The doubled column (price * 2) must be correct for all rows across all partitions. Requires minWriterVersion=4.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:generated-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3131_gencol_identity_plus_gencol",
      "num": 3131,
      "name": "gencol_identity_plus_gencol",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3131_gencol_identity_plus_gencol.py",
      "read_script": "generator/df-reads-spark-iceberg/3131_gencol_identity_plus_gencol.sql",
      "description": "Table combines GENERATED BY DEFAULT AS IDENTITY with a GENERATED ALWAYS AS column. Requires minWriterVersion=4 for the generated expression column.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3132_gencol_three_gen_cols",
      "num": 3132,
      "name": "gencol_three_gen_cols",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3132_gencol_three_gen_cols.py",
      "read_script": "generator/df-reads-spark-iceberg/3132_gencol_three_gen_cols.sql",
      "description": "Table with three independent generated columns (gen1=a+b, gen2=b*c, gen3=a+c). All three must be computed correctly for every row. Requires minWriterVersion=4.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3133_gencol_string_concat_gen",
      "num": 3133,
      "name": "gencol_string_concat_gen",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3133_gencol_string_concat_gen.py",
      "read_script": "generator/df-reads-spark-iceberg/3133_gencol_string_concat_gen.sql",
      "description": "Generated column using string CONCAT (full_name = CONCAT(first_name, ' ', last_name)). Requires minWriterVersion=4.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3134_zorder_after_merge",
      "num": 3134,
      "name": "zorder_after_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3134_zorder_after_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/3134_zorder_after_merge.sql",
      "description": "OPTIMIZE after MERGE. 100 initial rows, merge inserts 50",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3135_zorder_cdc_table",
      "num": 3135,
      "name": "zorder_cdc_table",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3135_zorder_cdc_table.py",
      "read_script": "generator/df-reads-spark-iceberg/3135_zorder_cdc_table.sql",
      "description": "OPTIMIZE on a CDC-enabled table after UPDATE.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3136_zorder_colmap_table",
      "num": 3136,
      "name": "zorder_colmap_table",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3136_zorder_colmap_table.py",
      "read_script": "generator/df-reads-spark-iceberg/3136_zorder_colmap_table.sql",
      "description": "OPTIMIZE on a column-mapping-enabled table.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3137_zorder_multi_column_three",
      "num": 3137,
      "name": "zorder_multi_column_three",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3137_zorder_multi_column_three.py",
      "read_script": "generator/df-reads-spark-iceberg/3137_zorder_multi_column_three.sql",
      "description": "OPTIMIZE on a table with three Z-order candidate columns.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3138_zorder_timestamp_column",
      "num": 3138,
      "name": "zorder_timestamp_column",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3138_zorder_timestamp_column.py",
      "read_script": "generator/df-reads-spark-iceberg/3138_zorder_timestamp_column.sql",
      "description": "OPTIMIZE on a table containing timestamp-string data.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3139_zorder_decimal_column",
      "num": 3139,
      "name": "zorder_decimal_column",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3139_zorder_decimal_column.py",
      "read_script": "generator/df-reads-spark-iceberg/3139_zorder_decimal_column.sql",
      "description": "OPTIMIZE on a table with DECIMAL(18,4) column.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/313_zorder_mixed_types",
      "num": 313,
      "name": "zorder_mixed_types",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/313_zorder_mixed_types.py",
      "read_script": "generator/df-reads-spark-iceberg/313_zorder_mixed_types.sql",
      "description": "Z-ORDER on mixed column types (INT + STRING + DATE)",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "delta:liquid-clustering",
        "delta:z-order",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3140_zorder_after_schema_evolve",
      "num": 3140,
      "name": "zorder_after_schema_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3140_zorder_after_schema_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/3140_zorder_after_schema_evolve.sql",
      "description": "OPTIMIZE after schema evolution (ADD COLUMN).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3141_zorder_restore_after_zorder",
      "num": 3141,
      "name": "zorder_restore_after_zorder",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3141_zorder_restore_after_zorder.py",
      "read_script": "generator/df-reads-spark-iceberg/3141_zorder_restore_after_zorder.sql",
      "description": "RESTORE TO VERSION 1 (pre-optimize) after OPTIMIZE.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:time-travel",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3142_zorder_partitioned_multi_key",
      "num": 3142,
      "name": "zorder_partitioned_multi_key",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3142_zorder_partitioned_multi_key.py",
      "read_script": "generator/df-reads-spark-iceberg/3142_zorder_partitioned_multi_key.sql",
      "description": "OPTIMIZE on a partitioned table with multi-column Z-order keys.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3143_zorder_identity_table",
      "num": 3143,
      "name": "zorder_identity_table",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3143_zorder_identity_table.py",
      "read_script": "generator/df-reads-spark-iceberg/3143_zorder_identity_table.sql",
      "description": "OPTIMIZE on a table with IDENTITY column.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:identity-columns",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3144_time_travel_merge_version",
      "num": 3144,
      "name": "time_travel_merge_version",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3144_time_travel_merge_version.py",
      "read_script": "generator/df-reads-spark-iceberg/3144_time_travel_merge_version.sql",
      "description": "Time-travel version history after MERGE.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3145_time_travel_colmap_version",
      "num": 3145,
      "name": "time_travel_colmap_version",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3145_time_travel_colmap_version.py",
      "read_script": "generator/df-reads-spark-iceberg/3145_time_travel_colmap_version.sql",
      "description": "Time travel on a column-mapping-enabled table.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3146_time_travel_cdc_version_cdf",
      "num": 3146,
      "name": "time_travel_cdc_version_cdf",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3146_time_travel_cdc_version_cdf.py",
      "read_script": "generator/df-reads-spark-iceberg/3146_time_travel_cdc_version_cdf.sql",
      "description": "CDC change data feed across multiple DML versions.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3147_restore_cdc_table",
      "num": 3147,
      "name": "restore_cdc_table",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3147_restore_cdc_table.py",
      "read_script": "generator/df-reads-spark-iceberg/3147_restore_cdc_table.sql",
      "description": "RESTORE on a CDC-enabled table.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3148_restore_identity_hwm_revert",
      "num": 3148,
      "name": "restore_identity_hwm_revert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3148_restore_identity_hwm_revert.py",
      "read_script": "generator/df-reads-spark-iceberg/3148_restore_identity_hwm_revert.sql",
      "description": "RESTORE on a table with IDENTITY column. Tests HWM behavior.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3149_restore_colmap_table",
      "num": 3149,
      "name": "restore_colmap_table",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3149_restore_colmap_table.py",
      "read_script": "generator/df-reads-spark-iceberg/3149_restore_colmap_table.sql",
      "description": "RESTORE on a column-mapping-enabled table.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/314_zorder_preserve_stats",
      "num": 314,
      "name": "zorder_preserve_stats",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/314_zorder_preserve_stats.py",
      "read_script": "generator/df-reads-spark-iceberg/314_zorder_preserve_stats.sql",
      "description": "Z-ORDER preserves/updates statistics correctly",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "delta:liquid-clustering",
        "delta:z-order",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3150_restore_after_optimize",
      "num": 3150,
      "name": "restore_after_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3150_restore_after_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/3150_restore_after_optimize.sql",
      "description": "RESTORE to pre-optimize state after OPTIMIZE compacted files.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3151_restore_constraint_preserved",
      "num": 3151,
      "name": "restore_constraint_preserved",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3151_restore_constraint_preserved.py",
      "read_script": "generator/df-reads-spark-iceberg/3151_restore_constraint_preserved.sql",
      "description": "RESTORE to a version where a CHECK constraint was active.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3152_time_travel_widen_pre_post",
      "num": 3152,
      "name": "time_travel_widen_pre_post",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3152_time_travel_widen_pre_post.py",
      "read_script": "generator/df-reads-spark-iceberg/3152_time_travel_widen_pre_post.sql",
      "description": "Type widening INT -> BIGINT across versions.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3153_restore_gencol_table",
      "num": 3153,
      "name": "restore_gencol_table",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3153_restore_gencol_table.py",
      "read_script": "generator/df-reads-spark-iceberg/3153_restore_gencol_table.sql",
      "description": "RESTORE on a table with GENERATED ALWAYS AS column.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:generated-columns",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3154_edge_zero_byte_binary",
      "num": 3154,
      "name": "edge_zero_byte_binary",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3154_edge_zero_byte_binary.py",
      "read_script": "generator/df-reads-spark-iceberg/3154_edge_zero_byte_binary.sql",
      "description": "Empty strings distinct from NULL values in STRING column.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3155_edge_max_decimal_38_0",
      "num": 3155,
      "name": "edge_max_decimal_38_0",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3155_edge_max_decimal_38_0.py",
      "read_script": "generator/df-reads-spark-iceberg/3155_edge_max_decimal_38_0.sql",
      "description": "DECIMAL(38,0) with large integer-scale values.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3156_edge_deeply_nested_struct_3_levels",
      "num": 3156,
      "name": "edge_deeply_nested_struct_3_levels",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3156_edge_deeply_nested_struct_3_levels.py",
      "read_script": "generator/df-reads-spark-iceberg/3156_edge_deeply_nested_struct_3_levels.sql",
      "description": "Simulated 3-level struct depth using flat columns.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3157_edge_map_with_null_values",
      "num": 3157,
      "name": "edge_map_with_null_values",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3157_edge_map_with_null_values.py",
      "read_script": "generator/df-reads-spark-iceberg/3157_edge_map_with_null_values.sql",
      "description": "Simulated map-like key-value pairs with NULL values.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3158_edge_array_of_struct",
      "num": 3158,
      "name": "edge_array_of_struct",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3158_edge_array_of_struct.py",
      "read_script": "generator/df-reads-spark-iceberg/3158_edge_array_of_struct.sql",
      "description": "Flat columns simulating an array-of-struct pattern.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3159_edge_1000_rows_all_types",
      "num": 3159,
      "name": "edge_1000_rows_all_types",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3159_edge_1000_rows_all_types.py",
      "read_script": "generator/df-reads-spark-iceberg/3159_edge_1000_rows_all_types.sql",
      "description": "1000-row table covering 10 major data types.",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/315_zorder_coexist_spark_dbx",
      "num": 315,
      "name": "zorder_coexist_spark_dbx",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/315_zorder_coexist_spark_dbx.py",
      "read_script": "generator/df-reads-spark-iceberg/315_zorder_coexist_spark_dbx.sql",
      "description": "Spark Z-ORDER then DeltaForge OPTIMIZE coexistence",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "delta:liquid-clustering",
        "delta:optimize",
        "delta:z-order",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3160_edge_fifty_versions_dml",
      "num": 3160,
      "name": "edge_fifty_versions_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3160_edge_fifty_versions_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/3160_edge_fifty_versions_dml.sql",
      "description": "Many DML versions on the same table.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3161_identity_evolve_add_col",
      "num": 3161,
      "name": "identity_evolve_add_col",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3161_identity_evolve_add_col.py",
      "read_script": "generator/df-reads-spark-iceberg/3161_identity_evolve_add_col.sql",
      "description": "IDENTITY + schema evolution via ADD COLUMN.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3162_identity_dv_delete_resume",
      "num": 3162,
      "name": "identity_dv_delete_resume",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3162_identity_dv_delete_resume.py",
      "read_script": "generator/df-reads-spark-iceberg/3162_identity_dv_delete_resume.sql",
      "description": "IDENTITY + DV delete then resume inserts.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3163_identity_optimize_compact",
      "num": 3163,
      "name": "identity_optimize_compact",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3163_identity_optimize_compact.py",
      "read_script": "generator/df-reads-spark-iceberg/3163_identity_optimize_compact.sql",
      "description": "IDENTITY survives OPTIMIZE compaction.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:identity-columns",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3164_identity_vacuum_hwm",
      "num": 3164,
      "name": "identity_vacuum_hwm",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3164_identity_vacuum_hwm.py",
      "read_script": "generator/df-reads-spark-iceberg/3164_identity_vacuum_hwm.sql",
      "description": "VACUUM preserves IDENTITY high-water mark.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:identity-columns",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3165_identity_restore_rollback",
      "num": 3165,
      "name": "identity_restore_rollback",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3165_identity_restore_rollback.py",
      "read_script": "generator/df-reads-spark-iceberg/3165_identity_restore_rollback.sql",
      "description": "RESTORE + IDENTITY HWM preservation.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3166_identity_checkpoint_survive",
      "num": 3166,
      "name": "identity_checkpoint_survive",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3166_identity_checkpoint_survive.py",
      "read_script": "generator/df-reads-spark-iceberg/3166_identity_checkpoint_survive.sql",
      "description": "IDENTITY survives through checkpoint boundary.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3167_identity_time_travel_read",
      "num": 3167,
      "name": "identity_time_travel_read",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3167_identity_time_travel_read.py",
      "read_script": "generator/df-reads-spark-iceberg/3167_identity_time_travel_read.sql",
      "description": "Time travel on IDENTITY table.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:identity-columns",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3168_identity_colmap_name_mode",
      "num": 3168,
      "name": "identity_colmap_name_mode",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3168_identity_colmap_name_mode.py",
      "read_script": "generator/df-reads-spark-iceberg/3168_identity_colmap_name_mode.sql",
      "description": "IDENTITY + column mapping mode=name.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3169_identity_widen_int_to_long",
      "num": 3169,
      "name": "identity_widen_int_to_long",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3169_identity_widen_int_to_long.py",
      "read_script": "generator/df-reads-spark-iceberg/3169_identity_widen_int_to_long.sql",
      "description": "IDENTITY + type widening on adjacent column.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:identity-columns",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/316_zorder_single_column",
      "num": 316,
      "name": "zorder_single_column",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/316_zorder_single_column.py",
      "read_script": "generator/df-reads-spark-iceberg/316_zorder_single_column.sql",
      "description": "Z-ORDER on single column (edge case)",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "delta:liquid-clustering",
        "delta:z-order",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3170_identity_constraint_check",
      "num": 3170,
      "name": "identity_constraint_check",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3170_identity_constraint_check.py",
      "read_script": "generator/df-reads-spark-iceberg/3170_identity_constraint_check.sql",
      "description": "IDENTITY + CHECK constraint.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3171_identity_default_combo",
      "num": 3171,
      "name": "identity_default_combo",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3171_identity_default_combo.py",
      "read_script": "generator/df-reads-spark-iceberg/3171_identity_default_combo.sql",
      "description": "IDENTITY + DEFAULT value on another column.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3172_identity_ict_timestamps",
      "num": 3172,
      "name": "identity_ict_timestamps",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3172_identity_ict_timestamps.py",
      "read_script": "generator/df-reads-spark-iceberg/3172_identity_ict_timestamps.sql",
      "description": "IDENTITY + In-Commit Timestamps.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3173_identity_partition_distribute",
      "num": 3173,
      "name": "identity_partition_distribute",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3173_identity_partition_distribute.py",
      "read_script": "generator/df-reads-spark-iceberg/3173_identity_partition_distribute.sql",
      "description": "IDENTITY + partitioned table.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3174_colmap_dv_delete_read",
      "num": 3174,
      "name": "colmap_dv_delete_read",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3174_colmap_dv_delete_read.py",
      "read_script": "generator/df-reads-spark-iceberg/3174_colmap_dv_delete_read.sql",
      "description": "column mapping (name) + deletion vectors with DELETE.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3175_colmap_optimize_compact",
      "num": 3175,
      "name": "colmap_optimize_compact",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3175_colmap_optimize_compact.py",
      "read_script": "generator/df-reads-spark-iceberg/3175_colmap_optimize_compact.sql",
      "description": "column mapping (name) + OPTIMIZE compaction.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3176_colmap_vacuum_safe",
      "num": 3176,
      "name": "colmap_vacuum_safe",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3176_colmap_vacuum_safe.py",
      "read_script": "generator/df-reads-spark-iceberg/3176_colmap_vacuum_safe.sql",
      "description": "column mapping (name) + VACUUM after DELETE.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3177_colmap_restore_mapping",
      "num": 3177,
      "name": "colmap_restore_mapping",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3177_colmap_restore_mapping.py",
      "read_script": "generator/df-reads-spark-iceberg/3177_colmap_restore_mapping.sql",
      "description": "column mapping (name) + RESTORE TO VERSION.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3178_colmap_checkpoint_metadata",
      "num": 3178,
      "name": "colmap_checkpoint_metadata",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3178_colmap_checkpoint_metadata.py",
      "read_script": "generator/df-reads-spark-iceberg/3178_colmap_checkpoint_metadata.sql",
      "description": "column mapping (name) + checkpoint creation (12 commits).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3179_colmap_time_travel_names",
      "num": 3179,
      "name": "colmap_time_travel_names",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3179_colmap_time_travel_names.py",
      "read_script": "generator/df-reads-spark-iceberg/3179_colmap_time_travel_names.sql",
      "description": "column mapping (name) + time travel reads.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/317_zorder_many_columns",
      "num": 317,
      "name": "zorder_many_columns",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/317_zorder_many_columns.py",
      "read_script": "generator/df-reads-spark-iceberg/317_zorder_many_columns.sql",
      "description": "Z-ORDER on many columns (4+ columns)",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "delta:liquid-clustering",
        "delta:z-order",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3180_colmap_widen_preserve",
      "num": 3180,
      "name": "colmap_widen_preserve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3180_colmap_widen_preserve.py",
      "read_script": "generator/df-reads-spark-iceberg/3180_colmap_widen_preserve.sql",
      "description": "column mapping (name) + type widening (INT -> BIGINT).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3181_colmap_constraint_check",
      "num": 3181,
      "name": "colmap_constraint_check",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3181_colmap_constraint_check.py",
      "read_script": "generator/df-reads-spark-iceberg/3181_colmap_constraint_check.sql",
      "description": "column mapping (name) + CHECK constraint.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3182_colmap_default_values",
      "num": 3182,
      "name": "colmap_default_values",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3182_colmap_default_values.py",
      "read_script": "generator/df-reads-spark-iceberg/3182_colmap_default_values.sql",
      "description": "column mapping (name) + DEFAULT column values.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3183_colmap_ict_interop",
      "num": 3183,
      "name": "colmap_ict_interop",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3183_colmap_ict_interop.py",
      "read_script": "generator/df-reads-spark-iceberg/3183_colmap_ict_interop.sql",
      "description": "column mapping (name) + In-Commit Timestamps (ICT).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3184_colmap_partition_names",
      "num": 3184,
      "name": "colmap_partition_names",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3184_colmap_partition_names.py",
      "read_script": "generator/df-reads-spark-iceberg/3184_colmap_partition_names.sql",
      "description": "column mapping (name) + partitioned table.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3185_colmap_evolve_rename",
      "num": 3185,
      "name": "colmap_evolve_rename",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3185_colmap_evolve_rename.py",
      "read_script": "generator/df-reads-spark-iceberg/3185_colmap_evolve_rename.sql",
      "description": "column mapping (name) + schema evolution (ADD COLUMN).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3186_dv_checkpoint_survive",
      "num": 3186,
      "name": "dv_checkpoint_survive",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3186_dv_checkpoint_survive.py",
      "read_script": "generator/df-reads-spark-iceberg/3186_dv_checkpoint_survive.sql",
      "description": "DV + checkpoint survival. DELETE with DVs, then 10 single-row",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3187_dv_constraint_check_after_delete",
      "num": 3187,
      "name": "dv_constraint_check_after_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3187_dv_constraint_check_after_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/3187_dv_constraint_check_after_delete.sql",
      "description": "DV + CHECK constraint. Adds constraint then deletes rows,",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3188_dv_default_after_delete",
      "num": 3188,
      "name": "dv_default_after_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3188_dv_default_after_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/3188_dv_default_after_delete.sql",
      "description": "DV + DEFAULT column. INSERT with explicit status, DELETE some,",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:default-values",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3189_dv_evolve_add_col",
      "num": 3189,
      "name": "dv_evolve_add_col",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3189_dv_evolve_add_col.py",
      "read_script": "generator/df-reads-spark-iceberg/3189_dv_evolve_add_col.sql",
      "description": "DV + schema evolution (ADD COLUMN). DELETE with DVs, then",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/318_zorder_hilbert_curve",
      "num": 318,
      "name": "zorder_hilbert_curve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/318_zorder_hilbert_curve.py",
      "read_script": "generator/df-reads-spark-iceberg/318_zorder_hilbert_curve.sql",
      "description": "Hilbert curve vs Z-curve comparison",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "delta:liquid-clustering",
        "delta:z-order",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3190_dv_ict_interaction",
      "num": 3190,
      "name": "dv_ict_interaction",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3190_dv_ict_interaction.py",
      "read_script": "generator/df-reads-spark-iceberg/3190_dv_ict_interaction.sql",
      "description": "DV + ICT together. INSERT, DELETE with DVs, INSERT more.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3191_dv_optimize_compact",
      "num": 3191,
      "name": "dv_optimize_compact",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3191_dv_optimize_compact.py",
      "read_script": "generator/df-reads-spark-iceberg/3191_dv_optimize_compact.sql",
      "description": "DV + OPTIMIZE. DELETE with DVs then compact files.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3192_dv_partition_cross",
      "num": 3192,
      "name": "dv_partition_cross",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3192_dv_partition_cross.py",
      "read_script": "generator/df-reads-spark-iceberg/3192_dv_partition_cross.sql",
      "description": "DV + partitioning. DELETE only from specific partitions,",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3193_dv_restore_deleted_rows",
      "num": 3193,
      "name": "dv_restore_deleted_rows",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3193_dv_restore_deleted_rows.py",
      "read_script": "generator/df-reads-spark-iceberg/3193_dv_restore_deleted_rows.sql",
      "description": "DV + RESTORE. DELETE with DVs then RESTORE to undo.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3194_dv_time_travel_prior",
      "num": 3194,
      "name": "dv_time_travel_prior",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3194_dv_time_travel_prior.py",
      "read_script": "generator/df-reads-spark-iceberg/3194_dv_time_travel_prior.sql",
      "description": "DV + time travel. INSERT then DELETE, read prior version",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3195_dv_vacuum_cleanup",
      "num": 3195,
      "name": "dv_vacuum_cleanup",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3195_dv_vacuum_cleanup.py",
      "read_script": "generator/df-reads-spark-iceberg/3195_dv_vacuum_cleanup.sql",
      "description": "DV + VACUUM. DELETE, OPTIMIZE, then VACUUM to clean up.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3196_dv_widen_after_delete",
      "num": 3196,
      "name": "dv_widen_after_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3196_dv_widen_after_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/3196_dv_widen_after_delete.sql",
      "description": "DV + type widening. DELETE with DVs, widen INT->BIGINT,",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3197_ict_checkpoint_ordering",
      "num": 3197,
      "name": "ict_checkpoint_ordering",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3197_ict_checkpoint_ordering.py",
      "read_script": "generator/df-reads-spark-iceberg/3197_ict_checkpoint_ordering.sql",
      "description": "ICT + checkpoint. 12 single-row inserts to force checkpoint.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3198_ict_constraint_check",
      "num": 3198,
      "name": "ict_constraint_check",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3198_ict_constraint_check.py",
      "read_script": "generator/df-reads-spark-iceberg/3198_ict_constraint_check.sql",
      "description": "ICT + CHECK constraint. Verifies both features coexist.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3199_ict_default_values",
      "num": 3199,
      "name": "ict_default_values",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3199_ict_default_values.py",
      "read_script": "generator/df-reads-spark-iceberg/3199_ict_default_values.sql",
      "description": "ICT + DEFAULT column values. INSERT omitting default column.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/319_merge_comprehensive_basic",
      "num": 319,
      "name": "merge_comprehensive_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/319_merge_comprehensive_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/319_merge_comprehensive_basic.sql",
      "description": "Basic MERGE UPSERT (WHEN MATCHED UPDATE + WHEN NOT MATCHED INSERT)",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "dml:overwrite",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/31_dv_descriptor_schema_validation",
      "num": 31,
      "name": "dv_descriptor_schema_validation",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/31_dv_descriptor_schema_validation.py",
      "read_script": "generator/df-reads-spark-iceberg/31_dv_descriptor_schema_validation.sql",
      "description": "Demonstrates deletion vector descriptor schema validation. Schema (18 columns): post_id (string), user_id (string), content_type (string), platform (string), post_timestamp (string), content_length_chars (bigint), likes_count (bigint), shares_count (bigint), comments_count...",
      "status": "pass",
      "duration_ms": 26,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:47:18.737752+00:00",
      "read_cold_ms": 26,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3200_ict_evolve_schema",
      "num": 3200,
      "name": "ict_evolve_schema",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3200_ict_evolve_schema.py",
      "read_script": "generator/df-reads-spark-iceberg/3200_ict_evolve_schema.sql",
      "description": "ICT + schema evolution. INSERT, ADD COLUMN, INSERT more.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3201_ict_optimize_timestamps",
      "num": 3201,
      "name": "ict_optimize_timestamps",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3201_ict_optimize_timestamps.py",
      "read_script": "generator/df-reads-spark-iceberg/3201_ict_optimize_timestamps.sql",
      "description": "ICT + OPTIMIZE. Five batch INSERTs then OPTIMIZE compaction.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3202_ict_partition_ordering",
      "num": 3202,
      "name": "ict_partition_ordering",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3202_ict_partition_ordering.py",
      "read_script": "generator/df-reads-spark-iceberg/3202_ict_partition_ordering.sql",
      "description": "ICT + partitioning. INSERT 80 rows across 4 partitions.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3203_ict_restore_timestamps",
      "num": 3203,
      "name": "ict_restore_timestamps",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3203_ict_restore_timestamps.py",
      "read_script": "generator/df-reads-spark-iceberg/3203_ict_restore_timestamps.sql",
      "description": "ICT + RESTORE. INSERT 50, INSERT 50 more, RESTORE TO VERSION 1, INSERT 25.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3204_ict_time_travel_ts",
      "num": 3204,
      "name": "ict_time_travel_ts",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3204_ict_time_travel_ts.py",
      "read_script": "generator/df-reads-spark-iceberg/3204_ict_time_travel_ts.sql",
      "description": "ICT + time travel. INSERT 50, INSERT 50 more.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3205_ict_vacuum_safe",
      "num": 3205,
      "name": "ict_vacuum_safe",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3205_ict_vacuum_safe.py",
      "read_script": "generator/df-reads-spark-iceberg/3205_ict_vacuum_safe.sql",
      "description": "ICT + VACUUM. INSERT 50, DELETE WHERE id<=20, VACUUM.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3206_ict_widen_preserve",
      "num": 3206,
      "name": "ict_widen_preserve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3206_ict_widen_preserve.py",
      "read_script": "generator/df-reads-spark-iceberg/3206_ict_widen_preserve.sql",
      "description": "ICT + type widening (INT->BIGINT).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3207_widen_checkpoint_metadata",
      "num": 3207,
      "name": "widen_checkpoint_metadata",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3207_widen_checkpoint_metadata.py",
      "read_script": "generator/df-reads-spark-iceberg/3207_widen_checkpoint_metadata.sql",
      "description": "Type widening + checkpoint. INSERT 50, widen INT->BIGINT,",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3208_widen_constraint_coerce",
      "num": 3208,
      "name": "widen_constraint_coerce",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3208_widen_constraint_coerce.py",
      "read_script": "generator/df-reads-spark-iceberg/3208_widen_constraint_coerce.sql",
      "description": "Type widening + CHECK constraint.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3209_widen_default_type",
      "num": 3209,
      "name": "widen_default_type",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3209_widen_default_type.py",
      "read_script": "generator/df-reads-spark-iceberg/3209_widen_default_type.sql",
      "description": "Type widening + DEFAULT value.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:default-values",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/320_merge_matched_delete",
      "num": 320,
      "name": "merge_matched_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/320_merge_matched_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/320_merge_matched_delete.sql",
      "description": "MERGE WHEN MATCHED DELETE pattern",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3210_widen_evolve_add_then_widen",
      "num": 3210,
      "name": "widen_evolve_add_then_widen",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3210_widen_evolve_add_then_widen.py",
      "read_script": "generator/df-reads-spark-iceberg/3210_widen_evolve_add_then_widen.sql",
      "description": "Type widening + schema evolution (ADD COLUMN then widen).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3211_widen_optimize_post",
      "num": 3211,
      "name": "widen_optimize_post",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3211_widen_optimize_post.py",
      "read_script": "generator/df-reads-spark-iceberg/3211_widen_optimize_post.sql",
      "description": "Type widening + OPTIMIZE. Widen INT->BIGINT, 5x INSERT 10, OPTIMIZE.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:optimize",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3212_widen_partition_typed",
      "num": 3212,
      "name": "widen_partition_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3212_widen_partition_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/3212_widen_partition_typed.sql",
      "description": "Type widening + partitioning. INSERT 80 rows, widen INT->BIGINT.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3213_widen_restore_pre_widen",
      "num": 3213,
      "name": "widen_restore_pre_widen",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3213_widen_restore_pre_widen.py",
      "read_script": "generator/df-reads-spark-iceberg/3213_widen_restore_pre_widen.sql",
      "description": "Type widening + RESTORE to pre-widen state.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:time-travel",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3214_widen_time_travel_type",
      "num": 3214,
      "name": "widen_time_travel_type",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3214_widen_time_travel_type.py",
      "read_script": "generator/df-reads-spark-iceberg/3214_widen_time_travel_type.sql",
      "description": "Type widening + time travel.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:time-travel",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3215_widen_vacuum_metadata",
      "num": 3215,
      "name": "widen_vacuum_metadata",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3215_widen_vacuum_metadata.py",
      "read_script": "generator/df-reads-spark-iceberg/3215_widen_vacuum_metadata.sql",
      "description": "Type widening + VACUUM. Widen INT->BIGINT, DELETE, VACUUM.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:vacuum",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3216_checkpoint_evolve_schema",
      "num": 3216,
      "name": "checkpoint_evolve_schema",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3216_checkpoint_evolve_schema.py",
      "read_script": "generator/df-reads-spark-iceberg/3216_checkpoint_evolve_schema.sql",
      "description": "Checkpoint + schema evolution. CREATE with id/val, INSERT 50 rows,",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3217_checkpoint_partition_multi",
      "num": 3217,
      "name": "checkpoint_partition_multi",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3217_checkpoint_partition_multi.py",
      "read_script": "generator/df-reads-spark-iceberg/3217_checkpoint_partition_multi.sql",
      "description": "Checkpoint + partitioning. 12x INSERT 5 rows each across 4 partitions.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3218_checkpoint_merge_trigger",
      "num": 3218,
      "name": "checkpoint_merge_trigger",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3218_checkpoint_merge_trigger.py",
      "read_script": "generator/df-reads-spark-iceberg/3218_checkpoint_merge_trigger.sql",
      "description": "Checkpoint + MERGE. INSERT 50 rows, then 11x MERGE each adding 1 new row",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3219_checkpoint_vacuum_log",
      "num": 3219,
      "name": "checkpoint_vacuum_log",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3219_checkpoint_vacuum_log.py",
      "read_script": "generator/df-reads-spark-iceberg/3219_checkpoint_vacuum_log.sql",
      "description": "Checkpoint + VACUUM. 15x INSERT 5 rows each to trigger checkpoint, then VACUUM.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/321_merge_not_matched_source_delete",
      "num": 321,
      "name": "merge_not_matched_source_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/321_merge_not_matched_source_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/321_merge_not_matched_source_delete.sql",
      "description": "MERGE WHEN NOT MATCHED BY SOURCE DELETE pattern (full sync)",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3220_checkpoint_restore_pre",
      "num": 3220,
      "name": "checkpoint_restore_pre",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3220_checkpoint_restore_pre.py",
      "read_script": "generator/df-reads-spark-iceberg/3220_checkpoint_restore_pre.sql",
      "description": "Checkpoint + RESTORE. 15x INSERT 1 row each to trigger checkpoint, then RESTORE TO VERSION 5.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3221_restore_colmap_mapping",
      "num": 3221,
      "name": "restore_colmap_mapping",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3221_restore_colmap_mapping.py",
      "read_script": "generator/df-reads-spark-iceberg/3221_restore_colmap_mapping.sql",
      "description": "RESTORE + column mapping. INSERT 50, UPDATE first 20 names, RESTORE to version 1.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3222_restore_dv_undelete",
      "num": 3222,
      "name": "restore_dv_undelete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3222_restore_dv_undelete.py",
      "read_script": "generator/df-reads-spark-iceberg/3222_restore_dv_undelete.sql",
      "description": "RESTORE + deletion vectors. INSERT 50, DELETE first 20 (via DV), RESTORE to version 1.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3223_restore_evolve_rollback",
      "num": 3223,
      "name": "restore_evolve_rollback",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3223_restore_evolve_rollback.py",
      "read_script": "generator/df-reads-spark-iceberg/3223_restore_evolve_rollback.sql",
      "description": "RESTORE + schema evolution rollback. INSERT 50, ADD COLUMN tag, INSERT 50 more,",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3224_restore_partition_subset",
      "num": 3224,
      "name": "restore_partition_subset",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3224_restore_partition_subset.py",
      "read_script": "generator/df-reads-spark-iceberg/3224_restore_partition_subset.sql",
      "description": "RESTORE + partition. INSERT 80 rows across 4 partitions,",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3225_restore_widen_rollback",
      "num": 3225,
      "name": "restore_widen_rollback",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3225_restore_widen_rollback.py",
      "read_script": "generator/df-reads-spark-iceberg/3225_restore_widen_rollback.sql",
      "description": "RESTORE + type widening rollback. INSERT 50, ALTER val INT->BIGINT, RESTORE to version 1.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:time-travel",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3226_vacuum_colmap_safe",
      "num": 3226,
      "name": "vacuum_colmap_safe",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3226_vacuum_colmap_safe.py",
      "read_script": "generator/df-reads-spark-iceberg/3226_vacuum_colmap_safe.sql",
      "description": "VACUUM + column mapping. INSERT 50, DELETE first 20, VACUUM.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3227_vacuum_dv_resolved",
      "num": 3227,
      "name": "vacuum_dv_resolved",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3227_vacuum_dv_resolved.py",
      "read_script": "generator/df-reads-spark-iceberg/3227_vacuum_dv_resolved.sql",
      "description": "VACUUM + DV. INSERT 100, DELETE first 30 (via DV), OPTIMIZE, VACUUM.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3228_vacuum_evolve_schema",
      "num": 3228,
      "name": "vacuum_evolve_schema",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3228_vacuum_evolve_schema.py",
      "read_script": "generator/df-reads-spark-iceberg/3228_vacuum_evolve_schema.sql",
      "description": "VACUUM + schema evolution. INSERT 50, ADD COLUMN tag, INSERT 50 more, VACUUM.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:vacuum",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3229_vacuum_partition_selective",
      "num": 3229,
      "name": "vacuum_partition_selective",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3229_vacuum_partition_selective.py",
      "read_script": "generator/df-reads-spark-iceberg/3229_vacuum_partition_selective.sql",
      "description": "VACUUM + partition. INSERT 80 rows across 4 partitions, DELETE US partition, VACUUM.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/322_merge_not_matched_source_update",
      "num": 322,
      "name": "merge_not_matched_source_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/322_merge_not_matched_source_update.py",
      "read_script": "generator/df-reads-spark-iceberg/322_merge_not_matched_source_update.sql",
      "description": "MERGE WHEN NOT MATCHED BY SOURCE UPDATE pattern (soft delete)",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "dml:overwrite",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3230_vacuum_widen_metadata",
      "num": 3230,
      "name": "vacuum_widen_metadata",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3230_vacuum_widen_metadata.py",
      "read_script": "generator/df-reads-spark-iceberg/3230_vacuum_widen_metadata.sql",
      "description": "VACUUM + type widening. INSERT 50, widen val INT->BIGINT, DELETE first 20, VACUUM.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:vacuum",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3231_vacuum_identity_hwm",
      "num": 3231,
      "name": "vacuum_identity_hwm",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3231_vacuum_identity_hwm.py",
      "read_script": "generator/df-reads-spark-iceberg/3231_vacuum_identity_hwm.sql",
      "description": "VACUUM + IDENTITY. INSERT 50, DELETE first 40, VACUUM, INSERT 10 more.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:identity-columns",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3232_stats_colmap_pushdown",
      "num": 3232,
      "name": "stats_colmap_pushdown",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3232_stats_colmap_pushdown.py",
      "read_script": "generator/df-reads-spark-iceberg/3232_stats_colmap_pushdown.sql",
      "description": "Stats + column mapping. INSERT 1000 rows for stats collection with colmap=name.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3233_stats_dv_after_delete",
      "num": 3233,
      "name": "stats_dv_after_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3233_stats_dv_after_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/3233_stats_dv_after_delete.sql",
      "description": "Stats + DV after DELETE. INSERT 100, DELETE 20. Stats reflect visible rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3234_stats_evolve_new_col",
      "num": 3234,
      "name": "stats_evolve_new_col",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3234_stats_evolve_new_col.py",
      "read_script": "generator/df-reads-spark-iceberg/3234_stats_evolve_new_col.sql",
      "description": "Stats after schema evolution (ADD COLUMN). INSERT 50, ADD COLUMN, INSERT 50 more.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3235_stats_identity_minmax",
      "num": 3235,
      "name": "stats_identity_minmax",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3235_stats_identity_minmax.py",
      "read_script": "generator/df-reads-spark-iceberg/3235_stats_identity_minmax.sql",
      "description": "Stats min/max on IDENTITY column. INSERT 100 rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3236_stats_partition_per_file",
      "num": 3236,
      "name": "stats_partition_per_file",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3236_stats_partition_per_file.py",
      "read_script": "generator/df-reads-spark-iceberg/3236_stats_partition_per_file.sql",
      "description": "Stats per-partition file min/max. Partitioned by region.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3237_stats_widen_bounds",
      "num": 3237,
      "name": "stats_widen_bounds",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3237_stats_widen_bounds.py",
      "read_script": "generator/df-reads-spark-iceberg/3237_stats_widen_bounds.sql",
      "description": "Stats min/max after type widening INT->BIGINT.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3238_stats_constraint_minmax",
      "num": 3238,
      "name": "stats_constraint_minmax",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3238_stats_constraint_minmax.py",
      "read_script": "generator/df-reads-spark-iceberg/3238_stats_constraint_minmax.sql",
      "description": "Stats min/max with CHECK constraint on val range.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3239_zorder_cdc_preserve",
      "num": 3239,
      "name": "zorder_cdc_preserve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3239_zorder_cdc_preserve.py",
      "read_script": "generator/df-reads-spark-iceberg/3239_zorder_cdc_preserve.sql",
      "description": "ZORDER + CDC. INSERT 100, UPDATE 20, OPTIMIZE ZORDER. CDF readable.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/323_merge_all_clauses",
      "num": 323,
      "name": "merge_all_clauses",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/323_merge_all_clauses.py",
      "read_script": "generator/df-reads-spark-iceberg/323_merge_all_clauses.sql",
      "description": "MERGE with ALL clauses (MATCHED UPDATE + NOT MATCHED INSERT + NOT MATCHED BY SOURCE DELETE)",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3240_zorder_colmap_logical",
      "num": 3240,
      "name": "zorder_colmap_logical",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3240_zorder_colmap_logical.py",
      "read_script": "generator/df-reads-spark-iceberg/3240_zorder_colmap_logical.sql",
      "description": "ZORDER + column mapping (name mode). INSERT 100, OPTIMIZE ZORDER.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3241_zorder_identity_preserve",
      "num": 3241,
      "name": "zorder_identity_preserve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3241_zorder_identity_preserve.py",
      "read_script": "generator/df-reads-spark-iceberg/3241_zorder_identity_preserve.sql",
      "description": "ZORDER + IDENTITY. INSERT 100, OPTIMIZE ZORDER. IDs 1-100 present.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:identity-columns",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3242_zorder_constraint_valid",
      "num": 3242,
      "name": "zorder_constraint_valid",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3242_zorder_constraint_valid.py",
      "read_script": "generator/df-reads-spark-iceberg/3242_zorder_constraint_valid.sql",
      "description": "ZORDER + CHECK constraint. ADD CONSTRAINT, INSERT 100, OPTIMIZE ZORDER.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3243_zorder_widen_type",
      "num": 3243,
      "name": "zorder_widen_type",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3243_zorder_widen_type.py",
      "read_script": "generator/df-reads-spark-iceberg/3243_zorder_widen_type.sql",
      "description": "ZORDER + type widening INT->BIGINT. INSERT 100, widen, OPTIMIZE ZORDER.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3244_zorder_ict_interaction",
      "num": 3244,
      "name": "zorder_ict_interaction",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3244_zorder_ict_interaction.py",
      "read_script": "generator/df-reads-spark-iceberg/3244_zorder_ict_interaction.sql",
      "description": "ZORDER + ICT. INSERT 100, OPTIMIZE ZORDER. ICT in log.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3245_zorder_rowtrack_preserve",
      "num": 3245,
      "name": "zorder_rowtrack_preserve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3245_zorder_rowtrack_preserve.py",
      "read_script": "generator/df-reads-spark-iceberg/3245_zorder_rowtrack_preserve.sql",
      "description": "ZORDER + row tracking. INSERT 100, OPTIMIZE ZORDER. Row tracking domain metadata.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:row-tracking",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3246_zorder_default_col",
      "num": 3246,
      "name": "zorder_default_col",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3246_zorder_default_col.py",
      "read_script": "generator/df-reads-spark-iceberg/3246_zorder_default_col.sql",
      "description": "ZORDER + DEFAULT column value. INSERT 100, OPTIMIZE ZORDER.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3247_truncate_cdc_log",
      "num": 3247,
      "name": "truncate_cdc_log",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3247_truncate_cdc_log.py",
      "read_script": "generator/df-reads-spark-iceberg/3247_truncate_cdc_log.sql",
      "description": "TRUNCATE + CDC. INSERT 50, TRUNCATE, INSERT 30. CDF shows deletes.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:truncate",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3248_truncate_partition_all",
      "num": 3248,
      "name": "truncate_partition_all",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3248_truncate_partition_all.py",
      "read_script": "generator/df-reads-spark-iceberg/3248_truncate_partition_all.sql",
      "description": "TRUNCATE on partitioned table. INSERT 80, TRUNCATE, INSERT 40.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:truncate",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3249_truncate_colmap_reset",
      "num": 3249,
      "name": "truncate_colmap_reset",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3249_truncate_colmap_reset.py",
      "read_script": "generator/df-reads-spark-iceberg/3249_truncate_colmap_reset.sql",
      "description": "TRUNCATE + column mapping (name mode). INSERT 50, TRUNCATE, INSERT 30.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:truncate",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/324_merge_partitioned",
      "num": 324,
      "name": "merge_partitioned",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/324_merge_partitioned.py",
      "read_script": "generator/df-reads-spark-iceberg/324_merge_partitioned.sql",
      "description": "MERGE operations on partitioned tables with deletion vectors",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3250_truncate_identity_resume",
      "num": 3250,
      "name": "truncate_identity_resume",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3250_truncate_identity_resume.py",
      "read_script": "generator/df-reads-spark-iceberg/3250_truncate_identity_resume.sql",
      "description": "TRUNCATE + IDENTITY. INSERT 50, TRUNCATE, INSERT 30. IDs should resume >50.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "dml:truncate",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3251_truncate_dv_clear",
      "num": 3251,
      "name": "truncate_dv_clear",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3251_truncate_dv_clear.py",
      "read_script": "generator/df-reads-spark-iceberg/3251_truncate_dv_clear.sql",
      "description": "TRUNCATE clears DVs. INSERT 50, DELETE 20 (creates DVs), TRUNCATE, INSERT 30.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "dml:truncate",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3252_truncate_optimize_empty",
      "num": 3252,
      "name": "truncate_optimize_empty",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3252_truncate_optimize_empty.py",
      "read_script": "generator/df-reads-spark-iceberg/3252_truncate_optimize_empty.sql",
      "description": "TRUNCATE + OPTIMIZE. INSERT 50, TRUNCATE, 5x INSERT 10, OPTIMIZE.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:truncate",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3253_rowtrack_cdc_tracking",
      "num": 3253,
      "name": "rowtrack_cdc_tracking",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3253_rowtrack_cdc_tracking.py",
      "read_script": "generator/df-reads-spark-iceberg/3253_rowtrack_cdc_tracking.sql",
      "description": "Row tracking + CDC. INSERT 50, UPDATE 20, DELETE 10. Final: 20 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3254_rowtrack_dv_stable",
      "num": 3254,
      "name": "rowtrack_dv_stable",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3254_rowtrack_dv_stable.py",
      "read_script": "generator/df-reads-spark-iceberg/3254_rowtrack_dv_stable.sql",
      "description": "Row tracking + DV stability. INSERT 50, DELETE 20, INSERT 30. Final: 60 rows.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3255_rowtrack_optimize_persist",
      "num": 3255,
      "name": "rowtrack_optimize_persist",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3255_rowtrack_optimize_persist.py",
      "read_script": "generator/df-reads-spark-iceberg/3255_rowtrack_optimize_persist.sql",
      "description": "Row tracking persists through OPTIMIZE. 5x INSERT 20, OPTIMIZE. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3256_rowtrack_merge_tracking",
      "num": 3256,
      "name": "rowtrack_merge_tracking",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3256_rowtrack_merge_tracking.py",
      "read_script": "generator/df-reads-spark-iceberg/3256_rowtrack_merge_tracking.sql",
      "description": "Row tracking + MERGE. INSERT 50, MERGE update 20 + insert 30. Final: 80 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3257_rowtrack_evolve_schema",
      "num": 3257,
      "name": "rowtrack_evolve_schema",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3257_rowtrack_evolve_schema.py",
      "read_script": "generator/df-reads-spark-iceberg/3257_rowtrack_evolve_schema.sql",
      "description": "Row tracking + schema evolution. INSERT 50, ADD COLUMN, INSERT 50. Final: 100 rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:row-tracking",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3258_rowtrack_partition_dist",
      "num": 3258,
      "name": "rowtrack_partition_dist",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3258_rowtrack_partition_dist.py",
      "read_script": "generator/df-reads-spark-iceberg/3258_rowtrack_partition_dist.sql",
      "description": "Row tracking + partitioned table. INSERT 80 across 4 partitions. Final: 80 rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3259_colmap_dv_optimize_triple",
      "num": 3259,
      "name": "colmap_dv_optimize_triple",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3259_colmap_dv_optimize_triple.py",
      "read_script": "generator/df-reads-spark-iceberg/3259_colmap_dv_optimize_triple.sql",
      "description": "Triple: colmap + DV + OPTIMIZE. INSERT 100, DELETE 20, OPTIMIZE. Final: 80 rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/325_merge_with_dv",
      "num": 325,
      "name": "merge_with_dv",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/325_merge_with_dv.py",
      "read_script": "generator/df-reads-spark-iceberg/325_merge_with_dv.sql",
      "description": "MERGE operations with deletion vectors enabled",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3260_ict_dv_cdc_triple",
      "num": 3260,
      "name": "ict_dv_cdc_triple",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3260_ict_dv_cdc_triple.py",
      "read_script": "generator/df-reads-spark-iceberg/3260_ict_dv_cdc_triple.sql",
      "description": "Triple: ICT + DV + CDC. INSERT 50, DELETE 20, UPDATE 15. Final: 15 rows.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3261_merge_ten_versions_accum",
      "num": 3261,
      "name": "merge_ten_versions_accum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3261_merge_ten_versions_accum.py",
      "read_script": "generator/df-reads-spark-iceberg/3261_merge_ten_versions_accum.sql",
      "description": "10 consecutive MERGEs accumulating data with updates and inserts",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3262_update_delete_update_cycle",
      "num": 3262,
      "name": "update_delete_update_cycle",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3262_update_delete_update_cycle.py",
      "read_script": "generator/df-reads-spark-iceberg/3262_update_delete_update_cycle.sql",
      "description": "UPDATE then DELETE then UPDATE cycle",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3263_delete_all_reinsert_full",
      "num": 3263,
      "name": "delete_all_reinsert_full",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3263_delete_all_reinsert_full.py",
      "read_script": "generator/df-reads-spark-iceberg/3263_delete_all_reinsert_full.sql",
      "description": "DELETE all rows then re-INSERT fresh data",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3264_merge_self_join_dedup",
      "num": 3264,
      "name": "merge_self_join_dedup",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3264_merge_self_join_dedup.py",
      "read_script": "generator/df-reads-spark-iceberg/3264_merge_self_join_dedup.sql",
      "description": "MERGE for deduplication using self-join to keep latest version",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3265_insert_hundred_single_rows",
      "num": 3265,
      "name": "insert_hundred_single_rows",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3265_insert_hundred_single_rows.py",
      "read_script": "generator/df-reads-spark-iceberg/3265_insert_hundred_single_rows.sql",
      "description": "20 small batch INSERTs creating 100 rows total (multi-version table)",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3266_update_with_case_expr",
      "num": 3266,
      "name": "update_with_case_expr",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3266_update_with_case_expr.py",
      "read_script": "generator/df-reads-spark-iceberg/3266_update_with_case_expr.sql",
      "description": "UPDATE with CASE expression mapping categories to results",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3267_delete_predicate_compound",
      "num": 3267,
      "name": "delete_predicate_compound",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3267_delete_predicate_compound.py",
      "read_script": "generator/df-reads-spark-iceberg/3267_delete_predicate_compound.sql",
      "description": "DELETE with compound predicate (AND/OR)",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3268_merge_update_delete_insert_all",
      "num": 3268,
      "name": "merge_update_delete_insert_all",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3268_merge_update_delete_insert_all.py",
      "read_script": "generator/df-reads-spark-iceberg/3268_merge_update_delete_insert_all.sql",
      "description": "MERGE with all 3 clauses (UPDATE, DELETE, INSERT)",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3269_insert_overwrite_partition",
      "num": 3269,
      "name": "insert_overwrite_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3269_insert_overwrite_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/3269_insert_overwrite_partition.sql",
      "description": "INSERT OVERWRITE replacing a single partition",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/326_merge_identity",
      "num": 326,
      "name": "merge_identity",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/326_merge_identity.py",
      "read_script": "generator/df-reads-spark-iceberg/326_merge_identity.sql",
      "description": "Tables with IDENTITY columns (auto-generated values)",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3270_update_all_columns",
      "num": 3270,
      "name": "update_all_columns",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3270_update_all_columns.py",
      "read_script": "generator/df-reads-spark-iceberg/3270_update_all_columns.sql",
      "description": "UPDATE every non-key column in one statement",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3271_delete_then_insert_same_ids",
      "num": 3271,
      "name": "delete_then_insert_same_ids",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3271_delete_then_insert_same_ids.py",
      "read_script": "generator/df-reads-spark-iceberg/3271_delete_then_insert_same_ids.sql",
      "description": "DELETE specific IDs then INSERT same IDs with new data",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3272_merge_cdc_five_rounds",
      "num": 3272,
      "name": "merge_cdc_five_rounds",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3272_merge_cdc_five_rounds.py",
      "read_script": "generator/df-reads-spark-iceberg/3272_merge_cdc_five_rounds.sql",
      "description": "5 rounds of MERGE on a CDC-enabled table",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3273_update_zero_rows_match",
      "num": 3273,
      "name": "update_zero_rows_match",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3273_update_zero_rows_match.py",
      "read_script": "generator/df-reads-spark-iceberg/3273_update_zero_rows_match.sql",
      "description": "UPDATE matching no rows leaves table unchanged",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3274_delete_all_then_vacuum",
      "num": 3274,
      "name": "delete_all_then_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3274_delete_all_then_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/3274_delete_all_then_vacuum.sql",
      "description": "DELETE all rows + VACUUM producing empty readable table",
      "status": "pass",
      "duration_ms": 2,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 2,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3275_merge_with_computed_source",
      "num": 3275,
      "name": "merge_with_computed_source",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3275_merge_with_computed_source.py",
      "read_script": "generator/df-reads-spark-iceberg/3275_merge_with_computed_source.sql",
      "description": "MERGE with computed source extending and updating table",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3276_insert_duplicate_key_append",
      "num": 3276,
      "name": "insert_duplicate_key_append",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3276_insert_duplicate_key_append.py",
      "read_script": "generator/df-reads-spark-iceberg/3276_insert_duplicate_key_append.sql",
      "description": "Multiple INSERTs with overlapping IDs (append mode)",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3277_update_partition_key",
      "num": 3277,
      "name": "update_partition_key",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3277_update_partition_key.py",
      "read_script": "generator/df-reads-spark-iceberg/3277_update_partition_key.sql",
      "description": "UPDATE partition key column",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3278_delete_reinsert_optimize",
      "num": 3278,
      "name": "delete_reinsert_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3278_delete_reinsert_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/3278_delete_reinsert_optimize.sql",
      "description": "DELETE + re-INSERT + OPTIMIZE for compaction",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3279_merge_idempotent_rerun",
      "num": 3279,
      "name": "merge_idempotent_rerun",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3279_merge_idempotent_rerun.py",
      "read_script": "generator/df-reads-spark-iceberg/3279_merge_idempotent_rerun.sql",
      "description": "Same MERGE executed twice produces idempotent result",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/327_merge_generated_columns",
      "num": 327,
      "name": "merge_generated_columns",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/327_merge_generated_columns.py",
      "read_script": "generator/df-reads-spark-iceberg/327_merge_generated_columns.sql",
      "description": "Tables with GENERATED columns (computed from other columns)",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3280_update_decimal_precision",
      "num": 3280,
      "name": "update_decimal_precision",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3280_update_decimal_precision.py",
      "read_script": "generator/df-reads-spark-iceberg/3280_update_decimal_precision.sql",
      "description": "UPDATE with DECIMAL arithmetic preserving precision",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3281_empty_table_all_features",
      "num": 3281,
      "name": "empty_table_all_features",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3281_empty_table_all_features.py",
      "read_script": "generator/df-reads-spark-iceberg/3281_empty_table_all_features.sql",
      "description": "Table with CDC, colmap, CHECK, DEFAULT, IDENTITY, partitioned -- but zero rows",
      "status": "pass",
      "duration_ms": 2,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 2,
      "read_warm_ms": 1,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "delta:change-data-feed",
        "delta:default-values",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3282_single_row_all_ops",
      "num": 3282,
      "name": "single_row_all_ops",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3282_single_row_all_ops.py",
      "read_script": "generator/df-reads-spark-iceberg/3282_single_row_all_ops.sql",
      "description": "Single row through full DML cycle: INSERT, UPDATE, DELETE, re-INSERT",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3283_null_all_nullable_cols",
      "num": 3283,
      "name": "null_all_nullable_cols",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3283_null_all_nullable_cols.py",
      "read_script": "generator/df-reads-spark-iceberg/3283_null_all_nullable_cols.sql",
      "description": "All nullable columns set to NULL",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:null-handling",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3284_unicode_partition_key",
      "num": 3284,
      "name": "unicode_partition_key",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3284_unicode_partition_key.py",
      "read_script": "generator/df-reads-spark-iceberg/3284_unicode_partition_key.sql",
      "description": "Partition keys with city names (ASCII-safe partition dirs)",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:unicode",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3285_max_int_boundary",
      "num": 3285,
      "name": "max_int_boundary",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3285_max_int_boundary.py",
      "read_script": "generator/df-reads-spark-iceberg/3285_max_int_boundary.sql",
      "description": "BIGINT boundary values including MIN, MAX, zero, +/-1",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3286_empty_string_values",
      "num": 3286,
      "name": "empty_string_values",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3286_empty_string_values.py",
      "read_script": "generator/df-reads-spark-iceberg/3286_empty_string_values.sql",
      "description": "Empty strings vs NULL strings -- empty strings must be preserved (not coerced to NULL)",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3287_decimal_max_precision",
      "num": 3287,
      "name": "decimal_max_precision",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3287_decimal_max_precision.py",
      "read_script": "generator/df-reads-spark-iceberg/3287_decimal_max_precision.sql",
      "description": "DECIMAL(38,18) -- max precision decimal values",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:decimal",
        "type:integer",
        "dml:insert",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3288_boolean_three_state",
      "num": 3288,
      "name": "boolean_three_state",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3288_boolean_three_state.py",
      "read_script": "generator/df-reads-spark-iceberg/3288_boolean_three_state.sql",
      "description": "BOOLEAN with TRUE, FALSE, and NULL values",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3289_wide_table_50_cols",
      "num": 3289,
      "name": "wide_table_50_cols",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3289_wide_table_50_cols.py",
      "read_script": "generator/df-reads-spark-iceberg/3289_wide_table_50_cols.sql",
      "description": "50-column table with INT, STRING, DOUBLE, BOOLEAN, DECIMAL types",
      "status": "pass",
      "duration_ms": 38,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 38,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/328_merge_cdc",
      "num": 328,
      "name": "merge_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/328_merge_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/328_merge_cdc.sql",
      "description": "MERGE with Change Data Capture (CDC) enabled",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3290_many_partitions_26",
      "num": 3290,
      "name": "many_partitions_26",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3290_many_partitions_26.py",
      "read_script": "generator/df-reads-spark-iceberg/3290_many_partitions_26.sql",
      "description": "10 partitions (A-J) with even distribution",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3291_null_in_map_values",
      "num": 3291,
      "name": "null_in_map_values",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3291_null_in_map_values.py",
      "read_script": "generator/df-reads-spark-iceberg/3291_null_in_map_values.sql",
      "description": "Map with NULL values inside map entries",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:map",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3292_nested_struct_three_deep",
      "num": 3292,
      "name": "nested_struct_three_deep",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3292_nested_struct_three_deep.py",
      "read_script": "generator/df-reads-spark-iceberg/3292_nested_struct_three_deep.sql",
      "description": "Three-level nested STRUCT",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3293_array_of_structs",
      "num": 3293,
      "name": "array_of_structs",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3293_array_of_structs.py",
      "read_script": "generator/df-reads-spark-iceberg/3293_array_of_structs.sql",
      "description": "Array of structs with 2 elements per row",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:array",
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3294_map_int_keys",
      "num": 3294,
      "name": "map_int_keys",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3294_map_int_keys.py",
      "read_script": "generator/df-reads-spark-iceberg/3294_map_int_keys.sql",
      "description": "Map with INT keys instead of STRING",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:map",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3295_timestamp_microsecond_precision",
      "num": 3295,
      "name": "timestamp_microsecond_precision",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3295_timestamp_microsecond_precision.py",
      "read_script": "generator/df-reads-spark-iceberg/3295_timestamp_microsecond_precision.sql",
      "description": "Microsecond-precision timestamps via arrow_cast",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3296_date_boundary_values",
      "num": 3296,
      "name": "date_boundary_values",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3296_date_boundary_values.py",
      "read_script": "generator/df-reads-spark-iceberg/3296_date_boundary_values.sql",
      "description": "DATE boundary values including epoch, Y2K, leap year",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:date",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3297_binary_roundtrip",
      "num": 3297,
      "name": "binary_roundtrip",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3297_binary_roundtrip.py",
      "read_script": "generator/df-reads-spark-iceberg/3297_binary_roundtrip.sql",
      "description": "Binary data roundtrip through Delta table",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:binary",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3298_string_special_chars_csv",
      "num": 3298,
      "name": "string_special_chars_csv",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3298_string_special_chars_csv.py",
      "read_script": "generator/df-reads-spark-iceberg/3298_string_special_chars_csv.sql",
      "description": "Strings with commas, quotes, tabs -- special chars that could break naive parsing",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3299_double_special_values",
      "num": 3299,
      "name": "double_special_values",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3299_double_special_values.py",
      "read_script": "generator/df-reads-spark-iceberg/3299_double_special_values.sql",
      "description": "DOUBLE special values: NaN, Infinity, -Infinity, +/-0, max/min",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:floating",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/329_merge_conditional",
      "num": 329,
      "name": "merge_conditional",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/329_merge_conditional.py",
      "read_script": "generator/df-reads-spark-iceberg/329_merge_conditional.sql",
      "description": "MERGE with conditional clauses based on priority and status",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/32_dv_derived_fields_computed",
      "num": 32,
      "name": "dv_derived_fields_computed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/32_dv_derived_fields_computed.py",
      "read_script": "generator/df-reads-spark-iceberg/32_dv_derived_fields_computed.sql",
      "description": "Demonstrates deletion vectors with derived fields (numRecords, deletedRows, existingRows).",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:47:18.737752+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3300_skewed_partition_data",
      "num": 3300,
      "name": "skewed_partition_data",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3300_skewed_partition_data.py",
      "read_script": "generator/df-reads-spark-iceberg/3300_skewed_partition_data.sql",
      "description": "Heavily skewed partitions -- 990/5/5 distribution",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3301_optimize_then_vacuum_then_read",
      "num": 3301,
      "name": "optimize_then_vacuum_then_read",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3301_optimize_then_vacuum_then_read.py",
      "read_script": "generator/df-reads-spark-iceberg/3301_optimize_then_vacuum_then_read.sql",
      "description": "Full maintenance cycle. 10x INSERT 10 rows each.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3302_zorder_then_optimize_then_vacuum",
      "num": 3302,
      "name": "zorder_then_optimize_then_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3302_zorder_then_optimize_then_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/3302_zorder_then_optimize_then_vacuum.sql",
      "description": "ZORDER+OPTIMIZE+VACUUM chain. INSERT 200.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:vacuum",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3303_cdc_optimize_vacuum_chain",
      "num": 3303,
      "name": "cdc_optimize_vacuum_chain",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3303_cdc_optimize_vacuum_chain.py",
      "read_script": "generator/df-reads-spark-iceberg/3303_cdc_optimize_vacuum_chain.sql",
      "description": "CDC maintenance chain. INSERT 100, UPDATE 30,",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3304_dv_optimize_vacuum_triple",
      "num": 3304,
      "name": "dv_optimize_vacuum_triple",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3304_dv_optimize_vacuum_triple.py",
      "read_script": "generator/df-reads-spark-iceberg/3304_dv_optimize_vacuum_triple.sql",
      "description": "DV resolve chain. INSERT 100, DELETE WHERE id%3=0 (~33),",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3305_restore_then_optimize",
      "num": 3305,
      "name": "restore_then_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3305_restore_then_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/3305_restore_then_optimize.sql",
      "description": "OPTIMIZE after RESTORE. 10x INSERT 10 each, DELETE,",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:optimize",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3306_checkpoint_then_vacuum",
      "num": 3306,
      "name": "checkpoint_then_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3306_checkpoint_then_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/3306_checkpoint_then_vacuum.sql",
      "description": "VACUUM after checkpoint. 15x INSERT 5 rows each.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3307_evolve_optimize_vacuum",
      "num": 3307,
      "name": "evolve_optimize_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3307_evolve_optimize_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/3307_evolve_optimize_vacuum.sql",
      "description": "Schema evolution + maintenance. INSERT 50, ADD COLUMN tag,",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:vacuum",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3308_partition_zorder_optimize",
      "num": 3308,
      "name": "partition_zorder_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3308_partition_zorder_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/3308_partition_zorder_optimize.sql",
      "description": "Partition+ZORDER+OPTIMIZE. INSERT 200 into 4 partitions.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:partitioning",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3309_cdc_dv_optimize_vacuum_full",
      "num": 3309,
      "name": "cdc_dv_optimize_vacuum_full",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3309_cdc_dv_optimize_vacuum_full.py",
      "read_script": "generator/df-reads-spark-iceberg/3309_cdc_dv_optimize_vacuum_full.sql",
      "description": "Full maintenance on CDC+DV table. INSERT 100,",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/330_merge_schema_evolution",
      "num": 330,
      "name": "merge_schema_evolution",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/330_merge_schema_evolution.py",
      "read_script": "generator/df-reads-spark-iceberg/330_merge_schema_evolution.sql",
      "description": "Table with deletion vectors and column mapping name mode for MERGE tests",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3310_identity_optimize_vacuum_chain",
      "num": 3310,
      "name": "identity_optimize_vacuum_chain",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3310_identity_optimize_vacuum_chain.py",
      "read_script": "generator/df-reads-spark-iceberg/3310_identity_optimize_vacuum_chain.sql",
      "description": "IDENTITY maintenance. 10x INSERT 10, OPTIMIZE, VACUUM,",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:identity-columns",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3311_colmap_evolve_optimize",
      "num": 3311,
      "name": "colmap_evolve_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3311_colmap_evolve_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/3311_colmap_evolve_optimize.sql",
      "description": "Colmap+evolve+OPTIMIZE. INSERT 50, ADD COLUMN extra,",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:optimize",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3312_widen_optimize_vacuum",
      "num": 3312,
      "name": "widen_optimize_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3312_widen_optimize_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/3312_widen_optimize_vacuum.sql",
      "description": "Widen+maintenance. INSERT 50, ALTER val INT->BIGINT,",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:optimize",
        "delta:vacuum",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3313_ict_cdc_optimize",
      "num": 3313,
      "name": "ict_cdc_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3313_ict_cdc_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/3313_ict_cdc_optimize.sql",
      "description": "ICT+CDC+OPTIMIZE. INSERT 50, UPDATE 20, OPTIMIZE.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3314_merge_optimize_vacuum_cycle",
      "num": 3314,
      "name": "merge_optimize_vacuum_cycle",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3314_merge_optimize_vacuum_cycle.py",
      "read_script": "generator/df-reads-spark-iceberg/3314_merge_optimize_vacuum_cycle.sql",
      "description": "MERGE+maintenance. INSERT 50, MERGE (update 1-20, insert 51-80),",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3315_partition_vacuum_selective",
      "num": 3315,
      "name": "partition_vacuum_selective",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3315_partition_vacuum_selective.py",
      "read_script": "generator/df-reads-spark-iceberg/3315_partition_vacuum_selective.sql",
      "description": "VACUUM on partition with deletes. INSERT 200 (50 per region),",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3316_dv_restore_optimize",
      "num": 3316,
      "name": "dv_restore_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3316_dv_restore_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/3316_dv_restore_optimize.sql",
      "description": "DV+RESTORE+OPTIMIZE. INSERT 100, DELETE WHERE id<=30,",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3317_time_travel_after_vacuum_fail",
      "num": 3317,
      "name": "time_travel_after_vacuum_fail",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3317_time_travel_after_vacuum_fail.py",
      "read_script": "generator/df-reads-spark-iceberg/3317_time_travel_after_vacuum_fail.sql",
      "description": "Time travel to vacuumed version. INSERT 50, INSERT 50 more,",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:time-travel",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3318_checkpoint_optimize_vacuum",
      "num": 3318,
      "name": "checkpoint_optimize_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3318_checkpoint_optimize_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/3318_checkpoint_optimize_vacuum.sql",
      "description": "Checkpoint+OPTIMIZE+VACUUM. 15x INSERT 5 rows each,",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3319_constraint_evolve_optimize",
      "num": 3319,
      "name": "constraint_evolve_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3319_constraint_evolve_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/3319_constraint_evolve_optimize.sql",
      "description": "Constraint+evolve+OPTIMIZE. ADD CHECK constraint,",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:optimize",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/331_merge_large_scale",
      "num": 331,
      "name": "merge_large_scale",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/331_merge_large_scale.py",
      "read_script": "generator/df-reads-spark-iceberg/331_merge_large_scale.sql",
      "description": "Large-scale table with deletion vectors for MERGE performance testing",
      "status": "pass",
      "duration_ms": 70,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 70,
      "read_warm_ms": 29,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3320_merge_cdc_dv_optimize_vacuum",
      "num": 3320,
      "name": "merge_cdc_dv_optimize_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3320_merge_cdc_dv_optimize_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/3320_merge_cdc_dv_optimize_vacuum.sql",
      "description": "5-feature chain. INSERT 100, MERGE (update 1-30, delete 31-50,",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3321_cdc_colmap_merge",
      "num": 3321,
      "name": "cdc_colmap_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3321_cdc_colmap_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/3321_cdc_colmap_merge.sql",
      "description": "CDC + column mapping (name mode) + MERGE.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3322_cdc_dv_evolve_merge",
      "num": 3322,
      "name": "cdc_dv_evolve_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3322_cdc_dv_evolve_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/3322_cdc_dv_evolve_merge.sql",
      "description": "CDC + DV + schema evolution + 3-clause MERGE.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3323_identity_cdc_dv_merge",
      "num": 3323,
      "name": "identity_cdc_dv_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3323_identity_cdc_dv_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/3323_identity_cdc_dv_merge.sql",
      "description": "IDENTITY + CDC + DV + MERGE.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3324_colmap_partition_cdc_merge",
      "num": 3324,
      "name": "colmap_partition_cdc_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3324_colmap_partition_cdc_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/3324_colmap_partition_cdc_merge.sql",
      "description": "colmap + partition + CDC + MERGE.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3325_identity_colmap_cdc",
      "num": 3325,
      "name": "identity_colmap_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3325_identity_colmap_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/3325_identity_colmap_cdc.sql",
      "description": "IDENTITY + colmap + CDC.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3326_dv_cdc_partition_evolve",
      "num": 3326,
      "name": "dv_cdc_partition_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3326_dv_cdc_partition_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/3326_dv_cdc_partition_evolve.sql",
      "description": "DV + CDC + partition + schema evolution.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3327_constraint_cdc_merge",
      "num": 3327,
      "name": "constraint_cdc_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3327_constraint_cdc_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/3327_constraint_cdc_merge.sql",
      "description": "CHECK constraint + CDC + MERGE.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3328_default_cdc_partition",
      "num": 3328,
      "name": "default_cdc_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3328_default_cdc_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/3328_default_cdc_partition.sql",
      "description": "DEFAULT value + CDC + partition.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:default-values",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3329_widen_cdc_merge",
      "num": 3329,
      "name": "widen_cdc_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3329_widen_cdc_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/3329_widen_cdc_merge.sql",
      "description": "Type widening + CDC + MERGE.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/332_merge_star_schema",
      "num": 332,
      "name": "merge_star_schema",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/332_merge_star_schema.py",
      "read_script": "generator/df-reads-spark-iceberg/332_merge_star_schema.sql",
      "description": "Star schema fact table for MERGE operations with deletion vectors",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3330_ict_identity_merge",
      "num": 3330,
      "name": "ict_identity_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3330_ict_identity_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/3330_ict_identity_merge.sql",
      "description": "ICT + IDENTITY + MERGE.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3331_rowtrack_cdc_dv_merge",
      "num": 3331,
      "name": "rowtrack_cdc_dv_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3331_rowtrack_cdc_dv_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/3331_rowtrack_cdc_dv_merge.sql",
      "description": "Row tracking + CDC + DV + MERGE.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3332_colmap_identity_evolve",
      "num": 3332,
      "name": "colmap_identity_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3332_colmap_identity_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/3332_colmap_identity_evolve.sql",
      "description": "colmap + IDENTITY + schema evolution.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:identity-columns",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3333_partition_identity_cdc",
      "num": 3333,
      "name": "partition_identity_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3333_partition_identity_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/3333_partition_identity_cdc.sql",
      "description": "Partition + IDENTITY + CDC.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:identity-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3334_constraint_colmap_evolve",
      "num": 3334,
      "name": "constraint_colmap_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3334_constraint_colmap_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/3334_constraint_colmap_evolve.sql",
      "description": "CHECK constraint + colmap + schema evolution.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:constraints",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3335_dv_identity_partition",
      "num": 3335,
      "name": "dv_identity_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3335_dv_identity_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/3335_dv_identity_partition.sql",
      "description": "DV + IDENTITY + partition.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3336_widen_colmap_cdc",
      "num": 3336,
      "name": "widen_colmap_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3336_widen_colmap_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/3336_widen_colmap_cdc.sql",
      "description": "Type widening + colmap + CDC.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3337_ict_dv_partition",
      "num": 3337,
      "name": "ict_dv_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3337_ict_dv_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/3337_ict_dv_partition.sql",
      "description": "ICT + DV + partition.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3338_default_identity_constraint",
      "num": 3338,
      "name": "default_identity_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3338_default_identity_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/3338_default_identity_constraint.sql",
      "description": "DEFAULT + IDENTITY + CHECK constraint.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:default-values",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3339_cdc_dv_colmap_partition",
      "num": 3339,
      "name": "cdc_dv_colmap_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3339_cdc_dv_colmap_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/3339_cdc_dv_colmap_partition.sql",
      "description": "4-feature: CDC + DV + colmap + partition.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/333_merge_comprehensive",
      "num": 333,
      "name": "merge_comprehensive",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/333_merge_comprehensive.py",
      "read_script": "generator/df-reads-spark-iceberg/333_merge_comprehensive.sql",
      "description": "Comprehensive MERGE test table with partitioning, deletion vectors, and CDF",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3340_full_production_table",
      "num": 3340,
      "name": "full_production_table",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3340_full_production_table.py",
      "read_script": "generator/df-reads-spark-iceberg/3340_full_production_table.sql",
      "description": "ALL features combined.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3341_evolve_drop_col_read",
      "num": 3341,
      "name": "evolve_drop_col_read",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3341_evolve_drop_col_read.py",
      "read_script": "generator/df-reads-spark-iceberg/3341_evolve_drop_col_read.sql",
      "description": "DROP COLUMN with column mapping mode=name",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "schema:add-column",
        "schema:drop-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3342_evolve_rename_col_read",
      "num": 3342,
      "name": "evolve_rename_col_read",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3342_evolve_rename_col_read.py",
      "read_script": "generator/df-reads-spark-iceberg/3342_evolve_rename_col_read.sql",
      "description": "RENAME COLUMN with column mapping mode=name",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "schema:add-column",
        "schema:rename-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3343_evolve_add_three_cols",
      "num": 3343,
      "name": "evolve_add_three_cols",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3343_evolve_add_three_cols.py",
      "read_script": "generator/df-reads-spark-iceberg/3343_evolve_add_three_cols.sql",
      "description": "3 sequential ADD COLUMNs with progressive NULLs",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3344_evolve_add_struct_col",
      "num": 3344,
      "name": "evolve_add_struct_col",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3344_evolve_add_struct_col.py",
      "read_script": "generator/df-reads-spark-iceberg/3344_evolve_add_struct_col.sql",
      "description": "ADD STRUCT column after initial data",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3345_evolve_add_array_col",
      "num": 3345,
      "name": "evolve_add_array_col",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3345_evolve_add_array_col.py",
      "read_script": "generator/df-reads-spark-iceberg/3345_evolve_add_array_col.sql",
      "description": "ADD ARRAY column after initial data",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:array",
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3346_evolve_add_map_col",
      "num": 3346,
      "name": "evolve_add_map_col",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3346_evolve_add_map_col.py",
      "read_script": "generator/df-reads-spark-iceberg/3346_evolve_add_map_col.sql",
      "description": "ADD MAP column after initial data",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:map",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3347_widen_float_to_double",
      "num": 3347,
      "name": "widen_float_to_double",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3347_widen_float_to_double.py",
      "read_script": "generator/df-reads-spark-iceberg/3347_widen_float_to_double.sql",
      "description": "FLOAT->DOUBLE type widening",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3348_widen_int_to_long",
      "num": 3348,
      "name": "widen_int_to_long",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3348_widen_int_to_long.py",
      "read_script": "generator/df-reads-spark-iceberg/3348_widen_int_to_long.sql",
      "description": "INT->BIGINT type widening",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3349_widen_decimal_scale",
      "num": 3349,
      "name": "widen_decimal_scale",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3349_widen_decimal_scale.py",
      "read_script": "generator/df-reads-spark-iceberg/3349_widen_decimal_scale.sql",
      "description": "DECIMAL(10,2)->DECIMAL(18,6) scale widening",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/334_dv_basic_delete",
      "num": 334,
      "name": "dv_basic_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/334_dv_basic_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/334_dv_basic_delete.sql",
      "description": "DELETE creates deletion vector instead of rewriting file",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3350_widen_short_to_int",
      "num": 3350,
      "name": "widen_short_to_int",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3350_widen_short_to_int.py",
      "read_script": "generator/df-reads-spark-iceberg/3350_widen_short_to_int.sql",
      "description": "SMALLINT->INT type widening",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3351_widen_byte_to_short",
      "num": 3351,
      "name": "widen_byte_to_short",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3351_widen_byte_to_short.py",
      "read_script": "generator/df-reads-spark-iceberg/3351_widen_byte_to_short.sql",
      "description": "TINYINT->SMALLINT type widening",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3352_struct_update_nested_field",
      "num": 3352,
      "name": "struct_update_nested_field",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3352_struct_update_nested_field.py",
      "read_script": "generator/df-reads-spark-iceberg/3352_struct_update_nested_field.sql",
      "description": "UPDATE nested struct field",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "dml:update",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3353_map_string_to_struct",
      "num": 3353,
      "name": "map_string_to_struct",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3353_map_string_to_struct.py",
      "read_script": "generator/df-reads-spark-iceberg/3353_map_string_to_struct.sql",
      "description": "MAP<STRING, STRUCT<count: INT, label: STRING>>",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:map",
        "type:string",
        "type:struct",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3354_array_empty_and_null",
      "num": 3354,
      "name": "array_empty_and_null",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3354_array_empty_and_null.py",
      "read_script": "generator/df-reads-spark-iceberg/3354_array_empty_and_null.sql",
      "description": "Empty array vs NULL array distinction",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:array",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3355_decimal_all_scales",
      "num": 3355,
      "name": "decimal_all_scales",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3355_decimal_all_scales.py",
      "read_script": "generator/df-reads-spark-iceberg/3355_decimal_all_scales.sql",
      "description": "Multiple DECIMAL scales in one table",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3356_date_arithmetic",
      "num": 3356,
      "name": "date_arithmetic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3356_date_arithmetic.py",
      "read_script": "generator/df-reads-spark-iceberg/3356_date_arithmetic.sql",
      "description": "DATE column with multiple date values via modular arithmetic",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3357_timestamp_timezone_none",
      "num": 3357,
      "name": "timestamp_timezone_none",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3357_timestamp_timezone_none.py",
      "read_script": "generator/df-reads-spark-iceberg/3357_timestamp_timezone_none.sql",
      "description": "Timestamp without timezone (Microsecond, None)",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3358_string_long_4k",
      "num": 3358,
      "name": "string_long_4k",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3358_string_long_4k.py",
      "read_script": "generator/df-reads-spark-iceberg/3358_string_long_4k.sql",
      "description": "4KB strings",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3359_binary_large_1k",
      "num": 3359,
      "name": "binary_large_1k",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3359_binary_large_1k.py",
      "read_script": "generator/df-reads-spark-iceberg/3359_binary_large_1k.sql",
      "description": "1KB binary values",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:binary",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/335_dv_update",
      "num": 335,
      "name": "dv_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/335_dv_update.py",
      "read_script": "generator/df-reads-spark-iceberg/335_dv_update.sql",
      "description": "UPDATE creates DV for old row + new row in new file",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3360_not_null_all_types",
      "num": 3360,
      "name": "not_null_all_types",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3360_not_null_all_types.py",
      "read_script": "generator/df-reads-spark-iceberg/3360_not_null_all_types.sql",
      "description": "NOT NULL constraints on multiple types",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3361_cdc_insert_only_log",
      "num": 3361,
      "name": "cdc_insert_only_log",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3361_cdc_insert_only_log.py",
      "read_script": "generator/df-reads-spark-iceberg/3361_cdc_insert_only_log.sql",
      "description": "CDC with INSERT only -- 5 batches of 20 rows each.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3362_cdc_update_preimage_postimage",
      "num": 3362,
      "name": "cdc_update_preimage_postimage",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3362_cdc_update_preimage_postimage.py",
      "read_script": "generator/df-reads-spark-iceberg/3362_cdc_update_preimage_postimage.sql",
      "description": "CDF preimage/postimage verification after UPDATE.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3363_cdc_delete_log",
      "num": 3363,
      "name": "cdc_delete_log",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3363_cdc_delete_log.py",
      "read_script": "generator/df-reads-spark-iceberg/3363_cdc_delete_log.sql",
      "description": "CDF for DELETE operations.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3364_cdc_merge_all_change_types",
      "num": 3364,
      "name": "cdc_merge_all_change_types",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3364_cdc_merge_all_change_types.py",
      "read_script": "generator/df-reads-spark-iceberg/3364_cdc_merge_all_change_types.sql",
      "description": "MERGE producing all CDF change types (insert, delete,",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3365_cdc_truncate_as_delete",
      "num": 3365,
      "name": "cdc_truncate_as_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3365_cdc_truncate_as_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/3365_cdc_truncate_as_delete.sql",
      "description": "TRUNCATE on a CDC-enabled table.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:truncate",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3366_cdc_ten_versions",
      "num": 3366,
      "name": "cdc_ten_versions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3366_cdc_ten_versions.py",
      "read_script": "generator/df-reads-spark-iceberg/3366_cdc_ten_versions.sql",
      "description": "10 versions of CDC changes across mixed operations.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3367_cdc_partition_update",
      "num": 3367,
      "name": "cdc_partition_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3367_cdc_partition_update.py",
      "read_script": "generator/df-reads-spark-iceberg/3367_cdc_partition_update.sql",
      "description": "CDF for partitioned table with UPDATE.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3368_cdc_schema_evolve_add",
      "num": 3368,
      "name": "cdc_schema_evolve_add",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3368_cdc_schema_evolve_add.py",
      "read_script": "generator/df-reads-spark-iceberg/3368_cdc_schema_evolve_add.sql",
      "description": "CDF after ADD COLUMN schema evolution.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3369_cdc_restore_log",
      "num": 3369,
      "name": "cdc_restore_log",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3369_cdc_restore_log.py",
      "read_script": "generator/df-reads-spark-iceberg/3369_cdc_restore_log.sql",
      "description": "CDF after RESTORE to a previous version.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/336_dv_multiple_deletes",
      "num": 336,
      "name": "dv_multiple_deletes",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/336_dv_multiple_deletes.py",
      "read_script": "generator/df-reads-spark-iceberg/336_dv_multiple_deletes.sql",
      "description": "Multiple DELETEs accumulate in DVs",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3370_cdc_identity_insert",
      "num": 3370,
      "name": "cdc_identity_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3370_cdc_identity_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/3370_cdc_identity_insert.sql",
      "description": "CDF with IDENTITY column.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3371_cdc_dv_resolve_after_optimize",
      "num": 3371,
      "name": "cdc_dv_resolve_after_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3371_cdc_dv_resolve_after_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/3371_cdc_dv_resolve_after_optimize.sql",
      "description": "CDF after DV + OPTIMIZE.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3372_cdc_colmap_name_mode",
      "num": 3372,
      "name": "cdc_colmap_name_mode",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3372_cdc_colmap_name_mode.py",
      "read_script": "generator/df-reads-spark-iceberg/3372_cdc_colmap_name_mode.sql",
      "description": "CDF under column mapping (name mode).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3373_cdc_constraint_valid",
      "num": 3373,
      "name": "cdc_constraint_valid",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3373_cdc_constraint_valid.py",
      "read_script": "generator/df-reads-spark-iceberg/3373_cdc_constraint_valid.sql",
      "description": "CDF with CHECK constraint.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3374_cdc_default_values",
      "num": 3374,
      "name": "cdc_default_values",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3374_cdc_default_values.py",
      "read_script": "generator/df-reads-spark-iceberg/3374_cdc_default_values.sql",
      "description": "CDF records showing DEFAULT column values.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3375_cdc_widen_after",
      "num": 3375,
      "name": "cdc_widen_after",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3375_cdc_widen_after.py",
      "read_script": "generator/df-reads-spark-iceberg/3375_cdc_widen_after.sql",
      "description": "CDF across type widening (INT -> BIGINT).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3376_cdc_ict_ordering",
      "num": 3376,
      "name": "cdc_ict_ordering",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3376_cdc_ict_ordering.py",
      "read_script": "generator/df-reads-spark-iceberg/3376_cdc_ict_ordering.sql",
      "description": "CDF with In-Commit Timestamps (ICT) enabled.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3377_cdc_zorder_preserve",
      "num": 3377,
      "name": "cdc_zorder_preserve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3377_cdc_zorder_preserve.py",
      "read_script": "generator/df-reads-spark-iceberg/3377_cdc_zorder_preserve.sql",
      "description": "CDF still readable after ZORDER optimization.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3378_cdc_vacuum_retention",
      "num": 3378,
      "name": "cdc_vacuum_retention",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3378_cdc_vacuum_retention.py",
      "read_script": "generator/df-reads-spark-iceberg/3378_cdc_vacuum_retention.sql",
      "description": "CDF behavior after VACUUM with 0 hour retention.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3379_cdc_checkpoint_survive",
      "num": 3379,
      "name": "cdc_checkpoint_survive",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3379_cdc_checkpoint_survive.py",
      "read_script": "generator/df-reads-spark-iceberg/3379_cdc_checkpoint_survive.sql",
      "description": "CDF readable after checkpoint creation (12 inserts to trigger checkpoint).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/337_dv_optimize",
      "num": 337,
      "name": "dv_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/337_dv_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/337_dv_optimize.sql",
      "description": "OPTIMIZE materializes DVs into compacted files",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3380_cdc_time_travel_cdf",
      "num": 3380,
      "name": "cdc_time_travel_cdf",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3380_cdc_time_travel_cdf.py",
      "read_script": "generator/df-reads-spark-iceberg/3380_cdc_time_travel_cdf.sql",
      "description": "CDF version range queries.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3381_merge_three_clause_full",
      "num": 3381,
      "name": "merge_three_clause_full",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3381_merge_three_clause_full.py",
      "read_script": "generator/df-reads-spark-iceberg/3381_merge_three_clause_full.sql",
      "description": "MERGE with all 3 clauses (UPDATE, DELETE, INSERT).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3382_merge_update_all_cols",
      "num": 3382,
      "name": "merge_update_all_cols",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3382_merge_update_all_cols.py",
      "read_script": "generator/df-reads-spark-iceberg/3382_merge_update_all_cols.sql",
      "description": "MERGE UPDATE all non-key columns.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3383_merge_conditional_update",
      "num": 3383,
      "name": "merge_conditional_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3383_merge_conditional_update.py",
      "read_script": "generator/df-reads-spark-iceberg/3383_merge_conditional_update.sql",
      "description": "MERGE with conditional WHEN MATCHED AND predicates.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3384_merge_insert_all_nulls",
      "num": 3384,
      "name": "merge_insert_all_nulls",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3384_merge_insert_all_nulls.py",
      "read_script": "generator/df-reads-spark-iceberg/3384_merge_insert_all_nulls.sql",
      "description": "MERGE INSERT with NULL values for string columns.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:null-handling",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3385_merge_partition_cross",
      "num": 3385,
      "name": "merge_partition_cross",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3385_merge_partition_cross.py",
      "read_script": "generator/df-reads-spark-iceberg/3385_merge_partition_cross.sql",
      "description": "MERGE across partitions.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3386_merge_decimal_arithmetic",
      "num": 3386,
      "name": "merge_decimal_arithmetic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3386_merge_decimal_arithmetic.py",
      "read_script": "generator/df-reads-spark-iceberg/3386_merge_decimal_arithmetic.sql",
      "description": "MERGE with DECIMAL arithmetic.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3387_merge_timestamp_update",
      "num": 3387,
      "name": "merge_timestamp_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3387_merge_timestamp_update.py",
      "read_script": "generator/df-reads-spark-iceberg/3387_merge_timestamp_update.sql",
      "description": "MERGE updating timestamps.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3388_merge_identity_insert_only",
      "num": 3388,
      "name": "merge_identity_insert_only",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3388_merge_identity_insert_only.py",
      "read_script": "generator/df-reads-spark-iceberg/3388_merge_identity_insert_only.sql",
      "description": "MERGE INSERT on IDENTITY table.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3389_merge_delete_only",
      "num": 3389,
      "name": "merge_delete_only",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3389_merge_delete_only.py",
      "read_script": "generator/df-reads-spark-iceberg/3389_merge_delete_only.sql",
      "description": "MERGE with only DELETE clause.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/338_dv_partitioned",
      "num": 338,
      "name": "dv_partitioned",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/338_dv_partitioned.py",
      "read_script": "generator/df-reads-spark-iceberg/338_dv_partitioned.sql",
      "description": "DVs work within partitions",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3390_merge_large_source",
      "num": 3390,
      "name": "merge_large_source",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3390_merge_large_source.py",
      "read_script": "generator/df-reads-spark-iceberg/3390_merge_large_source.sql",
      "description": "MERGE with source larger than target.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3391_merge_empty_source",
      "num": 3391,
      "name": "merge_empty_source",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3391_merge_empty_source.py",
      "read_script": "generator/df-reads-spark-iceberg/3391_merge_empty_source.sql",
      "description": "MERGE with 0-row source (no-op).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3392_merge_same_key_twice",
      "num": 3392,
      "name": "merge_same_key_twice",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3392_merge_same_key_twice.py",
      "read_script": "generator/df-reads-spark-iceberg/3392_merge_same_key_twice.sql",
      "description": "MERGE with duplicate keys in source.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3393_merge_with_default_col",
      "num": 3393,
      "name": "merge_with_default_col",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3393_merge_with_default_col.py",
      "read_script": "generator/df-reads-spark-iceberg/3393_merge_with_default_col.sql",
      "description": "MERGE INSERT uses DEFAULT column value.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3394_merge_evolve_after",
      "num": 3394,
      "name": "merge_evolve_after",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3394_merge_evolve_after.py",
      "read_script": "generator/df-reads-spark-iceberg/3394_merge_evolve_after.sql",
      "description": "MERGE after schema evolution (ADD COLUMN).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3395_merge_constraint_respected",
      "num": 3395,
      "name": "merge_constraint_respected",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3395_merge_constraint_respected.py",
      "read_script": "generator/df-reads-spark-iceberg/3395_merge_constraint_respected.sql",
      "description": "MERGE respects CHECK constraint.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3396_merge_five_rounds_accum",
      "num": 3396,
      "name": "merge_five_rounds_accum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3396_merge_five_rounds_accum.py",
      "read_script": "generator/df-reads-spark-iceberg/3396_merge_five_rounds_accum.sql",
      "description": "5 rounds of MERGE accumulating rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3397_merge_widen_then_merge",
      "num": 3397,
      "name": "merge_widen_then_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3397_merge_widen_then_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/3397_merge_widen_then_merge.sql",
      "description": "MERGE after column type widening (INT -> BIGINT).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3398_merge_struct_update",
      "num": 3398,
      "name": "merge_struct_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3398_merge_struct_update.py",
      "read_script": "generator/df-reads-spark-iceberg/3398_merge_struct_update.sql",
      "description": "MERGE updating struct column.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3399_merge_boolean_predicate",
      "num": 3399,
      "name": "merge_boolean_predicate",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3399_merge_boolean_predicate.py",
      "read_script": "generator/df-reads-spark-iceberg/3399_merge_boolean_predicate.sql",
      "description": "MERGE with boolean in join/predicate.",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/339_dv_read_compat",
      "num": 339,
      "name": "dv_read_compat",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/339_dv_read_compat.py",
      "read_script": "generator/df-reads-spark-iceberg/339_dv_read_compat.sql",
      "description": "DeltaForge reads DBX-created DVs correctly",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/33_dv_storage_relative_path_prefixed",
      "num": 33,
      "name": "dv_storage_relative_path_prefixed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/33_dv_storage_relative_path_prefixed.py",
      "read_script": "generator/df-reads-spark-iceberg/33_dv_storage_relative_path_prefixed.sql",
      "description": "Demonstrates deletion vectors stored with relative path (storageType: \"p\"). The random prefix distributes DVs across subdirectories for better performance.",
      "status": "pass",
      "duration_ms": 32,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:47:18.737752+00:00",
      "read_cold_ms": 32,
      "read_warm_ms": 15,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3400_merge_null_safe_join",
      "num": 3400,
      "name": "merge_null_safe_join",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3400_merge_null_safe_join.py",
      "read_script": "generator/df-reads-spark-iceberg/3400_merge_null_safe_join.sql",
      "description": "MERGE with NULLs in join key.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3401_partition_null_key_value",
      "num": 3401,
      "name": "partition_null_key_value",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3401_partition_null_key_value.py",
      "read_script": "generator/df-reads-spark-iceberg/3401_partition_null_key_value.sql",
      "description": "NULL partition key value -- HIVE default partition handling",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3402_partition_multi_col",
      "num": 3402,
      "name": "partition_multi_col",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3402_partition_multi_col.py",
      "read_script": "generator/df-reads-spark-iceberg/3402_partition_multi_col.sql",
      "description": "Multi-column partitioning (region + year)",
      "status": "pass",
      "duration_ms": 69,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 69,
      "read_warm_ms": 46,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3403_partition_boolean_key",
      "num": 3403,
      "name": "partition_boolean_key",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3403_partition_boolean_key.py",
      "read_script": "generator/df-reads-spark-iceberg/3403_partition_boolean_key.sql",
      "description": "BOOLEAN partition key with true/false/NULL values",
      "status": "pass",
      "duration_ms": 58,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 58,
      "read_warm_ms": 37,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3404_partition_int_key",
      "num": 3404,
      "name": "partition_int_key",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3404_partition_int_key.py",
      "read_script": "generator/df-reads-spark-iceberg/3404_partition_int_key.sql",
      "description": "INT partition key with 10 buckets",
      "status": "pass",
      "duration_ms": 40,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 40,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3405_partition_date_key",
      "num": 3405,
      "name": "partition_date_key",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3405_partition_date_key.py",
      "read_script": "generator/df-reads-spark-iceberg/3405_partition_date_key.sql",
      "description": "DATE partition key with 5 distinct dates",
      "status": "pass",
      "duration_ms": 24,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 24,
      "read_warm_ms": 19,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3406_partition_delete_one",
      "num": 3406,
      "name": "partition_delete_one",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3406_partition_delete_one.py",
      "read_script": "generator/df-reads-spark-iceberg/3406_partition_delete_one.sql",
      "description": "DELETE entire partition",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3407_partition_update_within",
      "num": 3407,
      "name": "partition_update_within",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3407_partition_update_within.py",
      "read_script": "generator/df-reads-spark-iceberg/3407_partition_update_within.sql",
      "description": "UPDATE within a single partition",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3408_partition_merge_cross",
      "num": 3408,
      "name": "partition_merge_cross",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3408_partition_merge_cross.py",
      "read_script": "generator/df-reads-spark-iceberg/3408_partition_merge_cross.sql",
      "description": "MERGE across partitions",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3409_partition_optimize_per",
      "num": 3409,
      "name": "partition_optimize_per",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3409_partition_optimize_per.py",
      "read_script": "generator/df-reads-spark-iceberg/3409_partition_optimize_per.sql",
      "description": "OPTIMIZE on partitioned table after multiple inserts",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/340_dv_write_compat",
      "num": 340,
      "name": "dv_write_compat",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/340_dv_write_compat.py",
      "read_script": "generator/df-reads-spark-iceberg/340_dv_write_compat.sql",
      "description": "DBX reads DeltaForge-created DVs",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3410_partition_vacuum_selective",
      "num": 3410,
      "name": "partition_vacuum_selective",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3410_partition_vacuum_selective.py",
      "read_script": "generator/df-reads-spark-iceberg/3410_partition_vacuum_selective.sql",
      "description": "VACUUM after partition delete",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3411_partition_restore_full",
      "num": 3411,
      "name": "partition_restore_full",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3411_partition_restore_full.py",
      "read_script": "generator/df-reads-spark-iceberg/3411_partition_restore_full.sql",
      "description": "RESTORE partitioned table to prior version",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3412_partition_time_travel",
      "num": 3412,
      "name": "partition_time_travel",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3412_partition_time_travel.py",
      "read_script": "generator/df-reads-spark-iceberg/3412_partition_time_travel.sql",
      "description": "Time travel on partitioned table",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3413_partition_stats_pushdown",
      "num": 3413,
      "name": "partition_stats_pushdown",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3413_partition_stats_pushdown.py",
      "read_script": "generator/df-reads-spark-iceberg/3413_partition_stats_pushdown.sql",
      "description": "Stats on partitioned table (400 rows, 100 per region)",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3414_partition_cdc_per_partition",
      "num": 3414,
      "name": "partition_cdc_per_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3414_partition_cdc_per_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/3414_partition_cdc_per_partition.sql",
      "description": "CDC per partition -- CDF has update records for US only",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3415_partition_identity_unique",
      "num": 3415,
      "name": "partition_identity_unique",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3415_partition_identity_unique.py",
      "read_script": "generator/df-reads-spark-iceberg/3415_partition_identity_unique.sql",
      "description": "IDENTITY column across partitions",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:identity-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3416_partition_colmap_names",
      "num": 3416,
      "name": "partition_colmap_names",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3416_partition_colmap_names.py",
      "read_script": "generator/df-reads-spark-iceberg/3416_partition_colmap_names.sql",
      "description": "Column mapping (name mode) on partitioned table",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3417_partition_constraint_per",
      "num": 3417,
      "name": "partition_constraint_per",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3417_partition_constraint_per.py",
      "read_script": "generator/df-reads-spark-iceberg/3417_partition_constraint_per.sql",
      "description": "CHECK constraint on partitioned table",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3418_partition_widen_col",
      "num": 3418,
      "name": "partition_widen_col",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3418_partition_widen_col.py",
      "read_script": "generator/df-reads-spark-iceberg/3418_partition_widen_col.sql",
      "description": "Widen column type on partitioned table (INT -> BIGINT)",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3419_partition_dv_per_partition",
      "num": 3419,
      "name": "partition_dv_per_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3419_partition_dv_per_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/3419_partition_dv_per_partition.sql",
      "description": "Deletion vectors per partition -- DELETE only in US partition",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/341_dv_roaring_format",
      "num": 341,
      "name": "dv_roaring_format",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/341_dv_roaring_format.py",
      "read_script": "generator/df-reads-spark-iceberg/341_dv_roaring_format.sql",
      "description": "Verify DV uses correct roaring bitmap format",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3420_partition_evolve_add",
      "num": 3420,
      "name": "partition_evolve_add",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3420_partition_evolve_add.py",
      "read_script": "generator/df-reads-spark-iceberg/3420_partition_evolve_add.sql",
      "description": "ADD COLUMN on partitioned table",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3421_time_travel_ten_versions",
      "num": 3421,
      "name": "time_travel_ten_versions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3421_time_travel_ten_versions.py",
      "read_script": "generator/df-reads-spark-iceberg/3421_time_travel_ten_versions.sql",
      "description": "Time travel across 10 INSERT versions (cumulative 10,20,...,100 rows)",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3422_time_travel_after_update",
      "num": 3422,
      "name": "time_travel_after_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3422_time_travel_after_update.py",
      "read_script": "generator/df-reads-spark-iceberg/3422_time_travel_after_update.sql",
      "description": "Time travel before UPDATE. V1=original values, current=doubled.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3423_time_travel_after_delete",
      "num": 3423,
      "name": "time_travel_after_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3423_time_travel_after_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/3423_time_travel_after_delete.sql",
      "description": "Time travel before DELETE. V1=50 rows, current=30 rows.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3424_time_travel_after_merge",
      "num": 3424,
      "name": "time_travel_after_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3424_time_travel_after_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/3424_time_travel_after_merge.sql",
      "description": "Time travel before MERGE. V1=50 rows, current=70 rows.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3425_time_travel_after_schema_evolve",
      "num": 3425,
      "name": "time_travel_after_schema_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3425_time_travel_after_schema_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/3425_time_travel_after_schema_evolve.sql",
      "description": "Time travel across schema evolution. V1=50 rows no tag, current=100 rows with tag.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3426_time_travel_cdc_version",
      "num": 3426,
      "name": "time_travel_cdc_version",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3426_time_travel_cdc_version.py",
      "read_script": "generator/df-reads-spark-iceberg/3426_time_travel_cdc_version.sql",
      "description": "Time travel on CDC-enabled table. V1=50 rows, current=20 rows.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3427_time_travel_partition",
      "num": 3427,
      "name": "time_travel_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3427_time_travel_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/3427_time_travel_partition.sql",
      "description": "Time travel on partitioned table. V1=80 rows 4 regions, current=60 rows after US delete.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3428_restore_by_version",
      "num": 3428,
      "name": "restore_by_version",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3428_restore_by_version.py",
      "read_script": "generator/df-reads-spark-iceberg/3428_restore_by_version.sql",
      "description": "RESTORE to version 1 (after first INSERT). Rolls back UPDATE and DELETE.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3429_restore_then_dml",
      "num": 3429,
      "name": "restore_then_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3429_restore_then_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/3429_restore_then_dml.sql",
      "description": "DML after RESTORE. Restore to v1, then INSERT 30 more rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/342_dv_zorder",
      "num": 342,
      "name": "dv_zorder",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/342_dv_zorder.py",
      "read_script": "generator/df-reads-spark-iceberg/342_dv_zorder.sql",
      "description": "Z-ORDER materializes DVs during rewrite",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3430_restore_then_merge",
      "num": 3430,
      "name": "restore_then_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3430_restore_then_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/3430_restore_then_merge.sql",
      "description": "MERGE after RESTORE. Restore to v1, then MERGE 30 new rows.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3431_restore_cdc_table",
      "num": 3431,
      "name": "restore_cdc_table",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3431_restore_cdc_table.py",
      "read_script": "generator/df-reads-spark-iceberg/3431_restore_cdc_table.sql",
      "description": "RESTORE on CDC-enabled table. Restore to v1 (original 50 rows).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3432_restore_after_optimize",
      "num": 3432,
      "name": "restore_after_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3432_restore_after_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/3432_restore_after_optimize.sql",
      "description": "RESTORE to pre-OPTIMIZE version. 10 inserts of 10 rows each, OPTIMIZE, restore to v5.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:optimize",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3433_restore_twice",
      "num": 3433,
      "name": "restore_twice",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3433_restore_twice.py",
      "read_script": "generator/df-reads-spark-iceberg/3433_restore_twice.sql",
      "description": "Two sequential RESTOREs. v1=50 rows, v2=100, v3=150. Restore to v2, then v1.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3434_time_travel_version_zero",
      "num": 3434,
      "name": "time_travel_version_zero",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3434_time_travel_version_zero.py",
      "read_script": "generator/df-reads-spark-iceberg/3434_time_travel_version_zero.sql",
      "description": "Reading version 0 (schema only, 0 rows).",
      "status": "pass",
      "duration_ms": 4,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 4,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3435_restore_identity_hwm",
      "num": 3435,
      "name": "restore_identity_hwm",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3435_restore_identity_hwm.py",
      "read_script": "generator/df-reads-spark-iceberg/3435_restore_identity_hwm.sql",
      "description": "IDENTITY high-water mark after RESTORE. Restore to v1, insert 20 more rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:identity-columns",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3436_restore_colmap_table",
      "num": 3436,
      "name": "restore_colmap_table",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3436_restore_colmap_table.py",
      "read_script": "generator/df-reads-spark-iceberg/3436_restore_colmap_table.sql",
      "description": "RESTORE on column-mapped table. Restore to v1 (original values).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3437_restore_dv_table",
      "num": 3437,
      "name": "restore_dv_table",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3437_restore_dv_table.py",
      "read_script": "generator/df-reads-spark-iceberg/3437_restore_dv_table.sql",
      "description": "RESTORE on DV-enabled table. Restore to v1 (all 50 rows).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3438_time_travel_colmap",
      "num": 3438,
      "name": "time_travel_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3438_time_travel_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/3438_time_travel_colmap.sql",
      "description": "Time travel on column-mapped table. V1=names 'tt_*', current='up_*'.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3439_time_travel_identity",
      "num": 3439,
      "name": "time_travel_identity",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3439_time_travel_identity.py",
      "read_script": "generator/df-reads-spark-iceberg/3439_time_travel_identity.sql",
      "description": "Time travel on IDENTITY table. V1=50 rows, current=100 rows.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:identity-columns",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/343_dv_merge",
      "num": 343,
      "name": "dv_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/343_dv_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/343_dv_merge.sql",
      "description": "MERGE UPDATE clause creates DVs",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3440_time_travel_widen",
      "num": 3440,
      "name": "time_travel_widen",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3440_time_travel_widen.py",
      "read_script": "generator/df-reads-spark-iceberg/3440_time_travel_widen.sql",
      "description": "Time travel across type widening. V1=50 rows INT val, current=100 rows BIGINT val.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:time-travel",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3441_constraint_multi_col_check",
      "num": 3441,
      "name": "constraint_multi_col_check",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3441_constraint_multi_col_check.py",
      "read_script": "generator/df-reads-spark-iceberg/3441_constraint_multi_col_check.sql",
      "description": "Multi-column CHECK constraint (end_val > start_val).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3442_constraint_range_check",
      "num": 3442,
      "name": "constraint_range_check",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3442_constraint_range_check.py",
      "read_script": "generator/df-reads-spark-iceberg/3442_constraint_range_check.sql",
      "description": "Range CHECK constraint (val BETWEEN 1 AND 1000).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3443_constraint_string_length",
      "num": 3443,
      "name": "constraint_string_length",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3443_constraint_string_length.py",
      "read_script": "generator/df-reads-spark-iceberg/3443_constraint_string_length.sql",
      "description": "CHECK on string length (LENGTH(code) = 3).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3444_constraint_not_null_plus_check",
      "num": 3444,
      "name": "constraint_not_null_plus_check",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3444_constraint_not_null_plus_check.py",
      "read_script": "generator/df-reads-spark-iceberg/3444_constraint_not_null_plus_check.sql",
      "description": "NOT NULL + CHECK(val > 0) on same column.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3445_constraint_after_merge",
      "num": 3445,
      "name": "constraint_after_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3445_constraint_after_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/3445_constraint_after_merge.sql",
      "description": "Constraint through MERGE. CHECK(val>0), MERGE updates and inserts.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3446_constraint_after_update",
      "num": 3446,
      "name": "constraint_after_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3446_constraint_after_update.py",
      "read_script": "generator/df-reads-spark-iceberg/3446_constraint_after_update.sql",
      "description": "Constraint through UPDATE. CHECK(val>0), UPDATE adds 100.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3447_constraint_two_checks",
      "num": 3447,
      "name": "constraint_two_checks",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3447_constraint_two_checks.py",
      "read_script": "generator/df-reads-spark-iceberg/3447_constraint_two_checks.sql",
      "description": "Two CHECK constraints on different columns.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3448_default_int_value",
      "num": 3448,
      "name": "default_int_value",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3448_default_int_value.py",
      "read_script": "generator/df-reads-spark-iceberg/3448_default_int_value.sql",
      "description": "INT column DEFAULT value (priority=5).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3449_default_boolean_value",
      "num": 3449,
      "name": "default_boolean_value",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3449_default_boolean_value.py",
      "read_script": "generator/df-reads-spark-iceberg/3449_default_boolean_value.sql",
      "description": "BOOLEAN column DEFAULT true.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/344_dv_large_scale",
      "num": 344,
      "name": "dv_large_scale",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/344_dv_large_scale.py",
      "read_script": "generator/df-reads-spark-iceberg/344_dv_large_scale.sql",
      "description": "DVs with high delete ratio",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3450_default_timestamp_value",
      "num": 3450,
      "name": "default_timestamp_value",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3450_default_timestamp_value.py",
      "read_script": "generator/df-reads-spark-iceberg/3450_default_timestamp_value.sql",
      "description": "Timestamp column with explicit deterministic values.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3451_default_null_explicit",
      "num": 3451,
      "name": "default_null_explicit",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3451_default_null_explicit.py",
      "read_script": "generator/df-reads-spark-iceberg/3451_default_null_explicit.sql",
      "description": "DEFAULT NULL column.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3452_default_after_evolve",
      "num": 3452,
      "name": "default_after_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3452_default_after_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/3452_default_after_evolve.sql",
      "description": "ADD COLUMN with DEFAULT. First 50 rows get NULL or default, last 50 get 'active'.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3453_default_with_merge",
      "num": 3453,
      "name": "default_with_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3453_default_with_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/3453_default_with_merge.sql",
      "description": "MERGE INSERT uses DEFAULT column value.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3454_default_multiple_cols",
      "num": 3454,
      "name": "default_multiple_cols",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3454_default_multiple_cols.py",
      "read_script": "generator/df-reads-spark-iceberg/3454_default_multiple_cols.sql",
      "description": "3 columns with DEFAULT values.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3455_not_null_merge",
      "num": 3455,
      "name": "not_null_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3455_not_null_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/3455_not_null_merge.sql",
      "description": "NOT NULL through MERGE.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3456_not_null_evolve",
      "num": 3456,
      "name": "not_null_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3456_not_null_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/3456_not_null_evolve.sql",
      "description": "ADD COLUMN with DEFAULT, then insert with explicit values.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:default-values",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3457_constraint_cdc_violation_log",
      "num": 3457,
      "name": "constraint_cdc_violation_log",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3457_constraint_cdc_violation_log.py",
      "read_script": "generator/df-reads-spark-iceberg/3457_constraint_cdc_violation_log.sql",
      "description": "CHECK + CDC. Constraint with CDC-enabled table.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3458_constraint_partition_cross",
      "num": 3458,
      "name": "constraint_partition_cross",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3458_constraint_partition_cross.py",
      "read_script": "generator/df-reads-spark-iceberg/3458_constraint_partition_cross.sql",
      "description": "CHECK constraint on partitioned table.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3459_default_cdc_record",
      "num": 3459,
      "name": "default_cdc_record",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3459_default_cdc_record.py",
      "read_script": "generator/df-reads-spark-iceberg/3459_default_cdc_record.sql",
      "description": "DEFAULT + CDC. status='new' via default, CDF insert records.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/345_dv_inline_vs_file",
      "num": 345,
      "name": "dv_inline_vs_file",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/345_dv_inline_vs_file.py",
      "read_script": "generator/df-reads-spark-iceberg/345_dv_inline_vs_file.sql",
      "description": "Small DV stored inline, large DV in file",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3460_constraint_evolve_add_check",
      "num": 3460,
      "name": "constraint_evolve_add_check",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3460_constraint_evolve_add_check.py",
      "read_script": "generator/df-reads-spark-iceberg/3460_constraint_evolve_add_check.sql",
      "description": "ADD CHECK to existing populated table, then insert more rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3461_clustering_basic_liquid",
      "num": 3461,
      "name": "clustering_basic_liquid",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3461_clustering_basic_liquid.py",
      "read_script": "generator/df-reads-spark-iceberg/3461_clustering_basic_liquid.sql",
      "description": "Liquid clustering via CLUSTER BY (region, bucket).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:liquid-clustering",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3462_domain_metadata_row_tracking",
      "num": 3462,
      "name": "domain_metadata_row_tracking",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3462_domain_metadata_row_tracking.py",
      "read_script": "generator/df-reads-spark-iceberg/3462_domain_metadata_row_tracking.sql",
      "description": "Row tracking domain metadata + update + delete + optimize.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3463_clustering_with_cdc",
      "num": 3463,
      "name": "clustering_with_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3463_clustering_with_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/3463_clustering_with_cdc.sql",
      "description": "Liquid clustering + Change Data Feed.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:liquid-clustering",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3464_clustering_with_dv",
      "num": 3464,
      "name": "clustering_with_dv",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3464_clustering_with_dv.py",
      "read_script": "generator/df-reads-spark-iceberg/3464_clustering_with_dv.sql",
      "description": "Liquid clustering + deletion vectors.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:liquid-clustering",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3465_clustering_with_merge",
      "num": 3465,
      "name": "clustering_with_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3465_clustering_with_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/3465_clustering_with_merge.sql",
      "description": "Liquid clustering + MERGE (update 30, insert 20).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:liquid-clustering",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3466_clustering_with_evolve",
      "num": 3466,
      "name": "clustering_with_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3466_clustering_with_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/3466_clustering_with_evolve.sql",
      "description": "Liquid clustering + ALTER ADD COLUMN.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:liquid-clustering",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3467_clustering_with_colmap",
      "num": 3467,
      "name": "clustering_with_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3467_clustering_with_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/3467_clustering_with_colmap.sql",
      "description": "Liquid clustering + column mapping (name mode).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:liquid-clustering",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3468_clustering_with_identity",
      "num": 3468,
      "name": "clustering_with_identity",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3468_clustering_with_identity.py",
      "read_script": "generator/df-reads-spark-iceberg/3468_clustering_with_identity.sql",
      "description": "Liquid clustering + IDENTITY column.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:identity-columns",
        "delta:liquid-clustering",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3469_clustering_with_checkpoint",
      "num": 3469,
      "name": "clustering_with_checkpoint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3469_clustering_with_checkpoint.py",
      "read_script": "generator/df-reads-spark-iceberg/3469_clustering_with_checkpoint.sql",
      "description": "Liquid clustering + multiple commits to trigger checkpoint.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:liquid-clustering",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/346_dv_uuid_path",
      "num": 346,
      "name": "dv_uuid_path",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/346_dv_uuid_path.py",
      "read_script": "generator/df-reads-spark-iceberg/346_dv_uuid_path.sql",
      "description": "DV file naming and referencing",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3470_clustering_with_restore",
      "num": 3470,
      "name": "clustering_with_restore",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3470_clustering_with_restore.py",
      "read_script": "generator/df-reads-spark-iceberg/3470_clustering_with_restore.sql",
      "description": "Liquid clustering + RESTORE to version 1.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:liquid-clustering",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3471_clustering_with_vacuum",
      "num": 3471,
      "name": "clustering_with_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3471_clustering_with_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/3471_clustering_with_vacuum.sql",
      "description": "Liquid clustering + VACUUM 0 hours.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:liquid-clustering",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3472_clustering_with_time_travel",
      "num": 3472,
      "name": "clustering_with_time_travel",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3472_clustering_with_time_travel.py",
      "read_script": "generator/df-reads-spark-iceberg/3472_clustering_with_time_travel.sql",
      "description": "Liquid clustering + two inserts for time travel read.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:liquid-clustering",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3473_clustering_multi_col",
      "num": 3473,
      "name": "clustering_multi_col",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3473_clustering_multi_col.py",
      "read_script": "generator/df-reads-spark-iceberg/3473_clustering_multi_col.sql",
      "description": "Multi-column CLUSTER BY (region, bucket).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3474_clustering_string_key",
      "num": 3474,
      "name": "clustering_string_key",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3474_clustering_string_key.py",
      "read_script": "generator/df-reads-spark-iceberg/3474_clustering_string_key.sql",
      "description": "CLUSTER BY on a STRING key.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3475_clustering_int_key",
      "num": 3475,
      "name": "clustering_int_key",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3475_clustering_int_key.py",
      "read_script": "generator/df-reads-spark-iceberg/3475_clustering_int_key.sql",
      "description": "CLUSTER BY on a bucket INT key.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3476_clustering_after_optimize",
      "num": 3476,
      "name": "clustering_after_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3476_clustering_after_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/3476_clustering_after_optimize.sql",
      "description": "Liquid clustering + insert + OPTIMIZE + insert + OPTIMIZE.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:liquid-clustering",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3477_clustering_with_constraint",
      "num": 3477,
      "name": "clustering_with_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3477_clustering_with_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/3477_clustering_with_constraint.sql",
      "description": "Liquid clustering + CHECK constraint.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "delta:liquid-clustering",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3478_clustering_decimal_key",
      "num": 3478,
      "name": "clustering_decimal_key",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3478_clustering_decimal_key.py",
      "read_script": "generator/df-reads-spark-iceberg/3478_clustering_decimal_key.sql",
      "description": "CLUSTER BY on a DECIMAL column.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3479_clustering_date_key",
      "num": 3479,
      "name": "clustering_date_key",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3479_clustering_date_key.py",
      "read_script": "generator/df-reads-spark-iceberg/3479_clustering_date_key.sql",
      "description": "CLUSTER BY on a DATE column.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/347_dv_statistics",
      "num": 347,
      "name": "dv_statistics",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/347_dv_statistics.py",
      "read_script": "generator/df-reads-spark-iceberg/347_dv_statistics.sql",
      "description": "Statistics reflect DV-filtered rows",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:deletion-vectors",
        "storage:statistics",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3480_clustering_after_update",
      "num": 3480,
      "name": "clustering_after_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3480_clustering_after_update.py",
      "read_script": "generator/df-reads-spark-iceberg/3480_clustering_after_update.sql",
      "description": "Liquid clustering + UPDATE shifts clustering keys.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:liquid-clustering",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3481_clustering_after_delete",
      "num": 3481,
      "name": "clustering_after_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3481_clustering_after_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/3481_clustering_after_delete.sql",
      "description": "Liquid clustering + DELETE tail rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:liquid-clustering",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3482_clustering_insert_only_many",
      "num": 3482,
      "name": "clustering_insert_only_many",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3482_clustering_insert_only_many.py",
      "read_script": "generator/df-reads-spark-iceberg/3482_clustering_insert_only_many.sql",
      "description": "Liquid clustering + 10 inserts of 50 rows each.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:liquid-clustering",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3483_rowtrack_basic_insert",
      "num": 3483,
      "name": "rowtrack_basic_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3483_rowtrack_basic_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/3483_rowtrack_basic_insert.sql",
      "description": "Row tracking basic insert.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3484_rowtrack_update_stable",
      "num": 3484,
      "name": "rowtrack_update_stable",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3484_rowtrack_update_stable.py",
      "read_script": "generator/df-reads-spark-iceberg/3484_rowtrack_update_stable.sql",
      "description": "Row tracking stable across UPDATE.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3485_rowtrack_delete_insert",
      "num": 3485,
      "name": "rowtrack_delete_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3485_rowtrack_delete_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/3485_rowtrack_delete_insert.sql",
      "description": "Row tracking + delete + re-insert.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3486_rowtrack_optimize_stable",
      "num": 3486,
      "name": "rowtrack_optimize_stable",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3486_rowtrack_optimize_stable.py",
      "read_script": "generator/df-reads-spark-iceberg/3486_rowtrack_optimize_stable.sql",
      "description": "Row tracking stable across OPTIMIZE.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:optimize",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3487_rowtrack_partition_distribute",
      "num": 3487,
      "name": "rowtrack_partition_distribute",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3487_rowtrack_partition_distribute.py",
      "read_script": "generator/df-reads-spark-iceberg/3487_rowtrack_partition_distribute.sql",
      "description": "Row tracking + partitioned table.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3488_rowtrack_checkpoint_survive",
      "num": 3488,
      "name": "rowtrack_checkpoint_survive",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3488_rowtrack_checkpoint_survive.py",
      "read_script": "generator/df-reads-spark-iceberg/3488_rowtrack_checkpoint_survive.sql",
      "description": "Row tracking across many commits.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3489_rowtrack_restore_stable",
      "num": 3489,
      "name": "rowtrack_restore_stable",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3489_rowtrack_restore_stable.py",
      "read_script": "generator/df-reads-spark-iceberg/3489_rowtrack_restore_stable.sql",
      "description": "Row tracking + RESTORE to version 1.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:row-tracking",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/348_dv_comprehensive",
      "num": 348,
      "name": "dv_comprehensive",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/348_dv_comprehensive.py",
      "read_script": "generator/df-reads-spark-iceberg/348_dv_comprehensive.sql",
      "description": "Full DV operation roundtrip",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3490_rowtrack_vacuum_safe",
      "num": 3490,
      "name": "rowtrack_vacuum_safe",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3490_rowtrack_vacuum_safe.py",
      "read_script": "generator/df-reads-spark-iceberg/3490_rowtrack_vacuum_safe.sql",
      "description": "Row tracking + VACUUM 0 hours.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:row-tracking",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3491_rowtrack_time_travel",
      "num": 3491,
      "name": "rowtrack_time_travel",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3491_rowtrack_time_travel.py",
      "read_script": "generator/df-reads-spark-iceberg/3491_rowtrack_time_travel.sql",
      "description": "Row tracking + time travel to v1.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:row-tracking",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3492_rowtrack_three_dml_chain",
      "num": 3492,
      "name": "rowtrack_three_dml_chain",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3492_rowtrack_three_dml_chain.py",
      "read_script": "generator/df-reads-spark-iceberg/3492_rowtrack_three_dml_chain.sql",
      "description": "Row tracking across INSERT + UPDATE + DELETE + INSERT.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3493_rowtrack_merge_insert_only",
      "num": 3493,
      "name": "rowtrack_merge_insert_only",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3493_rowtrack_merge_insert_only.py",
      "read_script": "generator/df-reads-spark-iceberg/3493_rowtrack_merge_insert_only.sql",
      "description": "Row tracking + MERGE WHEN NOT MATCHED INSERT.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3494_rowtrack_merge_update_only",
      "num": 3494,
      "name": "rowtrack_merge_update_only",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3494_rowtrack_merge_update_only.py",
      "read_script": "generator/df-reads-spark-iceberg/3494_rowtrack_merge_update_only.sql",
      "description": "Row tracking + MERGE WHEN MATCHED UPDATE only.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3495_rowtrack_merge_delete_only",
      "num": 3495,
      "name": "rowtrack_merge_delete_only",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3495_rowtrack_merge_delete_only.py",
      "read_script": "generator/df-reads-spark-iceberg/3495_rowtrack_merge_delete_only.sql",
      "description": "Row tracking + MERGE WHEN MATCHED DELETE only.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3496_rowtrack_merge_three_clause",
      "num": 3496,
      "name": "rowtrack_merge_three_clause",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3496_rowtrack_merge_three_clause.py",
      "read_script": "generator/df-reads-spark-iceberg/3496_rowtrack_merge_three_clause.sql",
      "description": "Row tracking + MERGE with UPDATE + DELETE + INSERT clauses.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3497_rowtrack_wide_table",
      "num": 3497,
      "name": "rowtrack_wide_table",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3497_rowtrack_wide_table.py",
      "read_script": "generator/df-reads-spark-iceberg/3497_rowtrack_wide_table.sql",
      "description": "Row tracking + 10-column table.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:row-tracking",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3498_rowtrack_null_values",
      "num": 3498,
      "name": "rowtrack_null_values",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3498_rowtrack_null_values.py",
      "read_script": "generator/df-reads-spark-iceberg/3498_rowtrack_null_values.sql",
      "description": "Row tracking + NULL values in columns.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3499_rowtrack_large_insert",
      "num": 3499,
      "name": "rowtrack_large_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3499_rowtrack_large_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/3499_rowtrack_large_insert.sql",
      "description": "Row tracking + large insert (1000 rows).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/349_time_travel_version",
      "num": 349,
      "name": "time_travel_version",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/349_time_travel_version.py",
      "read_script": "generator/df-reads-spark-iceberg/349_time_travel_version.sql",
      "description": "Read table at specific version (VERSION AS OF)",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/34_dv_storage_absolute_path",
      "num": 34,
      "name": "dv_storage_absolute_path",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/34_dv_storage_absolute_path.py",
      "read_script": "generator/df-reads-spark-iceberg/34_dv_storage_absolute_path.sql",
      "description": "Demonstrates deletion vectors with absolute path storage (storageType: \"p\"). pathOrInlineDv: absolute URI (e.g., \"s3://bucket/table/deletion_vector_uuid.bin\")",
      "status": "pass",
      "duration_ms": 27,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:47:18.737752+00:00",
      "read_cold_ms": 27,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3500_rowtrack_many_versions",
      "num": 3500,
      "name": "rowtrack_many_versions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3500_rowtrack_many_versions.py",
      "read_script": "generator/df-reads-spark-iceberg/3500_rowtrack_many_versions.sql",
      "description": "Row tracking across 20 insert commits (5 rows each).",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:15:25.620253+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3501_rowtrack_with_stats",
      "num": 3501,
      "name": "rowtrack_with_stats",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3501_rowtrack_with_stats.py",
      "read_script": "generator/df-reads-spark-iceberg/3501_rowtrack_with_stats.sql",
      "description": "Row tracking + min/max stats.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3502_rowtrack_cdc_combined",
      "num": 3502,
      "name": "rowtrack_cdc_combined",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3502_rowtrack_cdc_combined.py",
      "read_script": "generator/df-reads-spark-iceberg/3502_rowtrack_cdc_combined.sql",
      "description": "Row tracking + Change Data Feed together.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3503_ict_many_versions",
      "num": 3503,
      "name": "ict_many_versions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3503_ict_many_versions.py",
      "read_script": "generator/df-reads-spark-iceberg/3503_ict_many_versions.sql",
      "description": "ICT across 20 commit depth (20 INSERTs of 5 rows each).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3504_ict_with_rowtrack",
      "num": 3504,
      "name": "ict_with_rowtrack",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3504_ict_with_rowtrack.py",
      "read_script": "generator/df-reads-spark-iceberg/3504_ict_with_rowtrack.sql",
      "description": "ICT + rowTracking + INSERT 200.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3505_ict_update_sequence",
      "num": 3505,
      "name": "ict_update_sequence",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3505_ict_update_sequence.py",
      "read_script": "generator/df-reads-spark-iceberg/3505_ict_update_sequence.sql",
      "description": "ICT across INSERT + 5 UPDATE commits.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3506_ict_delete_sequence",
      "num": 3506,
      "name": "ict_delete_sequence",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3506_ict_delete_sequence.py",
      "read_script": "generator/df-reads-spark-iceberg/3506_ict_delete_sequence.sql",
      "description": "ICT across INSERT + 5 DELETE commits.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3507_ict_merge_pattern",
      "num": 3507,
      "name": "ict_merge_pattern",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3507_ict_merge_pattern.py",
      "read_script": "generator/df-reads-spark-iceberg/3507_ict_merge_pattern.sql",
      "description": "ICT across INSERT + MERGE (update 20, insert 30).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3508_ict_after_optimize",
      "num": 3508,
      "name": "ict_after_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3508_ict_after_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/3508_ict_after_optimize.sql",
      "description": "ICT across 5 INSERTs + OPTIMIZE + 1 INSERT.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3509_ict_three_features",
      "num": 3509,
      "name": "ict_three_features",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3509_ict_three_features.py",
      "read_script": "generator/df-reads-spark-iceberg/3509_ict_three_features.sql",
      "description": "ICT + CDC + rowTracking + INSERT 100 + UPDATE 30.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/350_time_travel_timestamp",
      "num": 350,
      "name": "time_travel_timestamp",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/350_time_travel_timestamp.py",
      "read_script": "generator/df-reads-spark-iceberg/350_time_travel_timestamp.sql",
      "description": "Read table at specific timestamp (TIMESTAMP AS OF)",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:time-travel",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3510_ict_with_checkpoint",
      "num": 3510,
      "name": "ict_with_checkpoint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3510_ict_with_checkpoint.py",
      "read_script": "generator/df-reads-spark-iceberg/3510_ict_with_checkpoint.sql",
      "description": "ICT + 12 small INSERTs (may cross checkpoint threshold).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3511_ict_with_restore",
      "num": 3511,
      "name": "ict_with_restore",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3511_ict_with_restore.py",
      "read_script": "generator/df-reads-spark-iceberg/3511_ict_with_restore.sql",
      "description": "100 rows (INSERT 50 + INSERT 50; no restore step in Iceberg Spark)",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3512_ict_with_vacuum",
      "num": 3512,
      "name": "ict_with_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3512_ict_with_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/3512_ict_with_vacuum.sql",
      "description": "ICT + INSERT + DELETE + VACUUM RETAIN 0 HOURS.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3513_ict_with_evolve",
      "num": 3513,
      "name": "ict_with_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3513_ict_with_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/3513_ict_with_evolve.sql",
      "description": "ICT + schema evolution (ALTER ADD COLUMN) + subsequent INSERT.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3514_ict_with_widen",
      "num": 3514,
      "name": "ict_with_widen",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3514_ict_with_widen.py",
      "read_script": "generator/df-reads-spark-iceberg/3514_ict_with_widen.sql",
      "description": "ICT + type widening INT -> BIGINT.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3515_ict_with_colmap",
      "num": 3515,
      "name": "ict_with_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3515_ict_with_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/3515_ict_with_colmap.sql",
      "description": "ICT + column mapping (name mode).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3516_ict_with_identity",
      "num": 3516,
      "name": "ict_with_identity",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3516_ict_with_identity.py",
      "read_script": "generator/df-reads-spark-iceberg/3516_ict_with_identity.sql",
      "description": "ICT + IDENTITY column (auto id).",
      "status": "pass",
      "duration_ms": 22,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 22,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:default-values",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3517_ict_with_constraint",
      "num": 3517,
      "name": "ict_with_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3517_ict_with_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/3517_ict_with_constraint.sql",
      "description": "ICT + CHECK constraint.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3518_ict_with_default",
      "num": 3518,
      "name": "ict_with_default",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3518_ict_with_default.py",
      "read_script": "generator/df-reads-spark-iceberg/3518_ict_with_default.sql",
      "description": "ICT + DEFAULT column literal.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3519_ict_with_partition",
      "num": 3519,
      "name": "ict_with_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3519_ict_with_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/3519_ict_with_partition.sql",
      "description": "ICT + PARTITIONED BY region (4 regions).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/351_time_travel_first",
      "num": 351,
      "name": "time_travel_first",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/351_time_travel_first.py",
      "read_script": "generator/df-reads-spark-iceberg/351_time_travel_first.sql",
      "description": "Access version 0 (initial create state)",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3520_ict_with_dv_cdc",
      "num": 3520,
      "name": "ict_with_dv_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3520_ict_with_dv_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/3520_ict_with_dv_cdc.sql",
      "description": "ICT + DV + CDC + INSERT 100 + DELETE 30 + UPDATE 20.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3521_ict_many_columns",
      "num": 3521,
      "name": "ict_many_columns",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3521_ict_many_columns.py",
      "read_script": "generator/df-reads-spark-iceberg/3521_ict_many_columns.sql",
      "description": "ICT + 10-column table.",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3522_ict_string_key",
      "num": 3522,
      "name": "ict_string_key",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3522_ict_string_key.py",
      "read_script": "generator/df-reads-spark-iceberg/3522_ict_string_key.sql",
      "description": "ICT + additional STRING key column.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3523_generated_year_from_date",
      "num": 3523,
      "name": "generated_year_from_date",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3523_generated_year_from_date.py",
      "read_script": "generator/df-reads-spark-iceberg/3523_generated_year_from_date.sql",
      "description": "GENERATED ALWAYS AS (YEAR(dt)).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3524_generated_month_from_date",
      "num": 3524,
      "name": "generated_month_from_date",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3524_generated_month_from_date.py",
      "read_script": "generator/df-reads-spark-iceberg/3524_generated_month_from_date.sql",
      "description": "GENERATED ALWAYS AS (MONTH(dt)).",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3525_generated_day_from_date",
      "num": 3525,
      "name": "generated_day_from_date",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3525_generated_day_from_date.py",
      "read_script": "generator/df-reads-spark-iceberg/3525_generated_day_from_date.sql",
      "description": "GENERATED ALWAYS AS (DAY(dt)).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3526_generated_expr_plus",
      "num": 3526,
      "name": "generated_expr_plus",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3526_generated_expr_plus.py",
      "read_script": "generator/df-reads-spark-iceberg/3526_generated_expr_plus.sql",
      "description": "GENERATED ALWAYS AS (a + b).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3527_generated_expr_mult",
      "num": 3527,
      "name": "generated_expr_mult",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3527_generated_expr_mult.py",
      "read_script": "generator/df-reads-spark-iceberg/3527_generated_expr_mult.sql",
      "description": "GENERATED ALWAYS AS (base * 2).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3528_default_current_literal",
      "num": 3528,
      "name": "default_current_literal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3528_default_current_literal.py",
      "read_script": "generator/df-reads-spark-iceberg/3528_default_current_literal.sql",
      "description": "Multiple DEFAULT columns (string + int).",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3529_default_numeric_zero",
      "num": 3529,
      "name": "default_numeric_zero",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3529_default_numeric_zero.py",
      "read_script": "generator/df-reads-spark-iceberg/3529_default_numeric_zero.sql",
      "description": "DEFAULT 0 on INT and BIGINT cols.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/352_time_travel_latest",
      "num": 352,
      "name": "time_travel_latest",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/352_time_travel_latest.py",
      "read_script": "generator/df-reads-spark-iceberg/352_time_travel_latest.sql",
      "description": "Verify latest version resolution (no time travel)",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3530_default_string_empty",
      "num": 3530,
      "name": "default_string_empty",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3530_default_string_empty.py",
      "read_script": "generator/df-reads-spark-iceberg/3530_default_string_empty.sql",
      "description": "DEFAULT '' (empty string).",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3531_default_boolean_false",
      "num": 3531,
      "name": "default_boolean_false",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3531_default_boolean_false.py",
      "read_script": "generator/df-reads-spark-iceberg/3531_default_boolean_false.sql",
      "description": "DEFAULT false on BOOLEAN.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3532_default_double_value",
      "num": 3532,
      "name": "default_double_value",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3532_default_double_value.py",
      "read_script": "generator/df-reads-spark-iceberg/3532_default_double_value.sql",
      "description": "DEFAULT 1.0 on DOUBLE.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3533_default_after_optimize",
      "num": 3533,
      "name": "default_after_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3533_default_after_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/3533_default_after_optimize.sql",
      "description": "DEFAULT + INSERT 100 + OPTIMIZE (compaction preserves defaults).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3534_default_after_partition",
      "num": 3534,
      "name": "default_after_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3534_default_after_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/3534_default_after_partition.sql",
      "description": "PARTITIONED BY + DEFAULT.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3535_default_after_constraint",
      "num": 3535,
      "name": "default_after_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3535_default_after_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/3535_default_after_constraint.sql",
      "description": "DEFAULT 10 + CHECK(val>0).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3536_default_after_colmap",
      "num": 3536,
      "name": "default_after_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3536_default_after_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/3536_default_after_colmap.sql",
      "description": "columnMapping name mode + DEFAULT.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3537_default_after_identity",
      "num": 3537,
      "name": "default_after_identity",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3537_default_after_identity.py",
      "read_script": "generator/df-reads-spark-iceberg/3537_default_after_identity.sql",
      "description": "IDENTITY id + DEFAULT status.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3538_default_five_cols",
      "num": 3538,
      "name": "default_five_cols",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3538_default_five_cols.py",
      "read_script": "generator/df-reads-spark-iceberg/3538_default_five_cols.sql",
      "description": "5 DEFAULT columns of mixed types.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3539_default_mixed_explicit",
      "num": 3539,
      "name": "default_mixed_explicit",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3539_default_mixed_explicit.py",
      "read_script": "generator/df-reads-spark-iceberg/3539_default_mixed_explicit.sql",
      "description": "Mix of DEFAULT-applied and explicit-value rows.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/353_time_travel_after_delete",
      "num": 353,
      "name": "time_travel_after_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/353_time_travel_after_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/353_time_travel_after_delete.sql",
      "description": "Deleted rows visible in past versions",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3540_default_rowtrack_combo",
      "num": 3540,
      "name": "default_rowtrack_combo",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3540_default_rowtrack_combo.py",
      "read_script": "generator/df-reads-spark-iceberg/3540_default_rowtrack_combo.sql",
      "description": "rowTracking + DEFAULT.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3541_default_widen_combo",
      "num": 3541,
      "name": "default_widen_combo",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3541_default_widen_combo.py",
      "read_script": "generator/df-reads-spark-iceberg/3541_default_widen_combo.sql",
      "description": "DEFAULT 42 + type widening INT->BIGINT preserves value.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3542_default_three_cols_partition",
      "num": 3542,
      "name": "default_three_cols_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3542_default_three_cols_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/3542_default_three_cols_partition.sql",
      "description": "3 DEFAULT cols + PARTITIONED BY region.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3543_cdc_dv_colmap_partition_identity",
      "num": 3543,
      "name": "cdc_dv_colmap_partition_identity",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3543_cdc_dv_colmap_partition_identity.py",
      "read_script": "generator/df-reads-spark-iceberg/3543_cdc_dv_colmap_partition_identity.sql",
      "description": "CDC + DV + column mapping + partition + IDENTITY",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3544_cdc_dv_colmap_partition_constraint",
      "num": 3544,
      "name": "cdc_dv_colmap_partition_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3544_cdc_dv_colmap_partition_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/3544_cdc_dv_colmap_partition_constraint.sql",
      "description": "CDC + DV + colmap + partition + CHECK(val>0)",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3545_cdc_dv_colmap_partition_default",
      "num": 3545,
      "name": "cdc_dv_colmap_partition_default",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3545_cdc_dv_colmap_partition_default.py",
      "read_script": "generator/df-reads-spark-iceberg/3545_cdc_dv_colmap_partition_default.sql",
      "description": "CDC+DV+colmap+partition+DEFAULT 'active",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:default-values",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3546_cdc_dv_colmap_partition_widen",
      "num": 3546,
      "name": "cdc_dv_colmap_partition_widen",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3546_cdc_dv_colmap_partition_widen.py",
      "read_script": "generator/df-reads-spark-iceberg/3546_cdc_dv_colmap_partition_widen.sql",
      "description": "CDC+DV+colmap+partition+type widening (INT->BIGINT on val)",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3547_cdc_dv_colmap_partition_evolve",
      "num": 3547,
      "name": "cdc_dv_colmap_partition_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3547_cdc_dv_colmap_partition_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/3547_cdc_dv_colmap_partition_evolve.sql",
      "description": "CDC+DV+colmap+partition+ADD COLUMN",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3548_cdc_dv_colmap_partition_ict",
      "num": 3548,
      "name": "cdc_dv_colmap_partition_ict",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3548_cdc_dv_colmap_partition_ict.py",
      "read_script": "generator/df-reads-spark-iceberg/3548_cdc_dv_colmap_partition_ict.sql",
      "description": "CDC+DV+colmap+partition+ICT",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3549_cdc_dv_colmap_partition_rowtrack",
      "num": 3549,
      "name": "cdc_dv_colmap_partition_rowtrack",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3549_cdc_dv_colmap_partition_rowtrack.py",
      "read_script": "generator/df-reads-spark-iceberg/3549_cdc_dv_colmap_partition_rowtrack.sql",
      "description": "CDC+DV+colmap+partition+rowtrack",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/354_time_travel_after_update",
      "num": 354,
      "name": "time_travel_after_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/354_time_travel_after_update.py",
      "read_script": "generator/df-reads-spark-iceberg/354_time_travel_after_update.sql",
      "description": "Old values visible in past versions",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3550_identity_colmap_cdc_partition_dv",
      "num": 3550,
      "name": "identity_colmap_cdc_partition_dv",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3550_identity_colmap_cdc_partition_dv.py",
      "read_script": "generator/df-reads-spark-iceberg/3550_identity_colmap_cdc_partition_dv.sql",
      "description": "IDENTITY+colmap+CDC+partition+DV",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:identity-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3551_identity_colmap_cdc_partition_constraint",
      "num": 3551,
      "name": "identity_colmap_cdc_partition_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3551_identity_colmap_cdc_partition_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/3551_identity_colmap_cdc_partition_constraint.sql",
      "description": "IDENTITY+colmap+CDC+partition+CHECK(val>0)",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:identity-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3552_identity_colmap_cdc_partition_default",
      "num": 3552,
      "name": "identity_colmap_cdc_partition_default",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3552_identity_colmap_cdc_partition_default.py",
      "read_script": "generator/df-reads-spark-iceberg/3552_identity_colmap_cdc_partition_default.sql",
      "description": "IDENTITY+colmap+CDC+partition+DEFAULT",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:default-values",
        "delta:identity-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3553_identity_colmap_cdc_partition_ict",
      "num": 3553,
      "name": "identity_colmap_cdc_partition_ict",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3553_identity_colmap_cdc_partition_ict.py",
      "read_script": "generator/df-reads-spark-iceberg/3553_identity_colmap_cdc_partition_ict.sql",
      "description": "IDENTITY+colmap+CDC+partition+ICT",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:identity-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3554_widen_cdc_dv_colmap",
      "num": 3554,
      "name": "widen_cdc_dv_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3554_widen_cdc_dv_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/3554_widen_cdc_dv_colmap.sql",
      "description": "type widening + CDC + DV + colmap",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3555_widen_cdc_dv_partition",
      "num": 3555,
      "name": "widen_cdc_dv_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3555_widen_cdc_dv_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/3555_widen_cdc_dv_partition.sql",
      "description": "widen+CDC+DV+partition",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3556_widen_cdc_dv_identity",
      "num": 3556,
      "name": "widen_cdc_dv_identity",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3556_widen_cdc_dv_identity.py",
      "read_script": "generator/df-reads-spark-iceberg/3556_widen_cdc_dv_identity.sql",
      "description": "widen+CDC+DV+IDENTITY",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3557_widen_cdc_dv_constraint",
      "num": 3557,
      "name": "widen_cdc_dv_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3557_widen_cdc_dv_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/3557_widen_cdc_dv_constraint.sql",
      "description": "widen+CDC+DV+CHECK(val>0)",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3558_widen_cdc_dv_rowtrack",
      "num": 3558,
      "name": "widen_cdc_dv_rowtrack",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3558_widen_cdc_dv_rowtrack.py",
      "read_script": "generator/df-reads-spark-iceberg/3558_widen_cdc_dv_rowtrack.sql",
      "description": "widen+CDC+DV+rowtrack",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3559_widen_cdc_dv_ict",
      "num": 3559,
      "name": "widen_cdc_dv_ict",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3559_widen_cdc_dv_ict.py",
      "read_script": "generator/df-reads-spark-iceberg/3559_widen_cdc_dv_ict.sql",
      "description": "widen+CDC+DV+ICT",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/355_time_travel_schema_evolution",
      "num": 355,
      "name": "time_travel_schema_evolution",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/355_time_travel_schema_evolution.py",
      "read_script": "generator/df-reads-spark-iceberg/355_time_travel_schema_evolution.sql",
      "description": "Read with old schema",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3560_widen_cdc_dv_default",
      "num": 3560,
      "name": "widen_cdc_dv_default",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3560_widen_cdc_dv_default.py",
      "read_script": "generator/df-reads-spark-iceberg/3560_widen_cdc_dv_default.sql",
      "description": "widen+CDC+DV+DEFAULT",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:default-values",
        "delta:deletion-vectors",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3561_evolve_cdc_dv_colmap",
      "num": 3561,
      "name": "evolve_cdc_dv_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3561_evolve_cdc_dv_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/3561_evolve_cdc_dv_colmap.sql",
      "description": "schema evolve + CDC + DV + colmap",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3562_evolve_cdc_dv_partition",
      "num": 3562,
      "name": "evolve_cdc_dv_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3562_evolve_cdc_dv_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/3562_evolve_cdc_dv_partition.sql",
      "description": "schema evolve + CDC + DV + partition",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3563_evolve_cdc_dv_identity",
      "num": 3563,
      "name": "evolve_cdc_dv_identity",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3563_evolve_cdc_dv_identity.py",
      "read_script": "generator/df-reads-spark-iceberg/3563_evolve_cdc_dv_identity.sql",
      "description": "schema evolve + CDC + DV + IDENTITY",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3564_evolve_cdc_dv_constraint",
      "num": 3564,
      "name": "evolve_cdc_dv_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3564_evolve_cdc_dv_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/3564_evolve_cdc_dv_constraint.sql",
      "description": "schema evolve + CDC + DV + CHECK(val>0)",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3565_evolve_cdc_dv_rowtrack",
      "num": 3565,
      "name": "evolve_cdc_dv_rowtrack",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3565_evolve_cdc_dv_rowtrack.py",
      "read_script": "generator/df-reads-spark-iceberg/3565_evolve_cdc_dv_rowtrack.sql",
      "description": "schema evolve + CDC + DV + rowtrack",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3566_evolve_cdc_dv_default",
      "num": 3566,
      "name": "evolve_cdc_dv_default",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3566_evolve_cdc_dv_default.py",
      "read_script": "generator/df-reads-spark-iceberg/3566_evolve_cdc_dv_default.sql",
      "description": "schema evolve + CDC + DV + DEFAULT",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:default-values",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3567_constraint_cdc_dv_colmap",
      "num": 3567,
      "name": "constraint_cdc_dv_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3567_constraint_cdc_dv_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/3567_constraint_cdc_dv_colmap.sql",
      "description": "CHECK(val>0)+CDC+DV+colmap",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3568_constraint_cdc_dv_partition",
      "num": 3568,
      "name": "constraint_cdc_dv_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3568_constraint_cdc_dv_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/3568_constraint_cdc_dv_partition.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3569_constraint_cdc_dv_identity",
      "num": 3569,
      "name": "constraint_cdc_dv_identity",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3569_constraint_cdc_dv_identity.py",
      "read_script": "generator/df-reads-spark-iceberg/3569_constraint_cdc_dv_identity.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/356_time_travel_after_vacuum",
      "num": 356,
      "name": "time_travel_after_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/356_time_travel_after_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/356_time_travel_after_vacuum.sql",
      "description": "Versions before retention period are inaccessible after VACUUM",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3570_constraint_cdc_dv_rowtrack",
      "num": 3570,
      "name": "constraint_cdc_dv_rowtrack",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3570_constraint_cdc_dv_rowtrack.py",
      "read_script": "generator/df-reads-spark-iceberg/3570_constraint_cdc_dv_rowtrack.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3571_constraint_cdc_dv_ict",
      "num": 3571,
      "name": "constraint_cdc_dv_ict",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3571_constraint_cdc_dv_ict.py",
      "read_script": "generator/df-reads-spark-iceberg/3571_constraint_cdc_dv_ict.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3572_default_cdc_dv_colmap",
      "num": 3572,
      "name": "default_cdc_dv_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3572_default_cdc_dv_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/3572_default_cdc_dv_colmap.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3573_default_cdc_dv_partition",
      "num": 3573,
      "name": "default_cdc_dv_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3573_default_cdc_dv_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/3573_default_cdc_dv_partition.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3574_default_cdc_dv_identity",
      "num": 3574,
      "name": "default_cdc_dv_identity",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3574_default_cdc_dv_identity.py",
      "read_script": "generator/df-reads-spark-iceberg/3574_default_cdc_dv_identity.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3575_default_cdc_dv_rowtrack",
      "num": 3575,
      "name": "default_cdc_dv_rowtrack",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3575_default_cdc_dv_rowtrack.py",
      "read_script": "generator/df-reads-spark-iceberg/3575_default_cdc_dv_rowtrack.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3576_default_cdc_dv_constraint",
      "num": 3576,
      "name": "default_cdc_dv_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3576_default_cdc_dv_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/3576_default_cdc_dv_constraint.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3577_default_cdc_dv_ict",
      "num": 3577,
      "name": "default_cdc_dv_ict",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3577_default_cdc_dv_ict.py",
      "read_script": "generator/df-reads-spark-iceberg/3577_default_cdc_dv_ict.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3578_identity_dv_constraint_default",
      "num": 3578,
      "name": "identity_dv_constraint_default",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3578_identity_dv_constraint_default.py",
      "read_script": "generator/df-reads-spark-iceberg/3578_identity_dv_constraint_default.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3579_identity_dv_constraint_partition",
      "num": 3579,
      "name": "identity_dv_constraint_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3579_identity_dv_constraint_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/3579_identity_dv_constraint_partition.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/357_time_travel_partitioned",
      "num": 357,
      "name": "time_travel_partitioned",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/357_time_travel_partitioned.py",
      "read_script": "generator/df-reads-spark-iceberg/357_time_travel_partitioned.sql",
      "description": "Partition-aware time travel",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3580_identity_dv_constraint_rowtrack",
      "num": 3580,
      "name": "identity_dv_constraint_rowtrack",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3580_identity_dv_constraint_rowtrack.py",
      "read_script": "generator/df-reads-spark-iceberg/3580_identity_dv_constraint_rowtrack.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3581_identity_dv_constraint_evolve",
      "num": 3581,
      "name": "identity_dv_constraint_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3581_identity_dv_constraint_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/3581_identity_dv_constraint_evolve.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3582_identity_dv_partition_evolve",
      "num": 3582,
      "name": "identity_dv_partition_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3582_identity_dv_partition_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/3582_identity_dv_partition_evolve.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3583_identity_dv_partition_colmap",
      "num": 3583,
      "name": "identity_dv_partition_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3583_identity_dv_partition_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/3583_identity_dv_partition_colmap.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3584_identity_dv_partition_default",
      "num": 3584,
      "name": "identity_dv_partition_default",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3584_identity_dv_partition_default.py",
      "read_script": "generator/df-reads-spark-iceberg/3584_identity_dv_partition_default.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3585_rowtrack_dv_constraint_partition",
      "num": 3585,
      "name": "rowtrack_dv_constraint_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3585_rowtrack_dv_constraint_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/3585_rowtrack_dv_constraint_partition.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3586_rowtrack_dv_constraint_default",
      "num": 3586,
      "name": "rowtrack_dv_constraint_default",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3586_rowtrack_dv_constraint_default.py",
      "read_script": "generator/df-reads-spark-iceberg/3586_rowtrack_dv_constraint_default.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3587_rowtrack_dv_colmap_partition",
      "num": 3587,
      "name": "rowtrack_dv_colmap_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3587_rowtrack_dv_colmap_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/3587_rowtrack_dv_colmap_partition.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3588_rowtrack_dv_colmap_default",
      "num": 3588,
      "name": "rowtrack_dv_colmap_default",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3588_rowtrack_dv_colmap_default.py",
      "read_script": "generator/df-reads-spark-iceberg/3588_rowtrack_dv_colmap_default.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3589_rowtrack_dv_identity_constraint",
      "num": 3589,
      "name": "rowtrack_dv_identity_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3589_rowtrack_dv_identity_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/3589_rowtrack_dv_identity_constraint.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/358_time_travel_with_dvs",
      "num": 358,
      "name": "time_travel_with_dvs",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/358_time_travel_with_dvs.py",
      "read_script": "generator/df-reads-spark-iceberg/358_time_travel_with_dvs.sql",
      "description": "DVs filtered correctly at past versions",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3590_rowtrack_dv_identity_partition",
      "num": 3590,
      "name": "rowtrack_dv_identity_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3590_rowtrack_dv_identity_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/3590_rowtrack_dv_identity_partition.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "delta:partitioning",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3591_ict_rowtrack_cdc_dv",
      "num": 3591,
      "name": "ict_rowtrack_cdc_dv",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3591_ict_rowtrack_cdc_dv.py",
      "read_script": "generator/df-reads-spark-iceberg/3591_ict_rowtrack_cdc_dv.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3592_ict_rowtrack_partition_dv",
      "num": 3592,
      "name": "ict_rowtrack_partition_dv",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3592_ict_rowtrack_partition_dv.py",
      "read_script": "generator/df-reads-spark-iceberg/3592_ict_rowtrack_partition_dv.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3593_ict_rowtrack_colmap_dv",
      "num": 3593,
      "name": "ict_rowtrack_colmap_dv",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3593_ict_rowtrack_colmap_dv.py",
      "read_script": "generator/df-reads-spark-iceberg/3593_ict_rowtrack_colmap_dv.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3594_ict_rowtrack_identity_dv",
      "num": 3594,
      "name": "ict_rowtrack_identity_dv",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3594_ict_rowtrack_identity_dv.py",
      "read_script": "generator/df-reads-spark-iceberg/3594_ict_rowtrack_identity_dv.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:identity-columns",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3595_ict_rowtrack_constraint_dv",
      "num": 3595,
      "name": "ict_rowtrack_constraint_dv",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3595_ict_rowtrack_constraint_dv.py",
      "read_script": "generator/df-reads-spark-iceberg/3595_ict_rowtrack_constraint_dv.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3596_ict_rowtrack_default_dv",
      "num": 3596,
      "name": "ict_rowtrack_default_dv",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3596_ict_rowtrack_default_dv.py",
      "read_script": "generator/df-reads-spark-iceberg/3596_ict_rowtrack_default_dv.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3597_ict_rowtrack_evolve_dv",
      "num": 3597,
      "name": "ict_rowtrack_evolve_dv",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3597_ict_rowtrack_evolve_dv.py",
      "read_script": "generator/df-reads-spark-iceberg/3597_ict_rowtrack_evolve_dv.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:row-tracking",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3598_ict_rowtrack_widen_dv",
      "num": 3598,
      "name": "ict_rowtrack_widen_dv",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3598_ict_rowtrack_widen_dv.py",
      "read_script": "generator/df-reads-spark-iceberg/3598_ict_rowtrack_widen_dv.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:row-tracking",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3599_ict_cdc_colmap_partition",
      "num": 3599,
      "name": "ict_cdc_colmap_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3599_ict_cdc_colmap_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/3599_ict_cdc_colmap_partition.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/359_time_travel_ict",
      "num": 359,
      "name": "time_travel_ict",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/359_time_travel_ict.py",
      "read_script": "generator/df-reads-spark-iceberg/359_time_travel_ict.sql",
      "description": "In-Commit Timestamps used for timestamp resolution",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/35_dv_storage_inline_embedded",
      "num": 35,
      "name": "dv_storage_inline_embedded",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/35_dv_storage_inline_embedded.py",
      "read_script": "generator/df-reads-spark-iceberg/35_dv_storage_inline_embedded.sql",
      "description": "Demonstrates deletion vectors with inline storage (storageType: \"i\"). pathOrInlineDv: base85-encoded DV data embedded in the log",
      "status": "pass",
      "duration_ms": 21,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:47:18.737752+00:00",
      "read_cold_ms": 21,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3600_ict_cdc_identity_partition",
      "num": 3600,
      "name": "ict_cdc_identity_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3600_ict_cdc_identity_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/3600_ict_cdc_identity_partition.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:identity-columns",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3601_ict_cdc_constraint_partition",
      "num": 3601,
      "name": "ict_cdc_constraint_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3601_ict_cdc_constraint_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/3601_ict_cdc_constraint_partition.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3602_ict_cdc_default_partition",
      "num": 3602,
      "name": "ict_cdc_default_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3602_ict_cdc_default_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/3602_ict_cdc_default_partition.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3603_insert_overwrite_full",
      "num": 3603,
      "name": "insert_overwrite_full",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3603_insert_overwrite_full.py",
      "read_script": "generator/df-reads-spark-iceberg/3603_insert_overwrite_full.sql",
      "description": "INSERT OVERWRITE full table replacement.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3604_insert_select_from_table",
      "num": 3604,
      "name": "insert_select_from_table",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3604_insert_select_from_table.py",
      "read_script": "generator/df-reads-spark-iceberg/3604_insert_select_from_table.sql",
      "description": "INSERT INTO table B SELECT FROM table A.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3605_insert_with_null_cols",
      "num": 3605,
      "name": "insert_with_null_cols",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3605_insert_with_null_cols.py",
      "read_script": "generator/df-reads-spark-iceberg/3605_insert_with_null_cols.sql",
      "description": "INSERT with explicit NULLs in some rows.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3606_insert_cte_pattern",
      "num": 3606,
      "name": "insert_cte_pattern",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3606_insert_cte_pattern.py",
      "read_script": "generator/df-reads-spark-iceberg/3606_insert_cte_pattern.sql",
      "description": "INSERT using WITH CTE source.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3607_insert_union_all",
      "num": 3607,
      "name": "insert_union_all",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3607_insert_union_all.py",
      "read_script": "generator/df-reads-spark-iceberg/3607_insert_union_all.sql",
      "description": "INSERT using UNION ALL across two generate_series ranges.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3608_update_subquery_check",
      "num": 3608,
      "name": "update_subquery_check",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3608_update_subquery_check.py",
      "read_script": "generator/df-reads-spark-iceberg/3608_update_subquery_check.sql",
      "description": "UPDATE using IN (subquery).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3609_update_literal_values",
      "num": 3609,
      "name": "update_literal_values",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3609_update_literal_values.py",
      "read_script": "generator/df-reads-spark-iceberg/3609_update_literal_values.sql",
      "description": "UPDATE with literal values on a single row.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/360_time_travel_before_create",
      "num": 360,
      "name": "time_travel_before_create",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/360_time_travel_before_create.py",
      "read_script": "generator/df-reads-spark-iceberg/360_time_travel_before_create.sql",
      "description": "Timestamp before table creation should error",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3610_update_where_complex",
      "num": 3610,
      "name": "update_where_complex",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3610_update_where_complex.py",
      "read_script": "generator/df-reads-spark-iceberg/3610_update_where_complex.sql",
      "description": "UPDATE with complex WHERE (BETWEEN + modulo).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3611_update_all_rows",
      "num": 3611,
      "name": "update_all_rows",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3611_update_all_rows.py",
      "read_script": "generator/df-reads-spark-iceberg/3611_update_all_rows.sql",
      "description": "UPDATE all rows (no WHERE).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3612_update_no_condition_where_true",
      "num": 3612,
      "name": "update_no_condition_where_true",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3612_update_no_condition_where_true.py",
      "read_script": "generator/df-reads-spark-iceberg/3612_update_no_condition_where_true.sql",
      "description": "UPDATE with always-true WHERE 1=1.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3613_delete_where_in_list",
      "num": 3613,
      "name": "delete_where_in_list",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3613_delete_where_in_list.py",
      "read_script": "generator/df-reads-spark-iceberg/3613_delete_where_in_list.sql",
      "description": "DELETE WHERE id IN literal list.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3614_delete_where_not_in",
      "num": 3614,
      "name": "delete_where_not_in",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3614_delete_where_not_in.py",
      "read_script": "generator/df-reads-spark-iceberg/3614_delete_where_not_in.sql",
      "description": "DELETE WHERE id NOT IN (...).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3615_delete_where_subquery",
      "num": 3615,
      "name": "delete_where_subquery",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3615_delete_where_subquery.py",
      "read_script": "generator/df-reads-spark-iceberg/3615_delete_where_subquery.sql",
      "description": "DELETE WHERE id IN (subquery).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3616_delete_where_not_null",
      "num": 3616,
      "name": "delete_where_not_null",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3616_delete_where_not_null.py",
      "read_script": "generator/df-reads-spark-iceberg/3616_delete_where_not_null.sql",
      "description": "DELETE WHERE tag IS NOT NULL.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3617_delete_where_null",
      "num": 3617,
      "name": "delete_where_null",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3617_delete_where_null.py",
      "read_script": "generator/df-reads-spark-iceberg/3617_delete_where_null.sql",
      "description": "DELETE WHERE tag IS NULL.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3618_delete_where_like",
      "num": 3618,
      "name": "delete_where_like",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3618_delete_where_like.py",
      "read_script": "generator/df-reads-spark-iceberg/3618_delete_where_like.sql",
      "description": "DELETE WHERE tag LIKE 'apple%'.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3619_delete_boolean_col",
      "num": 3619,
      "name": "delete_boolean_col",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3619_delete_boolean_col.py",
      "read_script": "generator/df-reads-spark-iceberg/3619_delete_boolean_col.sql",
      "description": "DELETE WHERE bool col = false.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/361_time_travel_between_versions",
      "num": 361,
      "name": "time_travel_between_versions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/361_time_travel_between_versions.py",
      "read_script": "generator/df-reads-spark-iceberg/361_time_travel_between_versions.sql",
      "description": "Timestamp between commits resolves to earlier version",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3620_merge_match_multi_condition",
      "num": 3620,
      "name": "merge_match_multi_condition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3620_merge_match_multi_condition.py",
      "read_script": "generator/df-reads-spark-iceberg/3620_merge_match_multi_condition.sql",
      "description": "MERGE WHEN MATCHED AND extra condition.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3621_merge_insert_subset",
      "num": 3621,
      "name": "merge_insert_subset",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3621_merge_insert_subset.py",
      "read_script": "generator/df-reads-spark-iceberg/3621_merge_insert_subset.sql",
      "description": "MERGE with source having extra rows -> mix UPDATE and INSERT.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3622_merge_with_literal_update",
      "num": 3622,
      "name": "merge_with_literal_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3622_merge_with_literal_update.py",
      "read_script": "generator/df-reads-spark-iceberg/3622_merge_with_literal_update.sql",
      "description": "MERGE with literal values in UPDATE SET.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3623_merge_with_case_in_update",
      "num": 3623,
      "name": "merge_with_case_in_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3623_merge_with_case_in_update.py",
      "read_script": "generator/df-reads-spark-iceberg/3623_merge_with_case_in_update.sql",
      "description": "MERGE UPDATE SET using CASE expression.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3624_merge_no_matches",
      "num": 3624,
      "name": "merge_no_matches",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3624_merge_no_matches.py",
      "read_script": "generator/df-reads-spark-iceberg/3624_merge_no_matches.sql",
      "description": "MERGE with source having no matching ids (all inserts).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3625_merge_all_matches",
      "num": 3625,
      "name": "merge_all_matches",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3625_merge_all_matches.py",
      "read_script": "generator/df-reads-spark-iceberg/3625_merge_all_matches.sql",
      "description": "MERGE where every source row matches a target row (full update).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3626_merge_delete_conditional",
      "num": 3626,
      "name": "merge_delete_conditional",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3626_merge_delete_conditional.py",
      "read_script": "generator/df-reads-spark-iceberg/3626_merge_delete_conditional.sql",
      "description": "MERGE WHEN MATCHED AND cond THEN DELETE.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3627_merge_multi_condition_insert",
      "num": 3627,
      "name": "merge_multi_condition_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3627_merge_multi_condition_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/3627_merge_multi_condition_insert.sql",
      "description": "MERGE WHEN NOT MATCHED AND condition THEN INSERT.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3628_merge_then_vacuum",
      "num": 3628,
      "name": "merge_then_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3628_merge_then_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/3628_merge_then_vacuum.sql",
      "description": "MERGE followed by VACUUM (0 retention).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:merge",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3629_merge_then_restore",
      "num": 3629,
      "name": "merge_then_restore",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3629_merge_then_restore.py",
      "read_script": "generator/df-reads-spark-iceberg/3629_merge_then_restore.sql",
      "description": "MERGE followed by RESTORE TO VERSION 1 (pre-merge state).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/362_time_travel_cross_engine",
      "num": 362,
      "name": "time_travel_cross_engine",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/362_time_travel_cross_engine.py",
      "read_script": "generator/df-reads-spark-iceberg/362_time_travel_cross_engine.sql",
      "description": "DeltaForge reads DBX history, writes new version, DBX reads it",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3630_merge_then_time_travel",
      "num": 3630,
      "name": "merge_then_time_travel",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3630_merge_then_time_travel.py",
      "read_script": "generator/df-reads-spark-iceberg/3630_merge_then_time_travel.sql",
      "description": "MERGE then time travel reads at different versions.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3631_merge_then_evolve",
      "num": 3631,
      "name": "merge_then_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3631_merge_then_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/3631_merge_then_evolve.sql",
      "description": "MERGE then ALTER ADD COLUMN.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:merge",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3632_merge_then_widen",
      "num": 3632,
      "name": "merge_then_widen",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3632_merge_then_widen.py",
      "read_script": "generator/df-reads-spark-iceberg/3632_merge_then_widen.sql",
      "description": "MERGE then ALTER COLUMN widen INT -> BIGINT.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3633_insert_then_delete_then_insert",
      "num": 3633,
      "name": "insert_then_delete_then_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3633_insert_then_delete_then_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/3633_insert_then_delete_then_insert.sql",
      "description": "Three-phase DML: INSERT 50, DELETE 20, INSERT 30.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3634_update_then_update_then_update",
      "num": 3634,
      "name": "update_then_update_then_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3634_update_then_update_then_update.py",
      "read_script": "generator/df-reads-spark-iceberg/3634_update_then_update_then_update.sql",
      "description": "3 sequential UPDATEs on disjoint ranges.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3635_delete_then_update",
      "num": 3635,
      "name": "delete_then_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3635_delete_then_update.py",
      "read_script": "generator/df-reads-spark-iceberg/3635_delete_then_update.sql",
      "description": "DELETE followed by UPDATE.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3636_insert_overwrite_where",
      "num": 3636,
      "name": "insert_overwrite_where",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3636_insert_overwrite_where.py",
      "read_script": "generator/df-reads-spark-iceberg/3636_insert_overwrite_where.sql",
      "description": "Simulating partition overwrite via DELETE + INSERT for one region.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:overwrite",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3637_insert_values_multi",
      "num": 3637,
      "name": "insert_values_multi",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3637_insert_values_multi.py",
      "read_script": "generator/df-reads-spark-iceberg/3637_insert_values_multi.sql",
      "description": "INSERT INTO ... VALUES with multiple literal rows.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3638_update_zero_match_commit",
      "num": 3638,
      "name": "update_zero_match_commit",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3638_update_zero_match_commit.py",
      "read_script": "generator/df-reads-spark-iceberg/3638_update_zero_match_commit.sql",
      "description": "UPDATE with no matching rows -- should still create a commit.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3639_delete_zero_match_commit",
      "num": 3639,
      "name": "delete_zero_match_commit",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3639_delete_zero_match_commit.py",
      "read_script": "generator/df-reads-spark-iceberg/3639_delete_zero_match_commit.sql",
      "description": "DELETE with no matching rows.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/363_time_travel_comprehensive",
      "num": 363,
      "name": "time_travel_comprehensive",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/363_time_travel_comprehensive.py",
      "read_script": "generator/df-reads-spark-iceberg/363_time_travel_comprehensive.sql",
      "description": "Full time travel roundtrip",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:time-travel",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3640_merge_zero_match_commit",
      "num": 3640,
      "name": "merge_zero_match_commit",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3640_merge_zero_match_commit.py",
      "read_script": "generator/df-reads-spark-iceberg/3640_merge_zero_match_commit.sql",
      "description": "MERGE with source that matches nothing AND inserts nothing.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3641_insert_large_decimal",
      "num": 3641,
      "name": "insert_large_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3641_insert_large_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/3641_insert_large_decimal.sql",
      "description": "INSERT with DECIMAL(38,10) large values.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3642_update_date_col",
      "num": 3642,
      "name": "update_date_col",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3642_update_date_col.py",
      "read_script": "generator/df-reads-spark-iceberg/3642_update_date_col.sql",
      "description": "UPDATE a DATE column.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3643_update_timestamp_col",
      "num": 3643,
      "name": "update_timestamp_col",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3643_update_timestamp_col.py",
      "read_script": "generator/df-reads-spark-iceberg/3643_update_timestamp_col.sql",
      "description": "UPDATE a TIMESTAMP column to a fixed value.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3644_delete_date_range",
      "num": 3644,
      "name": "delete_date_range",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3644_delete_date_range.py",
      "read_script": "generator/df-reads-spark-iceberg/3644_delete_date_range.sql",
      "description": "DELETE over a DATE range.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3645_insert_binary_various",
      "num": 3645,
      "name": "insert_binary_various",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3645_insert_binary_various.py",
      "read_script": "generator/df-reads-spark-iceberg/3645_insert_binary_various.sql",
      "description": "INSERT BINARY column with various lengths.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:binary",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3646_update_to_null",
      "num": 3646,
      "name": "update_to_null",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3646_update_to_null.py",
      "read_script": "generator/df-reads-spark-iceberg/3646_update_to_null.sql",
      "description": "UPDATE SET column = NULL.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3647_delete_via_not_exists_style",
      "num": 3647,
      "name": "delete_via_not_exists_style",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3647_delete_via_not_exists_style.py",
      "read_script": "generator/df-reads-spark-iceberg/3647_delete_via_not_exists_style.sql",
      "description": "DELETE using NOT IN subquery (NOT EXISTS style).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3648_multi_insert_same_version",
      "num": 3648,
      "name": "multi_insert_same_version",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3648_multi_insert_same_version.py",
      "read_script": "generator/df-reads-spark-iceberg/3648_multi_insert_same_version.sql",
      "description": "3 consecutive INSERTs (no DML between).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3649_merge_aliased_source",
      "num": 3649,
      "name": "merge_aliased_source",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3649_merge_aliased_source.py",
      "read_script": "generator/df-reads-spark-iceberg/3649_merge_aliased_source.sql",
      "description": "MERGE with explicitly aliased source.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/364_restore_version",
      "num": 364,
      "name": "restore_version",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/364_restore_version.py",
      "read_script": "generator/df-reads-spark-iceberg/364_restore_version.sql",
      "description": "RESTORE TO VERSION command testing",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3650_update_col_from_another_col",
      "num": 3650,
      "name": "update_col_from_another_col",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3650_update_col_from_another_col.py",
      "read_script": "generator/df-reads-spark-iceberg/3650_update_col_from_another_col.sql",
      "description": "UPDATE one column from another column's value.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3651_delete_where_computed",
      "num": 3651,
      "name": "delete_where_computed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3651_delete_where_computed.py",
      "read_script": "generator/df-reads-spark-iceberg/3651_delete_where_computed.sql",
      "description": "DELETE with computed expression in WHERE.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3652_insert_with_cast_chain",
      "num": 3652,
      "name": "insert_with_cast_chain",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3652_insert_with_cast_chain.py",
      "read_script": "generator/df-reads-spark-iceberg/3652_insert_with_cast_chain.sql",
      "description": "INSERT with nested CAST chain CAST(CAST(i AS DOUBLE) AS INT).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3653_scale_1000_rows",
      "num": 3653,
      "name": "scale_1000_rows",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3653_scale_1000_rows.py",
      "read_script": "generator/df-reads-spark-iceberg/3653_scale_1000_rows.sql",
      "description": "Scale stress -- 1000 rows in a single insert.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3654_scale_5000_rows",
      "num": 3654,
      "name": "scale_5000_rows",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3654_scale_5000_rows.py",
      "read_script": "generator/df-reads-spark-iceberg/3654_scale_5000_rows.sql",
      "description": "Scale stress -- 5000 rows in a single insert.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3655_scale_many_files_small",
      "num": 3655,
      "name": "scale_many_files_small",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3655_scale_many_files_small.py",
      "read_script": "generator/df-reads-spark-iceberg/3655_scale_many_files_small.sql",
      "description": "Scale stress -- 50 separate inserts of 2 rows each to produce many small files.",
      "status": "pass",
      "duration_ms": 61,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 61,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3656_scale_many_versions",
      "num": 3656,
      "name": "scale_many_versions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3656_scale_many_versions.py",
      "read_script": "generator/df-reads-spark-iceberg/3656_scale_many_versions.sql",
      "description": "Scale stress -- 50 inserts of 5 rows each producing 50 versions.",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3657_scale_many_partitions_50",
      "num": 3657,
      "name": "scale_many_partitions_50",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3657_scale_many_partitions_50.py",
      "read_script": "generator/df-reads-spark-iceberg/3657_scale_many_partitions_50.sql",
      "description": "Scale stress -- 50 partitions, 10 rows each.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3658_scale_wide_30_cols",
      "num": 3658,
      "name": "scale_wide_30_cols",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3658_scale_wide_30_cols.py",
      "read_script": "generator/df-reads-spark-iceberg/3658_scale_wide_30_cols.sql",
      "description": "Scale stress -- wide table with 30 columns.",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3659_scale_deep_versions_100",
      "num": 3659,
      "name": "scale_deep_versions_100",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3659_scale_deep_versions_100.py",
      "read_script": "generator/df-reads-spark-iceberg/3659_scale_deep_versions_100.sql",
      "description": "Scale stress -- 100 sequential inserts of 1 row each (deep version history).",
      "status": "pass",
      "duration_ms": 29,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 29,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/365_restore_timestamp",
      "num": 365,
      "name": "restore_timestamp",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/365_restore_timestamp.py",
      "read_script": "generator/df-reads-spark-iceberg/365_restore_timestamp.sql",
      "description": "RESTORE TO TIMESTAMP command testing",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3660_scale_update_large",
      "num": 3660,
      "name": "scale_update_large",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3660_scale_update_large.py",
      "read_script": "generator/df-reads-spark-iceberg/3660_scale_update_large.sql",
      "description": "Scale stress -- INSERT 1000, then UPDATE every row.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3661_scale_delete_large",
      "num": 3661,
      "name": "scale_delete_large",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3661_scale_delete_large.py",
      "read_script": "generator/df-reads-spark-iceberg/3661_scale_delete_large.sql",
      "description": "Scale stress -- INSERT 1000, then DELETE WHERE id > 500.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3662_scale_merge_large",
      "num": 3662,
      "name": "scale_merge_large",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3662_scale_merge_large.py",
      "read_script": "generator/df-reads-spark-iceberg/3662_scale_merge_large.sql",
      "description": "Scale stress -- INSERT 1000, MERGE with update 500 + insert 500 new.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3663_scale_partition_many_rows",
      "num": 3663,
      "name": "scale_partition_many_rows",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3663_scale_partition_many_rows.py",
      "read_script": "generator/df-reads-spark-iceberg/3663_scale_partition_many_rows.sql",
      "description": "Scale stress -- partitioned table with 2000 rows across 4 regions.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3664_scale_long_strings",
      "num": 3664,
      "name": "scale_long_strings",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3664_scale_long_strings.py",
      "read_script": "generator/df-reads-spark-iceberg/3664_scale_long_strings.sql",
      "description": "Scale stress -- 200 rows each with a ~1KB string value.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3665_scale_large_decimal",
      "num": 3665,
      "name": "scale_large_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3665_scale_large_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/3665_scale_large_decimal.sql",
      "description": "Scale stress -- 500 rows of high-precision DECIMAL(38,18).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3666_scale_many_timestamps",
      "num": 3666,
      "name": "scale_many_timestamps",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3666_scale_many_timestamps.py",
      "read_script": "generator/df-reads-spark-iceberg/3666_scale_many_timestamps.sql",
      "description": "Scale stress -- 500 rows with unique timestamps spaced 1 hour apart.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:timestamp",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3667_scale_large_binary",
      "num": 3667,
      "name": "scale_large_binary",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3667_scale_large_binary.py",
      "read_script": "generator/df-reads-spark-iceberg/3667_scale_large_binary.sql",
      "description": "Scale stress -- 200 rows each with ~2KB of binary data.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:binary",
        "type:integer",
        "type:string",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3668_scale_update_then_optimize",
      "num": 3668,
      "name": "scale_update_then_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3668_scale_update_then_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/3668_scale_update_then_optimize.sql",
      "description": "Scale stress -- INSERT 1000, UPDATE 500, OPTIMIZE.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:update",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3669_scale_delete_then_optimize",
      "num": 3669,
      "name": "scale_delete_then_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3669_scale_delete_then_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/3669_scale_delete_then_optimize.sql",
      "description": "Scale stress -- INSERT 1000, DELETE 500, OPTIMIZE.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/366_restore_after_delete",
      "num": 366,
      "name": "restore_after_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/366_restore_after_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/366_restore_after_delete.sql",
      "description": "RESTORE to recover deleted rows",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3670_scale_wide_partition",
      "num": 3670,
      "name": "scale_wide_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3670_scale_wide_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/3670_scale_wide_partition.sql",
      "description": "Scale stress -- wide table (30 cols) partitioned by region.",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "delta:partitioning",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3671_scale_versions_with_checkpoint",
      "num": 3671,
      "name": "scale_versions_with_checkpoint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3671_scale_versions_with_checkpoint.py",
      "read_script": "generator/df-reads-spark-iceberg/3671_scale_versions_with_checkpoint.sql",
      "description": "Scale stress -- 30 sequential inserts of 10 rows each (triggers checkpoints).",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3672_scale_concurrent_dml_simulated",
      "num": 3672,
      "name": "scale_concurrent_dml_simulated",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3672_scale_concurrent_dml_simulated.py",
      "read_script": "generator/df-reads-spark-iceberg/3672_scale_concurrent_dml_simulated.sql",
      "description": "Scale stress -- 10 alternating INSERT / UPDATE / DELETE operations.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "robust:concurrent-writes",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3673_scale_large_null_density",
      "num": 3673,
      "name": "scale_large_null_density",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3673_scale_large_null_density.py",
      "read_script": "generator/df-reads-spark-iceberg/3673_scale_large_null_density.sql",
      "description": "Scale stress -- 500 rows with 80% NULL in val column.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3674_scale_skewed_values",
      "num": 3674,
      "name": "scale_skewed_values",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3674_scale_skewed_values.py",
      "read_script": "generator/df-reads-spark-iceberg/3674_scale_skewed_values.sql",
      "description": "Scale stress -- skewed distribution: 950 rows with val=1, 50 rows with val=i.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3675_scale_high_cardinality",
      "num": 3675,
      "name": "scale_high_cardinality",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3675_scale_high_cardinality.py",
      "read_script": "generator/df-reads-spark-iceberg/3675_scale_high_cardinality.sql",
      "description": "Scale stress -- 2000 rows, every tag distinct.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3676_scale_date_range",
      "num": 3676,
      "name": "scale_date_range",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3676_scale_date_range.py",
      "read_script": "generator/df-reads-spark-iceberg/3676_scale_date_range.sql",
      "description": "Scale stress -- 500 rows with dates spanning 5 years (approx. one every 3-4 days).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3677_scale_mixed_types",
      "num": 3677,
      "name": "scale_mixed_types",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3677_scale_mixed_types.py",
      "read_script": "generator/df-reads-spark-iceberg/3677_scale_mixed_types.sql",
      "description": "Scale stress -- 20-column table mixing int, bigint, float, double, decimal,",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:binary",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3678_scale_partition_null_heavy",
      "num": 3678,
      "name": "scale_partition_null_heavy",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3678_scale_partition_null_heavy.py",
      "read_script": "generator/df-reads-spark-iceberg/3678_scale_partition_null_heavy.sql",
      "description": "Scale stress -- partitioned by region with 500 rows; 100 have NULL region.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3679_scale_update_every_10",
      "num": 3679,
      "name": "scale_update_every_10",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3679_scale_update_every_10.py",
      "read_script": "generator/df-reads-spark-iceberg/3679_scale_update_every_10.sql",
      "description": "Scale stress -- INSERT 1000, then UPDATE SET val=val+1000 WHERE id%10=0.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/367_restore_after_update",
      "num": 367,
      "name": "restore_after_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/367_restore_after_update.py",
      "read_script": "generator/df-reads-spark-iceberg/367_restore_after_update.sql",
      "description": "RESTORE to recover old values after UPDATE",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3680_scale_delete_every_7",
      "num": 3680,
      "name": "scale_delete_every_7",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3680_scale_delete_every_7.py",
      "read_script": "generator/df-reads-spark-iceberg/3680_scale_delete_every_7.sql",
      "description": "Scale stress -- INSERT 700, then DELETE WHERE id%7=0.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3681_scale_merge_partition",
      "num": 3681,
      "name": "scale_merge_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3681_scale_merge_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/3681_scale_merge_partition.sql",
      "description": "Scale stress -- partitioned INSERT 800, MERGE (200 update + 100 insert).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:merge",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3682_scale_multi_version_reads",
      "num": 3682,
      "name": "scale_multi_version_reads",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3682_scale_multi_version_reads.py",
      "read_script": "generator/df-reads-spark-iceberg/3682_scale_multi_version_reads.sql",
      "description": "Scale stress -- 10 sequential inserts of 100 rows each; each version readable.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3683_stats_int_minmax",
      "num": 3683,
      "name": "stats_int_minmax",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3683_stats_int_minmax.py",
      "read_script": "generator/df-reads-spark-iceberg/3683_stats_int_minmax.sql",
      "description": "Stats -- INT min/max on 500 rows (val=i).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:integer",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3684_stats_bigint_minmax",
      "num": 3684,
      "name": "stats_bigint_minmax",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3684_stats_bigint_minmax.py",
      "read_script": "generator/df-reads-spark-iceberg/3684_stats_bigint_minmax.sql",
      "description": "Stats -- BIGINT min/max across large range (500 rows, step of 1 billion).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:integer",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3685_stats_double_minmax",
      "num": 3685,
      "name": "stats_double_minmax",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3685_stats_double_minmax.py",
      "read_script": "generator/df-reads-spark-iceberg/3685_stats_double_minmax.sql",
      "description": "Stats -- DOUBLE min/max on 500 rows (val = i * 1.5).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3686_stats_decimal_minmax",
      "num": 3686,
      "name": "stats_decimal_minmax",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3686_stats_decimal_minmax.py",
      "read_script": "generator/df-reads-spark-iceberg/3686_stats_decimal_minmax.sql",
      "description": "Stats -- DECIMAL(18,4) min/max on 500 rows (amount = i * 0.25).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3687_stats_string_minmax",
      "num": 3687,
      "name": "stats_string_minmax",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3687_stats_string_minmax.py",
      "read_script": "generator/df-reads-spark-iceberg/3687_stats_string_minmax.sql",
      "description": "Stats -- STRING lexicographic min/max (zero-padded ids).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3688_stats_date_minmax",
      "num": 3688,
      "name": "stats_date_minmax",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3688_stats_date_minmax.py",
      "read_script": "generator/df-reads-spark-iceberg/3688_stats_date_minmax.sql",
      "description": "Stats -- DATE min/max (500 rows, one per day starting 2023-01-01).",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3689_stats_timestamp_minmax",
      "num": 3689,
      "name": "stats_timestamp_minmax",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3689_stats_timestamp_minmax.py",
      "read_script": "generator/df-reads-spark-iceberg/3689_stats_timestamp_minmax.sql",
      "description": "Stats -- TIMESTAMP min/max (500 rows, one per hour starting 2024-01-01 00:00:00).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/368_restore_schema_change",
      "num": 368,
      "name": "restore_schema_change",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/368_restore_schema_change.py",
      "read_script": "generator/df-reads-spark-iceberg/368_restore_schema_change.sql",
      "description": "Schema changes during restore/time travel scenarios",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3690_stats_null_column",
      "num": 3690,
      "name": "stats_null_column",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3690_stats_null_column.py",
      "read_script": "generator/df-reads-spark-iceberg/3690_stats_null_column.sql",
      "description": "Stats -- column that is entirely NULL (null_count should equal row_count).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3691_stats_after_update",
      "num": 3691,
      "name": "stats_after_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3691_stats_after_update.py",
      "read_script": "generator/df-reads-spark-iceberg/3691_stats_after_update.sql",
      "description": "Stats -- INSERT 500 then UPDATE SET val=val+10000 WHERE id<=50.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3692_stats_after_delete",
      "num": 3692,
      "name": "stats_after_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3692_stats_after_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/3692_stats_after_delete.sql",
      "description": "Stats -- INSERT 500 then DELETE WHERE val<=10.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3693_stats_after_merge",
      "num": 3693,
      "name": "stats_after_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3693_stats_after_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/3693_stats_after_merge.sql",
      "description": "Stats -- INSERT 500, MERGE (update last 100 + insert 100 new).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3694_stats_after_optimize",
      "num": 3694,
      "name": "stats_after_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3694_stats_after_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/3694_stats_after_optimize.sql",
      "description": "Stats -- INSERT 500 then OPTIMIZE (compaction).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3695_stats_boolean_col",
      "num": 3695,
      "name": "stats_boolean_col",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3695_stats_boolean_col.py",
      "read_script": "generator/df-reads-spark-iceberg/3695_stats_boolean_col.sql",
      "description": "Stats -- BOOLEAN column with mix of true/false/null (200 rows).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3696_stats_binary_col",
      "num": 3696,
      "name": "stats_binary_col",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3696_stats_binary_col.py",
      "read_script": "generator/df-reads-spark-iceberg/3696_stats_binary_col.sql",
      "description": "Stats -- BINARY column with 100 distinct binary values.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:binary",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3697_stats_partition_stats",
      "num": 3697,
      "name": "stats_partition_stats",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3697_stats_partition_stats.py",
      "read_script": "generator/df-reads-spark-iceberg/3697_stats_partition_stats.sql",
      "description": "Stats -- PARTITIONED BY(region) with 400 rows, per-partition stats.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3698_stats_zorder_stats",
      "num": 3698,
      "name": "stats_zorder_stats",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3698_stats_zorder_stats.py",
      "read_script": "generator/df-reads-spark-iceberg/3698_stats_zorder_stats.sql",
      "description": "Stats -- OPTIMIZE ZORDER BY(val) on 500 rows.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3699_stats_wide_column_stats",
      "num": 3699,
      "name": "stats_wide_column_stats",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3699_stats_wide_column_stats.py",
      "read_script": "generator/df-reads-spark-iceberg/3699_stats_wide_column_stats.sql",
      "description": "Stats -- 20-column table with stats collected per column. INSERT 200.",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/369_restore_partitioned",
      "num": 369,
      "name": "restore_partitioned",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/369_restore_partitioned.py",
      "read_script": "generator/df-reads-spark-iceberg/369_restore_partitioned.sql",
      "description": "Partitioned table operations with DELETE and restore scenarios",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/36_dv_binary_format_roaring",
      "num": 36,
      "name": "dv_binary_format_roaring",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/36_dv_binary_format_roaring.py",
      "read_script": "generator/df-reads-spark-iceberg/36_dv_binary_format_roaring.sql",
      "description": "Demonstrates deletion vector binary format using RoaringBitmap. DVs use portable RoaringBitmap serialization format (Croaring library). Stores row indices efficiently with run-length encoding.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:47:18.737752+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "dml:overwrite",
        "delta:constraints",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3700_stats_long_string_truncate",
      "num": 3700,
      "name": "stats_long_string_truncate",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3700_stats_long_string_truncate.py",
      "read_script": "generator/df-reads-spark-iceberg/3700_stats_long_string_truncate.sql",
      "description": "Stats -- long strings (>1KB) should be truncated in stats min/max.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:truncate",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3701_stats_special_double",
      "num": 3701,
      "name": "stats_special_double",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3701_stats_special_double.py",
      "read_script": "generator/df-reads-spark-iceberg/3701_stats_special_double.sql",
      "description": "Stats -- DOUBLE with NaN and Infinity mixed (50 rows).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3702_stats_negative_range",
      "num": 3702,
      "name": "stats_negative_range",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3702_stats_negative_range.py",
      "read_script": "generator/df-reads-spark-iceberg/3702_stats_negative_range.sql",
      "description": "Stats -- INT column covering negative to positive range.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3703_zorder_single_int",
      "num": 3703,
      "name": "zorder_single_int",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3703_zorder_single_int.py",
      "read_script": "generator/df-reads-spark-iceberg/3703_zorder_single_int.sql",
      "description": "Z-ORDER on a single INT column. INSERT 500 rows then OPTIMIZE ZORDER BY (val).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3704_zorder_single_bigint",
      "num": 3704,
      "name": "zorder_single_bigint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3704_zorder_single_bigint.py",
      "read_script": "generator/df-reads-spark-iceberg/3704_zorder_single_bigint.sql",
      "description": "Z-ORDER on BIGINT column. INSERT 500 + OPTIMIZE ZORDER BY (val).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3705_zorder_single_string",
      "num": 3705,
      "name": "zorder_single_string",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3705_zorder_single_string.py",
      "read_script": "generator/df-reads-spark-iceberg/3705_zorder_single_string.sql",
      "description": "Z-ORDER on STRING column. INSERT 500 with zero-padded tag + OPTIMIZE ZORDER BY (tag).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3706_zorder_single_double",
      "num": 3706,
      "name": "zorder_single_double",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3706_zorder_single_double.py",
      "read_script": "generator/df-reads-spark-iceberg/3706_zorder_single_double.sql",
      "description": "Z-ORDER on DOUBLE column. INSERT 500 + OPTIMIZE ZORDER BY (val).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3707_zorder_single_decimal",
      "num": 3707,
      "name": "zorder_single_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3707_zorder_single_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/3707_zorder_single_decimal.sql",
      "description": "Z-ORDER on DECIMAL column. INSERT 500 + OPTIMIZE ZORDER BY (val).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3708_zorder_single_date",
      "num": 3708,
      "name": "zorder_single_date",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3708_zorder_single_date.py",
      "read_script": "generator/df-reads-spark-iceberg/3708_zorder_single_date.sql",
      "description": "Z-ORDER on DATE column. INSERT 300 + OPTIMIZE ZORDER BY (d).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3709_zorder_single_timestamp",
      "num": 3709,
      "name": "zorder_single_timestamp",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3709_zorder_single_timestamp.py",
      "read_script": "generator/df-reads-spark-iceberg/3709_zorder_single_timestamp.sql",
      "description": "Z-ORDER on TIMESTAMP column. INSERT 300 + OPTIMIZE ZORDER BY (ts).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/370_restore_after_merge",
      "num": 370,
      "name": "restore_after_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/370_restore_after_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/370_restore_after_merge.sql",
      "description": "Testing RESTORE operation after MERGE operations.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3710_zorder_two_cols",
      "num": 3710,
      "name": "zorder_two_cols",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3710_zorder_two_cols.py",
      "read_script": "generator/df-reads-spark-iceberg/3710_zorder_two_cols.sql",
      "description": "Z-ORDER on 2 INT columns. INSERT 500 + OPTIMIZE ZORDER BY (val, bucket).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3711_zorder_three_cols",
      "num": 3711,
      "name": "zorder_three_cols",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3711_zorder_three_cols.py",
      "read_script": "generator/df-reads-spark-iceberg/3711_zorder_three_cols.sql",
      "description": "Z-ORDER on 3 columns. INSERT 500 + OPTIMIZE ZORDER BY (a, b, c).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3712_zorder_high_cardinality",
      "num": 3712,
      "name": "zorder_high_cardinality",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3712_zorder_high_cardinality.py",
      "read_script": "generator/df-reads-spark-iceberg/3712_zorder_high_cardinality.sql",
      "description": "Z-ORDER on high-cardinality INT. INSERT 2000 unique + OPTIMIZE ZORDER BY (val).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3713_zorder_low_cardinality",
      "num": 3713,
      "name": "zorder_low_cardinality",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3713_zorder_low_cardinality.py",
      "read_script": "generator/df-reads-spark-iceberg/3713_zorder_low_cardinality.sql",
      "description": "Z-ORDER on low-cardinality INT (val IN 1..10). INSERT 500 + OPTIMIZE ZORDER BY (val).",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3714_zorder_after_insert_update_delete",
      "num": 3714,
      "name": "zorder_after_insert_update_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3714_zorder_after_insert_update_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/3714_zorder_after_insert_update_delete.sql",
      "description": "Z-ORDER after INSERT/UPDATE/DELETE chain.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "dml:update",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3715_zorder_with_cdc_metadata",
      "num": 3715,
      "name": "zorder_with_cdc_metadata",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3715_zorder_with_cdc_metadata.py",
      "read_script": "generator/df-reads-spark-iceberg/3715_zorder_with_cdc_metadata.sql",
      "description": "Z-ORDER on table with CDC. INSERT 500 + OPTIMIZE ZORDER BY (val). CDF readable.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:change-data-feed",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3716_zorder_after_schema_evolve",
      "num": 3716,
      "name": "zorder_after_schema_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3716_zorder_after_schema_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/3716_zorder_after_schema_evolve.sql",
      "description": "Z-ORDER after schema evolution.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3717_zorder_null_heavy",
      "num": 3717,
      "name": "zorder_null_heavy",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3717_zorder_null_heavy.py",
      "read_script": "generator/df-reads-spark-iceberg/3717_zorder_null_heavy.sql",
      "description": "Z-ORDER on NULL-heavy column. INSERT 500 where id <= 200 have NULL val + ZORDER.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3718_zorder_negative_range",
      "num": 3718,
      "name": "zorder_negative_range",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3718_zorder_negative_range.py",
      "read_script": "generator/df-reads-spark-iceberg/3718_zorder_negative_range.sql",
      "description": "Z-ORDER on negative INT range. INSERT 200 with val = -100..100.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3719_zorder_boolean_col",
      "num": 3719,
      "name": "zorder_boolean_col",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3719_zorder_boolean_col.py",
      "read_script": "generator/df-reads-spark-iceberg/3719_zorder_boolean_col.sql",
      "description": "Z-ORDER on BOOLEAN column. INSERT 300 + OPTIMIZE ZORDER BY (flag).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/371_restore_after_optimize",
      "num": 371,
      "name": "restore_after_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/371_restore_after_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/371_restore_after_optimize.sql",
      "description": "Testing RESTORE operation after OPTIMIZE.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3720_zorder_after_widen",
      "num": 3720,
      "name": "zorder_after_widen",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3720_zorder_after_widen.py",
      "read_script": "generator/df-reads-spark-iceberg/3720_zorder_after_widen.sql",
      "description": "Z-ORDER after type widening. INSERT 300 (INT) + ALTER widen val to BIGINT + ZORDER.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:z-order",
        "schema:type-widening",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3721_zorder_after_restore",
      "num": 3721,
      "name": "zorder_after_restore",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3721_zorder_after_restore.py",
      "read_script": "generator/df-reads-spark-iceberg/3721_zorder_after_restore.sql",
      "description": "150 rows (INSERT 200, DELETE id>150; no restore in Iceberg Spark)",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "delta:time-travel",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3722_zorder_multi_round",
      "num": 3722,
      "name": "zorder_multi_round",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3722_zorder_multi_round.py",
      "read_script": "generator/df-reads-spark-iceberg/3722_zorder_multi_round.sql",
      "description": "Multiple ZORDER rounds. INSERT+ZORDER x3.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "delta:optimize",
        "delta:z-order",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3723_struct_two_fields",
      "num": 3723,
      "name": "struct_two_fields",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3723_struct_two_fields.py",
      "read_script": "generator/df-reads-spark-iceberg/3723_struct_two_fields.sql",
      "description": "STRUCT<name:STRING, age:INT>. INSERT 100.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3724_struct_five_fields",
      "num": 3724,
      "name": "struct_five_fields",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3724_struct_five_fields.py",
      "read_script": "generator/df-reads-spark-iceberg/3724_struct_five_fields.sql",
      "description": "STRUCT with 5 mixed-type fields. INSERT 100.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3725_struct_with_null",
      "num": 3725,
      "name": "struct_with_null",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3725_struct_with_null.py",
      "read_script": "generator/df-reads-spark-iceberg/3725_struct_with_null.sql",
      "description": "STRUCT where one field is NULL (conditionally).",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3726_struct_with_decimal",
      "num": 3726,
      "name": "struct_with_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3726_struct_with_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/3726_struct_with_decimal.sql",
      "description": "STRUCT<price:DECIMAL(18,2), qty:INT>. INSERT 100.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:struct",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3727_struct_with_boolean",
      "num": 3727,
      "name": "struct_with_boolean",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3727_struct_with_boolean.py",
      "read_script": "generator/df-reads-spark-iceberg/3727_struct_with_boolean.sql",
      "description": "STRUCT<active:BOOLEAN, val:INT>. INSERT 100.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:struct",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3728_struct_with_date",
      "num": 3728,
      "name": "struct_with_date",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3728_struct_with_date.py",
      "read_script": "generator/df-reads-spark-iceberg/3728_struct_with_date.sql",
      "description": "STRUCT<dt:DATE, val:INT>. INSERT 100.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "type:struct",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3729_struct_nested_two",
      "num": 3729,
      "name": "struct_nested_two",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3729_struct_nested_two.py",
      "read_script": "generator/df-reads-spark-iceberg/3729_struct_nested_two.sql",
      "description": "STRUCT<outer:STRING, inner:STRUCT<a:INT, b:STRING>>. INSERT 50.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/372_restore_creates_version",
      "num": 372,
      "name": "restore_creates_version",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/372_restore_creates_version.py",
      "read_script": "generator/df-reads-spark-iceberg/372_restore_creates_version.sql",
      "description": "Version tracking during restore operations",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3730_struct_nested_three",
      "num": 3730,
      "name": "struct_nested_three",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3730_struct_nested_three.py",
      "read_script": "generator/df-reads-spark-iceberg/3730_struct_nested_three.sql",
      "description": "3-level nested STRUCT. INSERT 30.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3731_struct_update_field",
      "num": 3731,
      "name": "struct_update_field",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3731_struct_update_field.py",
      "read_script": "generator/df-reads-spark-iceberg/3731_struct_update_field.sql",
      "description": "UPDATE entire STRUCT value. INSERT 50 + UPDATE SET data=named_struct(...).",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3732_array_int_basic",
      "num": 3732,
      "name": "array_int_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3732_array_int_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/3732_array_int_basic.sql",
      "description": "ARRAY<INT> with 3 elements per row. INSERT 50.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:array",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3733_array_string_basic",
      "num": 3733,
      "name": "array_string_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3733_array_string_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/3733_array_string_basic.sql",
      "description": "ARRAY<STRING> with 3 elements per row. INSERT 50.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:array",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3734_array_of_arrays",
      "num": 3734,
      "name": "array_of_arrays",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3734_array_of_arrays.py",
      "read_script": "generator/df-reads-spark-iceberg/3734_array_of_arrays.sql",
      "description": "ARRAY<ARRAY<INT>>. INSERT 30.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:array",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3735_array_empty_mixed",
      "num": 3735,
      "name": "array_empty_mixed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3735_array_empty_mixed.py",
      "read_script": "generator/df-reads-spark-iceberg/3735_array_empty_mixed.sql",
      "description": "Mix of empty and non-empty ARRAY<INT>. INSERT 50 (even ids: empty).",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:array",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3736_array_of_decimal",
      "num": 3736,
      "name": "array_of_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3736_array_of_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/3736_array_of_decimal.sql",
      "description": "ARRAY<DECIMAL(10,2)> with 3 elements. INSERT 50.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:array",
        "type:decimal",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3737_array_of_date",
      "num": 3737,
      "name": "array_of_date",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3737_array_of_date.py",
      "read_script": "generator/df-reads-spark-iceberg/3737_array_of_date.sql",
      "description": "ARRAY<DATE> with 3 dates per row. INSERT 50.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:array",
        "type:date",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3738_array_of_struct_basic",
      "num": 3738,
      "name": "array_of_struct_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3738_array_of_struct_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/3738_array_of_struct_basic.sql",
      "description": "ARRAY<STRUCT<k:STRING, v:INT>>. INSERT 40.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:array",
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3739_array_large",
      "num": 3739,
      "name": "array_large",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3739_array_large.py",
      "read_script": "generator/df-reads-spark-iceberg/3739_array_large.sql",
      "description": "ARRAY<INT> with 50 elements per row. INSERT 30.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:array",
        "type:integer",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/373_restore_with_dvs",
      "num": 373,
      "name": "restore_with_dvs",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/373_restore_with_dvs.py",
      "read_script": "generator/df-reads-spark-iceberg/373_restore_with_dvs.sql",
      "description": "Restore behavior with deletion vectors",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3740_map_string_string",
      "num": 3740,
      "name": "map_string_string",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3740_map_string_string.py",
      "read_script": "generator/df-reads-spark-iceberg/3740_map_string_string.sql",
      "description": "MAP<STRING, STRING> with 2 keys. INSERT 50.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:map",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3741_map_string_int",
      "num": 3741,
      "name": "map_string_int",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3741_map_string_int.py",
      "read_script": "generator/df-reads-spark-iceberg/3741_map_string_int.sql",
      "description": "MAP<STRING, INT>. INSERT 50.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:map",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3742_map_int_string",
      "num": 3742,
      "name": "map_int_string",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3742_map_int_string.py",
      "read_script": "generator/df-reads-spark-iceberg/3742_map_int_string.sql",
      "description": "MAP<INT, STRING>. INSERT 50.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:map",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3743_map_string_double",
      "num": 3743,
      "name": "map_string_double",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3743_map_string_double.py",
      "read_script": "generator/df-reads-spark-iceberg/3743_map_string_double.sql",
      "description": "MAP<STRING, DOUBLE>. INSERT 50.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:map",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3744_map_string_decimal",
      "num": 3744,
      "name": "map_string_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3744_map_string_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/3744_map_string_decimal.sql",
      "description": "MAP<STRING, DECIMAL(10,2)>. INSERT 50.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:map",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3745_map_of_struct",
      "num": 3745,
      "name": "map_of_struct",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3745_map_of_struct.py",
      "read_script": "generator/df-reads-spark-iceberg/3745_map_of_struct.sql",
      "description": "MAP<STRING, STRUCT<a:INT, b:STRING>>. INSERT 30.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:map",
        "type:string",
        "type:struct",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3746_map_of_array",
      "num": 3746,
      "name": "map_of_array",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3746_map_of_array.py",
      "read_script": "generator/df-reads-spark-iceberg/3746_map_of_array.sql",
      "description": "MAP<STRING, ARRAY<INT>>. INSERT 30.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:array",
        "type:integer",
        "type:map",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3747_complex_all_combined",
      "num": 3747,
      "name": "complex_all_combined",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3747_complex_all_combined.py",
      "read_script": "generator/df-reads-spark-iceberg/3747_complex_all_combined.sql",
      "description": "Row with STRUCT, ARRAY, and MAP all in one schema. INSERT 30.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:array",
        "type:integer",
        "type:map",
        "type:string",
        "type:struct",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3748_complex_deeply_nested",
      "num": 3748,
      "name": "complex_deeply_nested",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3748_complex_deeply_nested.py",
      "read_script": "generator/df-reads-spark-iceberg/3748_complex_deeply_nested.sql",
      "description": "MAP<STRING, STRUCT<items:ARRAY<STRUCT<k:STRING, v:INT>>>>. INSERT 20.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:array",
        "type:integer",
        "type:map",
        "type:string",
        "type:struct",
        "dml:insert",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3749_complex_with_partition",
      "num": 3749,
      "name": "complex_with_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3749_complex_with_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/3749_complex_with_partition.sql",
      "description": "STRUCT column + PARTITIONED BY(region). INSERT 100 across 4 regions.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/374_restore_cross_engine",
      "num": 374,
      "name": "restore_cross_engine",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/374_restore_cross_engine.py",
      "read_script": "generator/df-reads-spark-iceberg/374_restore_cross_engine.sql",
      "description": "Cross-engine RESTORE compatibility",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3750_complex_with_cdc",
      "num": 3750,
      "name": "complex_with_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3750_complex_with_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/3750_complex_with_cdc.sql",
      "description": "Complex types + CDC. INSERT 100 + UPDATE 30. Final 100 rows.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:array",
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3751_complex_with_dv",
      "num": 3751,
      "name": "complex_with_dv",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3751_complex_with_dv.py",
      "read_script": "generator/df-reads-spark-iceberg/3751_complex_with_dv.sql",
      "description": "Complex types + DELETE with deletion vectors. INSERT 100 + DELETE 30.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:array",
        "type:integer",
        "type:string",
        "type:struct",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3752_complex_with_optimize",
      "num": 3752,
      "name": "complex_with_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3752_complex_with_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/3752_complex_with_optimize.sql",
      "description": "Complex types + OPTIMIZE. INSERT 100 (2 batches) + OPTIMIZE.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3753_complex_with_restore",
      "num": 3753,
      "name": "complex_with_restore",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3753_complex_with_restore.py",
      "read_script": "generator/df-reads-spark-iceberg/3753_complex_with_restore.sql",
      "description": "30 rows (INSERT 50, DELETE id>30; no restore in Iceberg Spark)",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:delete",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3754_complex_with_time_travel",
      "num": 3754,
      "name": "complex_with_time_travel",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3754_complex_with_time_travel.py",
      "read_script": "generator/df-reads-spark-iceberg/3754_complex_with_time_travel.sql",
      "description": "Complex types + 2 INSERTs. Latest = 100 rows. v1 = 50 rows.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3755_complex_evolve_add_struct",
      "num": 3755,
      "name": "complex_evolve_add_struct",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3755_complex_evolve_add_struct.py",
      "read_script": "generator/df-reads-spark-iceberg/3755_complex_evolve_add_struct.sql",
      "description": "ALTER ADD COLUMN with STRUCT type. INSERT 50 + ALTER + INSERT 50.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3756_complex_evolve_add_array",
      "num": 3756,
      "name": "complex_evolve_add_array",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3756_complex_evolve_add_array.py",
      "read_script": "generator/df-reads-spark-iceberg/3756_complex_evolve_add_array.sql",
      "description": "ALTER ADD COLUMN with ARRAY type. INSERT 50 + ALTER + INSERT 50.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:array",
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3757_complex_evolve_add_map",
      "num": 3757,
      "name": "complex_evolve_add_map",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3757_complex_evolve_add_map.py",
      "read_script": "generator/df-reads-spark-iceberg/3757_complex_evolve_add_map.sql",
      "description": "ALTER ADD COLUMN with MAP type. INSERT 50 + ALTER + INSERT 50.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:map",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3758_struct_all_primitives",
      "num": 3758,
      "name": "struct_all_primitives",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3758_struct_all_primitives.py",
      "read_script": "generator/df-reads-spark-iceberg/3758_struct_all_primitives.sql",
      "description": "STRUCT with all primitive types. INSERT 50.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:struct",
        "type:timestamp",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3759_array_of_all_primitives",
      "num": 3759,
      "name": "array_of_all_primitives",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3759_array_of_all_primitives.py",
      "read_script": "generator/df-reads-spark-iceberg/3759_array_of_all_primitives.sql",
      "description": "One ARRAY column per primitive type. INSERT 30.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:array",
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/375_restore_comprehensive",
      "num": 375,
      "name": "restore_comprehensive",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/375_restore_comprehensive.py",
      "read_script": "generator/df-reads-spark-iceberg/375_restore_comprehensive.sql",
      "description": "Comprehensive RESTORE testing with multiple restores",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:time-travel",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3760_map_with_null_values",
      "num": 3760,
      "name": "map_with_null_values",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3760_map_with_null_values.py",
      "read_script": "generator/df-reads-spark-iceberg/3760_map_with_null_values.sql",
      "description": "MAP<STRING, INT> with NULL values for odd ids. INSERT 50.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:map",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3761_nested_null_propagation",
      "num": 3761,
      "name": "nested_null_propagation",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3761_nested_null_propagation.py",
      "read_script": "generator/df-reads-spark-iceberg/3761_nested_null_propagation.sql",
      "description": "Nested types where some elements are NULL. INSERT 30.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:array",
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/3762_complex_with_merge",
      "num": 3762,
      "name": "complex_with_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/3762_complex_with_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/3762_complex_with_merge.sql",
      "description": "Complex types + MERGE. INSERT 50 + MERGE from source (ids 26..75).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T09:10:01.572345+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/376_vacuum_default",
      "num": 376,
      "name": "vacuum_default",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/376_vacuum_default.py",
      "read_script": "generator/df-reads-spark-iceberg/376_vacuum_default.sql",
      "description": "VACUUM with default 7-day retention",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:default-values",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/377_vacuum_cdc_default",
      "num": 377,
      "name": "vacuum_cdc_default",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/377_vacuum_cdc_default.py",
      "read_script": "generator/df-reads-spark-iceberg/377_vacuum_cdc_default.sql",
      "description": "VACUUM preserves CDC files within CDC retention period (30 days default)",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/378_vacuum_cdc_custom",
      "num": 378,
      "name": "vacuum_cdc_custom",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/378_vacuum_cdc_custom.py",
      "read_script": "generator/df-reads-spark-iceberg/378_vacuum_cdc_custom.sql",
      "description": "VACUUM with custom CDC retention period",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:change-data-feed",
        "delta:vacuum",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/379_vacuum_cdc_optimize",
      "num": 379,
      "name": "vacuum_cdc_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/379_vacuum_cdc_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/379_vacuum_cdc_optimize.sql",
      "description": "VACUUM after OPTIMIZE preserves CDC files",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:optimize",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/37_dv_file_storage_format_spec",
      "num": 37,
      "name": "dv_file_storage_format_spec",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/37_dv_file_storage_format_spec.py",
      "read_script": "generator/df-reads-spark-iceberg/37_dv_file_storage_format_spec.sql",
      "description": "Demonstrates deletion vector file storage format specification.",
      "status": "pass",
      "duration_ms": 20,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:47:18.737752+00:00",
      "read_cold_ms": 20,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/380_vacuum_cdc_cross",
      "num": 380,
      "name": "vacuum_cdc_cross",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/380_vacuum_cdc_cross.py",
      "read_script": "generator/df-reads-spark-iceberg/380_vacuum_cdc_cross.sql",
      "description": "DeltaForge VACUUM on DBX CDF table",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:vacuum",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/381_vacuum_cdc_comprehensive",
      "num": 381,
      "name": "vacuum_cdc_comprehensive",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/381_vacuum_cdc_comprehensive.py",
      "read_script": "generator/df-reads-spark-iceberg/381_vacuum_cdc_comprehensive.sql",
      "description": "Full VACUUM CDC roundtrip with all scenarios",
      "status": "pass",
      "duration_ms": 35,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 35,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:vacuum",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/382_multipart_checkpoint",
      "num": 382,
      "name": "multipart_checkpoint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/382_multipart_checkpoint.py",
      "read_script": "generator/df-reads-spark-iceberg/382_multipart_checkpoint.sql",
      "description": "Large multi-part V2 checkpoint creation",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:checkpoint-multipart",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/383_multipart_read",
      "num": 383,
      "name": "multipart_read",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/383_multipart_read.py",
      "read_script": "generator/df-reads-spark-iceberg/383_multipart_read.sql",
      "description": "DeltaForge reads DBX multi-part checkpoint",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:array",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/384_multipart_write",
      "num": 384,
      "name": "multipart_write",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/384_multipart_write.py",
      "read_script": "generator/df-reads-spark-iceberg/384_multipart_write.sql",
      "description": "DeltaForge creates multi-part checkpoint",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/385_multipart_dv",
      "num": 385,
      "name": "multipart_dv",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/385_multipart_dv.py",
      "read_script": "generator/df-reads-spark-iceberg/385_multipart_dv.sql",
      "description": "Multi-part checkpoint including deletion vector metadata",
      "status": "pass",
      "duration_ms": 24,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 24,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/386_multipart_comprehensive",
      "num": 386,
      "name": "multipart_comprehensive",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/386_multipart_comprehensive.py",
      "read_script": "generator/df-reads-spark-iceberg/386_multipart_comprehensive.sql",
      "description": "Full multi-part checkpoint roundtrip",
      "status": "pass",
      "duration_ms": 46,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 46,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:array",
        "type:floating",
        "type:integer",
        "type:map",
        "type:string",
        "type:struct",
        "type:timestamp",
        "dml:insert",
        "delta:constraints",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/387_concurrent_optimize",
      "num": 387,
      "name": "concurrent_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/387_concurrent_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/387_concurrent_optimize.sql",
      "description": "Demonstrates OPTIMIZE while both engines write: 1. Generator creates fragmented table 2. DeltaForge INSERT runs concurrently 3. DeltaForge OPTIMIZE runs 4. DBX verifies no conflicts, both succeed",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:optimize",
        "robust:concurrent-writes",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/388_concurrent_vacuum",
      "num": 388,
      "name": "concurrent_vacuum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/388_concurrent_vacuum.py",
      "read_script": "generator/df-reads-spark-iceberg/388_concurrent_vacuum.sql",
      "description": "Demonstrates VACUUM while both engines write: 1. Generator creates table with history 2. Active writes from both engines 3. DeltaForge VACUUM runs 4. All operations should succeed",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:vacuum",
        "scale:large-dataset",
        "robust:concurrent-writes",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/389_concurrent_zorder",
      "num": 389,
      "name": "concurrent_zorder",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/389_concurrent_zorder.py",
      "read_script": "generator/df-reads-spark-iceberg/389_concurrent_zorder.sql",
      "description": "Demonstrates Z-ORDER while both engines write: 1. Generator creates table with data for Z-ORDER 2. Table being actively written to 3. Z-ORDER operation from DeltaForge 4. Both should complete successfully",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:z-order",
        "robust:concurrent-writes",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/38_iceberg_compat_v1_uniform",
      "num": 38,
      "name": "iceberg_compat_v1_uniform",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/38_iceberg_compat_v1_uniform.py",
      "read_script": "generator/df-reads-spark-iceberg/38_iceberg_compat_v1_uniform.sql",
      "description": "Demonstrates Iceberg compatibility V1 enabling reading Delta tables as Iceberg tables. Writes Iceberg metadata alongside Delta metadata for universal data lake access.",
      "status": "pass",
      "duration_ms": 17,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:47:18.737752+00:00",
      "read_cold_ms": 17,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:column-mapping",
        "delta:partitioning",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/390_interleaved_maintenance",
      "num": 390,
      "name": "interleaved_maintenance",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/390_interleaved_maintenance.py",
      "read_script": "generator/df-reads-spark-iceberg/390_interleaved_maintenance.sql",
      "description": "Demonstrates interleaved maintenance operations between engines: 1. DBX creates table and performs OPTIMIZE 2. DeltaForge INSERT 3. DeltaForge VACUUM 4. DBX INSERT 5. All history preserved correctly",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:constraints",
        "delta:optimize",
        "delta:vacuum",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/391_coordinated_comprehensive",
      "num": 391,
      "name": "coordinated_comprehensive",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/391_coordinated_comprehensive.py",
      "read_script": "generator/df-reads-spark-iceberg/391_coordinated_comprehensive.sql",
      "description": "Demonstrates full coordinated commits scenario: 1. Both engines actively writing 2. Maintenance operations from both 3. Conflict resolution validation 4. Full history and CDC verification",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:partitioning",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/392_dv_cdc_delete",
      "num": 392,
      "name": "dv_cdc_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/392_dv_cdc_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/392_dv_cdc_delete.sql",
      "description": "Demonstrates deletion vectors + change data feed + DELETE operation: 1. Insert 200 rows with deterministic data 2. DELETE WHERE id % 5 = 0 (removes 40 rows) 3. Final state: 160 rows",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/393_dv_cdc_update",
      "num": 393,
      "name": "dv_cdc_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/393_dv_cdc_update.py",
      "read_script": "generator/df-reads-spark-iceberg/393_dv_cdc_update.sql",
      "description": "Demonstrates deletion vectors + change data feed + UPDATE operation: 1. Insert 200 rows with deterministic data (all status = 'open') 2. UPDATE SET status = 'closed' WHERE id <= 50 3. Final state: 200 rows (50 closed, 150 open)",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/394_dv_cdc_merge",
      "num": 394,
      "name": "dv_cdc_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/394_dv_cdc_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/394_dv_cdc_merge.sql",
      "description": "Demonstrates deletion vectors + change data feed + MERGE operation: 1. Insert 100 rows (id 1..100) 2. MERGE from a CTE source of 120 rows (id 51..170) - MATCHED (id 51..100): UPDATE SET score = source.score + 1000 - NOT MATCHED (id 101..170): INSERT all source columns 3. Final...",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/395_dv_cdc_delete_update",
      "num": 395,
      "name": "dv_cdc_delete_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/395_dv_cdc_delete_update.py",
      "read_script": "generator/df-reads-spark-iceberg/395_dv_cdc_delete_update.sql",
      "description": "Demonstrates deletion vectors + change data feed + DELETE then UPDATE: 1. Insert 300 rows (id 1..300) 2. DELETE WHERE id % 10 = 0 (removes 30 rows) 3. UPDATE SET value = value * 2 WHERE id % 3 = 0 (among remaining rows) 4. Final state: 270 rows",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/396_evolve_then_update",
      "num": 396,
      "name": "evolve_then_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/396_evolve_then_update.py",
      "read_script": "generator/df-reads-spark-iceberg/396_evolve_then_update.sql",
      "description": "Demonstrates schema evolution + UPDATE: 1. Insert 100 rows (id 1..100) with 3 columns 2. ALTER TABLE ADD COLUMN priority INT 3. UPDATE SET priority = id % 5 WHERE id <= 50 4. INSERT 20 new rows (id 101..120) with priority populated 5. Final state: 120 rows",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/397_evolve_then_delete",
      "num": 397,
      "name": "evolve_then_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/397_evolve_then_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/397_evolve_then_delete.sql",
      "description": "Schema evolution (ADD COLUMN) followed by DELETE. 1. INSERT 100 rows (id 1-100) with 3 columns 2. ALTER TABLE ADD COLUMN extra STRING 3. INSERT 50 rows (id 101-150) with extra populated 4. DELETE WHERE id <= 30",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/398_evolve_then_merge",
      "num": 398,
      "name": "evolve_then_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/398_evolve_then_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/398_evolve_then_merge.sql",
      "description": "Schema evolution (ADD COLUMN) followed by MERGE. 1. INSERT 100 rows (id 1-100) with 3 columns 2. ALTER TABLE ADD COLUMN tag STRING 3. MERGE from 120-row CTE (id 1-120): - MATCHED: UPDATE SET tag='merged', value=source.value - NOT MATCHED: INSERT all columns",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/399_evolve_add_then_drop",
      "num": 399,
      "name": "evolve_add_then_drop",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/399_evolve_add_then_drop.py",
      "read_script": "generator/df-reads-spark-iceberg/399_evolve_add_then_drop.sql",
      "description": "ADD COLUMN then DROP COLUMN with column mapping enabled. 1. INSERT 50 rows (id 1-50) 2. ALTER TABLE ADD COLUMN temp STRING 3. INSERT 20 rows (id 51-70) with temp populated 4. ALTER TABLE DROP COLUMN temp 5. INSERT 10 rows (id 71-80) with 3 columns",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "schema:add-column",
        "schema:drop-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/39_iceberg_compat_v2_advanced",
      "num": 39,
      "name": "iceberg_compat_v2_advanced",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/39_iceberg_compat_v2_advanced.py",
      "read_script": "generator/df-reads-spark-iceberg/39_iceberg_compat_v2_advanced.sql",
      "description": "Demonstrates Iceberg compatibility V2 with column mapping for row-level operations. V2 adds support for row-level operations metadata compatibility.",
      "status": "pass",
      "duration_ms": 20,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:47:18.737752+00:00",
      "read_cold_ms": 20,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/400_colmap_update_delete",
      "num": 400,
      "name": "colmap_update_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/400_colmap_update_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/400_colmap_update_delete.sql",
      "description": "Column mapping with UPDATE and DELETE operations. 1. INSERT 200 rows (id 1-200) 2. UPDATE SET status='closed' WHERE score < 20 3. DELETE WHERE category='D' (removes 50 rows where i%4=3)",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:update",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/401_colmap_merge",
      "num": 401,
      "name": "colmap_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/401_colmap_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/401_colmap_merge.sql",
      "description": "Column mapping with MERGE operation. 1. INSERT 100 rows (id 1-100) 2. MERGE from 130-row CTE (id 1-130): - MATCHED: UPDATE SET price=source.price - NOT MATCHED: INSERT all columns",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/402_colmap_evolve_dml",
      "num": 402,
      "name": "colmap_evolve_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/402_colmap_evolve_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/402_colmap_evolve_dml.sql",
      "description": "Column mapping (name mode) + schema evolution + DML: 1. INSERT 100 rows (id 1-100) with 3 columns 2. ALTER TABLE ADD COLUMN rating INT 3. UPDATE SET rating = score % 10 WHERE id <= 50 4. INSERT 30 rows (id 101-130) with rating populated",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/403_cdc_evolve_dml",
      "num": 403,
      "name": "cdc_evolve_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/403_cdc_evolve_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/403_cdc_evolve_dml.sql",
      "description": "CDC (Change Data Feed) + schema evolution + DML: 1. INSERT 100 rows (id 1-100) with 3 columns 2. ALTER TABLE ADD COLUMN tag STRING 3. INSERT 30 rows (id 101-130) with tag populated 4. UPDATE SET tag = 'migrated' WHERE id <= 50 5. DELETE WHERE id > 90 AND id <= 100",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/404_dv_evolve_delete",
      "num": 404,
      "name": "dv_evolve_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/404_dv_evolve_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/404_dv_evolve_delete.sql",
      "description": "Deletion vectors + schema evolution after DV-creating DELETE: 1. INSERT 200 rows (id 1-200) with 3 columns 2. DELETE WHERE id % 4 = 0 (removes 50 rows, creates DVs) 3. ALTER TABLE ADD COLUMN extra STRING 4. INSERT 50 rows (id 201-250) with extra populated",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/405_dv_evolve_update",
      "num": 405,
      "name": "dv_evolve_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/405_dv_evolve_update.py",
      "read_script": "generator/df-reads-spark-iceberg/405_dv_evolve_update.sql",
      "description": "Deletion vectors + schema evolution + UPDATE after evolution: 1. INSERT 200 rows (id 1-200) with 3 columns 2. DELETE WHERE id <= 20 (removes 20 rows) 3. ALTER TABLE ADD COLUMN flag BOOLEAN 4. UPDATE SET flag = true WHERE id > 180",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/406_cdc_partition_dml",
      "num": 406,
      "name": "cdc_partition_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/406_cdc_partition_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/406_cdc_partition_dml.sql",
      "description": "CDC (Change Data Feed) + partitioning + DML: 1. INSERT 120 rows across 3 partitions (US/EU/AP, 40 each) 2. UPDATE SET status = 'closed' WHERE region = 'US' 3. DELETE WHERE region = 'EU' AND id % 5 = 0",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/407_constraint_update",
      "num": 407,
      "name": "constraint_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/407_constraint_update.py",
      "read_script": "generator/df-reads-spark-iceberg/407_constraint_update.sql",
      "description": "CHECK constraint + UPDATE interaction. 1. INSERT 100 rows with scores 0-99 2. ALTER TABLE ADD CONSTRAINT score_check CHECK (score >= 0 AND score <= 100) 3. UPDATE SET score = score - 10 WHERE score >= 50",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/408_constraint_delete",
      "num": 408,
      "name": "constraint_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/408_constraint_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/408_constraint_delete.sql",
      "description": "CHECK constraint + DELETE interaction. 1. INSERT 100 rows with non-empty names 2. ALTER TABLE ADD CONSTRAINT name_len CHECK (LENGTH(name) > 0) 3. DELETE WHERE id % 3 = 0",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/409_constraint_merge",
      "num": 409,
      "name": "constraint_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/409_constraint_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/409_constraint_merge.sql",
      "description": "CHECK constraint + MERGE interaction. 1. INSERT 80 rows with positive values 2. ALTER TABLE ADD CONSTRAINT val_positive CHECK (value > 0) 3. MERGE from 100-row CTE (80 updates + 20 inserts)",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/40_timestamp_ntz_without_timezone",
      "num": 40,
      "name": "timestamp_ntz_without_timezone",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/40_timestamp_ntz_without_timezone.py",
      "read_script": "generator/df-reads-spark-iceberg/40_timestamp_ntz_without_timezone.sql",
      "description": "Demonstrates timestamps stored without timezone information as INT64 microseconds. Requires readerVersion >= 3, writerVersion >= 7, timestampNtz feature.",
      "status": "pass",
      "duration_ms": 21,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:47:18.737752+00:00",
      "read_cold_ms": 21,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp-ntz",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "delta:partitioning",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/410_dv_partition_update",
      "num": 410,
      "name": "dv_partition_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/410_dv_partition_update.py",
      "read_script": "generator/df-reads-spark-iceberg/410_dv_partition_update.sql",
      "description": "Deletion vectors + partitioning + UPDATE + DELETE. 1. INSERT 150 rows across 3 partitions (US, EU, AP) 2. UPDATE amount = amount * 1.1 WHERE region = 'US' 3. DELETE WHERE region = 'EU' AND id % 5 = 0",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/411_dv_partition_merge",
      "num": 411,
      "name": "dv_partition_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/411_dv_partition_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/411_dv_partition_merge.sql",
      "description": "Deletion vectors + partitioning + MERGE. 1. INSERT 150 rows across 3 partitions (US, EU, AP) 2. MERGE from 180-row CTE (150 updates + 30 inserts)",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/412_delete_reinsert_keys",
      "num": 412,
      "name": "delete_reinsert_keys",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/412_delete_reinsert_keys.py",
      "read_script": "generator/df-reads-spark-iceberg/412_delete_reinsert_keys.sql",
      "description": "DELETE then re-INSERT of the same key values. Tests that deletion vectors correctly handle re-inserted keys that were previously deleted. 1. INSERT 100 rows (id 1-100, version_tag=1) 2. DELETE WHERE id <= 30 3. INSERT 30 rows (id 1-30 again, version_tag=2, different name)",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/413_delete_all_reinsert",
      "num": 413,
      "name": "delete_all_reinsert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/413_delete_all_reinsert.py",
      "read_script": "generator/df-reads-spark-iceberg/413_delete_all_reinsert.sql",
      "description": "DELETE all rows then INSERT new data. Tests empty-table-via-DV intermediate state where every row in the table has a deletion vector. 1. INSERT 50 rows (id 1-50) 2. DELETE all rows (WHERE true) 3. INSERT 50 new rows (id 101-150)",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/414_update_chain",
      "num": 414,
      "name": "update_chain",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/414_update_chain.py",
      "read_script": "generator/df-reads-spark-iceberg/414_update_chain.sql",
      "description": "Multiple sequential UPDATEs to the same rows. Tests DV accumulation across chained updates where rows are updated more than once. 1. INSERT 100 rows (all status='new', priority=0) 2. UPDATE SET status='processing' WHERE id <= 50 3. UPDATE SET status='complete' WHERE id <= 25 4...",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/415_update_all_rows",
      "num": 415,
      "name": "update_all_rows",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/415_update_all_rows.py",
      "read_script": "generator/df-reads-spark-iceberg/415_update_all_rows.sql",
      "description": "UPDATE all rows (no WHERE clause). Tests DV behavior when every single row in the table gets a deletion vector. Two consecutive full-table updates stress-test DV file management. 1. INSERT 200 rows 2. UPDATE value = value * 2 (all 200 rows) 3. UPDATE name = CONCAT('v2_', name)...",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/416_merge_delete_clause",
      "num": 416,
      "name": "merge_delete_clause",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/416_merge_delete_clause.py",
      "read_script": "generator/df-reads-spark-iceberg/416_merge_delete_clause.sql",
      "description": "MERGE with WHEN MATCHED THEN DELETE clause. Tests that MERGE can selectively delete rows based on a condition while updating others. 1. INSERT 200 rows (all status='active') 2. MERGE from 50-row source (id 1-50): - WHEN MATCHED AND target.score < 10 THEN DELETE - WHEN MATCHED...",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/417_merge_insert_only",
      "num": 417,
      "name": "merge_insert_only",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/417_merge_insert_only.py",
      "read_script": "generator/df-reads-spark-iceberg/417_merge_insert_only.sql",
      "description": "MERGE with only WHEN NOT MATCHED THEN INSERT (no MATCHED clause). 1. INSERT 100 rows (id 1-100) 2. MERGE from CTE of 50 rows (id 101-150) with WHEN NOT MATCHED THEN INSERT",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/418_merge_update_only",
      "num": 418,
      "name": "merge_update_only",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/418_merge_update_only.py",
      "read_script": "generator/df-reads-spark-iceberg/418_merge_update_only.sql",
      "description": "MERGE with only WHEN MATCHED THEN UPDATE (no NOT MATCHED clause). 1. INSERT 100 rows (id 1-100) with tag='original' 2. MERGE from CTE of 100 rows (id 1-100) with WHEN MATCHED THEN UPDATE",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/419_optimize_then_delete",
      "num": 419,
      "name": "optimize_then_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/419_optimize_then_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/419_optimize_then_delete.sql",
      "description": "OPTIMIZE followed by DELETE. 1. INSERT 500 rows in 5 batches of 100 2. OPTIMIZE to compact data files 3. DELETE WHERE id % 4 = 0 (removes 125 rows)",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/41_v2_checkpoint_feature_enabled",
      "num": 41,
      "name": "v2_checkpoint_feature_enabled",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/41_v2_checkpoint_feature_enabled.py",
      "read_script": "generator/df-reads-spark-iceberg/41_v2_checkpoint_feature_enabled.sql",
      "description": "Demonstrates V2 checkpoint with writeStatsAsStruct enabled. V2 checkpoints store statistics as structured data for faster metadata access.",
      "status": "pass",
      "duration_ms": 22,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:47:18.737752+00:00",
      "read_cold_ms": 22,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:optimize",
        "delta:partitioning",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/420_optimize_then_update",
      "num": 420,
      "name": "optimize_then_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/420_optimize_then_update.py",
      "read_script": "generator/df-reads-spark-iceberg/420_optimize_then_update.sql",
      "description": "OPTIMIZE followed by UPDATE. 1. INSERT 500 rows in 5 batches of 100 2. OPTIMIZE to compact data files 3. UPDATE SET status='refreshed' WHERE id <= 100 (updates 100 rows)",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/421_optimize_then_merge",
      "num": 421,
      "name": "optimize_then_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/421_optimize_then_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/421_optimize_then_merge.sql",
      "description": "OPTIMIZE followed by MERGE. 1. INSERT 300 rows in 3 batches of 100 2. OPTIMIZE to compact data files 3. MERGE from 350-row CTE (300 updates + 50 inserts)",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/422_dv_cdc_evolve",
      "num": 422,
      "name": "dv_cdc_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/422_dv_cdc_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/422_dv_cdc_evolve.sql",
      "description": "Deletion vectors + CDC + schema evolution (three-way interaction): 1. INSERT 100 rows (id 1-100) 2. DELETE WHERE id % 10 = 0 (removes 10 rows) 3. ALTER TABLE ADD COLUMN tag STRING 4. INSERT 30 rows (id 101-130) with tag populated 5. UPDATE SET tag = 'backfill' WHERE id <= 20",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/423_dv_cdc_partition_merge",
      "num": 423,
      "name": "dv_cdc_partition_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/423_dv_cdc_partition_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/423_dv_cdc_partition_merge.sql",
      "description": "Deletion vectors + CDC + partitioning + MERGE (four-way interaction): 1. INSERT 150 rows across 3 partitions (US, EU, AP) 2. MERGE from 180-row CTE (150 updates + 30 inserts)",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/424_null_heavy_dml",
      "num": 424,
      "name": "null_heavy_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/424_null_heavy_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/424_null_heavy_dml.sql",
      "description": "NULL-heavy table with DML operations. All nullable columns are NULL throughout the test to verify correct handling of all-NULL columns during UPDATE and DELETE operations with deletion vectors. 1. INSERT 100 rows (nullable_a and nullable_b always NULL) 2. UPDATE SET name =...",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/425_null_partition_delete",
      "num": 425,
      "name": "null_partition_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/425_null_partition_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/425_null_partition_delete.sql",
      "description": "NULL partition values + DELETE targeting the NULL partition. Verifies correct handling of IS NULL predicates on partition columns with deletion vectors enabled. 1. INSERT 90 rows across 3 partitions (A, B, NULL) 2. DELETE WHERE category IS NULL",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/426_null_in_merge_key",
      "num": 426,
      "name": "null_in_merge_key",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/426_null_in_merge_key.py",
      "read_script": "generator/df-reads-spark-iceberg/426_null_in_merge_key.sql",
      "description": "MERGE with NULL join keys. Verifies that NULL != NULL semantics are respected in the MERGE ON condition: NULL keys in the source never match NULL keys in the target, resulting in INSERT instead of UPDATE. 1. INSERT 50 rows (10 with rec_id = NULL, 40 with non-NULL rec_id) 2...",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/427_bigint_boundaries",
      "num": 427,
      "name": "bigint_boundaries",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/427_bigint_boundaries.py",
      "read_script": "generator/df-reads-spark-iceberg/427_bigint_boundaries.sql",
      "description": "BIGINT boundary values combined with DML operations: 1. INSERT 100 rows (id 1-100) with deterministic formulas 2. INSERT 5 boundary rows using VALUES (min+1, -1, 0, max-1, max) 3. DELETE WHERE id = 0 (removes 1 row) 4. UPDATE SET name='extreme' WHERE id = -9223372036854775807",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/428_empty_string_values",
      "num": 428,
      "name": "empty_string_values",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/428_empty_string_values.py",
      "read_script": "generator/df-reads-spark-iceberg/428_empty_string_values.sql",
      "description": "Empty string values vs NULL string values with DML: 1. INSERT 100 rows with a mix of empty strings, NULLs, and normal names 2. UPDATE SET status='blank' WHERE name = '' (updates 20 rows) 3. DELETE WHERE name IS NULL (removes 20 rows)",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/429_decimal_full_precision_dml",
      "num": 429,
      "name": "decimal_full_precision_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/429_decimal_full_precision_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/429_decimal_full_precision_dml.sql",
      "description": "DECIMAL(10,4) precision preserved through UPDATE and DELETE operations: 1. INSERT 100 rows with DECIMAL(10,4) amounts 2. UPDATE amount = amount + 0.0001 WHERE id <= 50 3. DELETE WHERE amount < 1.0",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/42_row_tracking_stable_row_ids",
      "num": 42,
      "name": "row_tracking_stable_row_ids",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/42_row_tracking_stable_row_ids.py",
      "read_script": "generator/df-reads-spark-iceberg/42_row_tracking_stable_row_ids.sql",
      "description": "Demonstrates row tracking with stable row IDs for each row across versions. Each row maintains a unique, stable identifier across updates and compactions.",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:47:18.737752+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:partitioning",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/430_single_row_dml_cycle",
      "num": 430,
      "name": "single_row_dml_cycle",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/430_single_row_dml_cycle.py",
      "read_script": "generator/df-reads-spark-iceberg/430_single_row_dml_cycle.sql",
      "description": "Full DML cycle on a single-row table: 1. INSERT 1 row (id=1) 2. UPDATE the row (value and status) 3. DELETE the row 4. INSERT a new row (id=2)",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/431_multi_version_insert_update",
      "num": 431,
      "name": "multi_version_insert_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/431_multi_version_insert_update.py",
      "read_script": "generator/df-reads-spark-iceberg/431_multi_version_insert_update.sql",
      "description": "15 versions alternating INSERT and UPDATE to test multi-version correctness: - 8 INSERT batches (50 rows each, ids 1-400) - 7 UPDATE operations (set status per batch range) - Total: 15 versions (version 0-14)",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/432_multi_version_mixed_dml",
      "num": 432,
      "name": "multi_version_mixed_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/432_multi_version_mixed_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/432_multi_version_mixed_dml.sql",
      "description": "12 versions of mixed DML (INSERT, UPDATE, DELETE, MERGE) to test long DML chains with interleaved operations.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/433_constraint_then_evolve",
      "num": 433,
      "name": "constraint_then_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/433_constraint_then_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/433_constraint_then_evolve.sql",
      "description": "CHECK constraint + schema evolution + DML: 1. INSERT 80 rows (id 1-80) 2. ALTER TABLE ADD CONSTRAINT score_ok CHECK (score >= 0) 3. ALTER TABLE ADD COLUMN priority INT 4. INSERT 20 rows (id 81-100) with priority populated 5. UPDATE SET priority = 1 WHERE id <= 40 AND score > 50",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/434_dv_constraint_dml",
      "num": 434,
      "name": "dv_constraint_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/434_dv_constraint_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/434_dv_constraint_dml.sql",
      "description": "Deletion vectors + CHECK constraint + DML: 1. INSERT 100 rows (id 1-100) 2. ALTER TABLE ADD CONSTRAINT val_positive CHECK (value > 0) 3. DELETE WHERE id % 4 = 0 (25 rows removed) 4. UPDATE SET tag = 'v2', value = value + 1.0 WHERE id % 3 = 0",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/435_cdc_multi_version_dml",
      "num": 435,
      "name": "cdc_multi_version_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/435_cdc_multi_version_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/435_cdc_multi_version_dml.sql",
      "description": "CDC (Change Data Feed) + 10 versions of mixed DML to test long CDF version history with INSERT, UPDATE, DELETE, and MERGE operations.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/436_wide_table_dml",
      "num": 436,
      "name": "wide_table_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/436_wide_table_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/436_wide_table_dml.sql",
      "description": "Wide table (15 columns) + DML operations to test correctness with many columns across UPDATE and DELETE.",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/437_partition_optimize_dml",
      "num": 437,
      "name": "partition_optimize_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/437_partition_optimize_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/437_partition_optimize_dml.sql",
      "description": "Partition + OPTIMIZE + DML: - INSERT 300 rows in 5 batches across 3 partitions (US, EU, AP) - OPTIMIZE to compact files - DELETE rows where id%5=0 (60 rows removed) - UPDATE rows in US partition to status='post_opt",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/438_dv_cdc_optimize",
      "num": 438,
      "name": "dv_cdc_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/438_dv_cdc_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/438_dv_cdc_optimize.sql",
      "description": "DV + CDC + OPTIMIZE interaction: - INSERT 200 rows in 4 batches of 50 each (with CDF enabled) - DELETE rows where id%10=0 (creates deletion vectors) - OPTIMIZE to compact files (should NOT emit CDC rows) - INSERT 20 more rows after OPTIMIZE",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/439_insert_overwrite_then_dml",
      "num": 439,
      "name": "insert_overwrite_then_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/439_insert_overwrite_then_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/439_insert_overwrite_then_dml.sql",
      "description": "INSERT OVERWRITE followed by DML operations: - INSERT OVERWRITE seeds the table with 200 rows - UPDATE first 50 rows to status='processed' - DELETE rows where id>180 (removes 20 rows)",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/43_row_tracking_commit_versions",
      "num": 43,
      "name": "row_tracking_commit_versions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/43_row_tracking_commit_versions.py",
      "read_script": "generator/df-reads-spark-iceberg/43_row_tracking_commit_versions.sql",
      "description": "Demonstrates row tracking with commit versions showing when each row was last modified. Tracks the Delta version number when each row was created or last updated.",
      "status": "pass",
      "duration_ms": 78,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:47:18.737752+00:00",
      "read_cold_ms": 78,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:partitioning",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/440_interleaved_evolve_dml",
      "num": 440,
      "name": "interleaved_evolve_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/440_interleaved_evolve_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/440_interleaved_evolve_dml.sql",
      "description": "Interleaved ALTER TABLE ADD COLUMN + DML operations: - INSERT 100 rows with 3 columns - ALTER ADD COLUMN cat STRING - UPDATE cat for first 50 rows - ALTER ADD COLUMN priority INT - UPDATE priority for all surviving rows - DELETE rows where id%10=0 - INSERT 20 new rows with all 5...",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/441_partition_constraint_dml",
      "num": 441,
      "name": "partition_constraint_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/441_partition_constraint_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/441_partition_constraint_dml.sql",
      "description": "Partition + CHECK constraint + DML: - INSERT 120 rows across 3 partitions (US, EU, AP) - ALTER TABLE ADD CONSTRAINT score_range CHECK (score >= 0 AND score <= 100) - UPDATE US rows (score = score - 5 WHERE score >= 5) - DELETE EU rows where score < 20",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/442_cdc_colmap_merge",
      "num": 442,
      "name": "cdc_colmap_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/442_cdc_colmap_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/442_cdc_colmap_merge.sql",
      "description": "CDC + column mapping (name mode) + MERGE. Three-way combo never tested. - INSERT 100 rows - MERGE from 120-row CTE (id 1-120): - MATCHED (id 1-100): UPDATE SET price=source.price, status='merged' - NOT MATCHED (id 101-120): INSERT all columns",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/443_cdc_constraint_dml",
      "num": 443,
      "name": "cdc_constraint_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/443_cdc_constraint_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/443_cdc_constraint_dml.sql",
      "description": "CDC + CHECK constraint + DML. Never combined before. - INSERT 100 rows - ALTER TABLE ADD CONSTRAINT score_valid CHECK (score >= 0 AND score <= 100) - UPDATE SET score = score - 5 WHERE score >= 50 - DELETE WHERE score < 5",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/444_dv_cdc_constraint",
      "num": 444,
      "name": "dv_cdc_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/444_dv_cdc_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/444_dv_cdc_constraint.sql",
      "description": "DV + CDC + CHECK constraint. Three-way combo never tested. - INSERT 100 rows - ALTER TABLE ADD CONSTRAINT val_pos CHECK (value > 0) - DELETE WHERE id % 4 = 0 (25 rows removed) - UPDATE SET tag = 'checked' WHERE id % 3 = 0 (of surviving rows)",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/445_colmap_partition_dml",
      "num": 445,
      "name": "colmap_partition_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/445_colmap_partition_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/445_colmap_partition_dml.sql",
      "description": "Column mapping (name mode) + partitioning + DML. Never combined. - INSERT 150 rows across 3 partitions (US, EU, AP) - UPDATE amount * 1.5 for US partition - DELETE EU rows where id % 5 = 0",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/446_optimize_schema_evolve",
      "num": 446,
      "name": "optimize_schema_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/446_optimize_schema_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/446_optimize_schema_evolve.sql",
      "description": "OPTIMIZE + schema evolution (ALTER TABLE ADD COLUMN). Never combined in SQL. - INSERT 300 rows in 3 batches of 100 - OPTIMIZE (compacts the 3 data files) - ALTER TABLE ADD COLUMN extra STRING - INSERT 50 rows (id 301-350) with extra column - UPDATE SET extra = 'backfill' WHERE...",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/447_optimize_cdc",
      "num": 447,
      "name": "optimize_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/447_optimize_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/447_optimize_cdc.sql",
      "description": "OPTIMIZE + CDC in SQL. Tests that OPTIMIZE produces no CDF rows. - INSERT 300 rows in 6 batches of 50 each (creates 6 small files) - UPDATE first 50 rows - OPTIMIZE (should NOT emit CDF rows) - INSERT 50 more rows",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/448_merge_large_scale",
      "num": 448,
      "name": "merge_large_scale",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/448_merge_large_scale.py",
      "read_script": "generator/df-reads-spark-iceberg/448_merge_large_scale.sql",
      "description": "Large-scale MERGE (1000 rows + 1200-row MERGE). Tests MERGE at scale in SQL. - INSERT 1000 rows - MERGE from 1200-row CTE (id 1-1200): - MATCHED (id 1-1000): UPDATE SET score = score + 1000, status = 'updated' - NOT MATCHED (id 1001-1200): INSERT all columns",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/449_delete_compound_predicate",
      "num": 449,
      "name": "delete_compound_predicate",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/449_delete_compound_predicate.py",
      "read_script": "generator/df-reads-spark-iceberg/449_delete_compound_predicate.sql",
      "description": "DELETE with compound AND/OR predicates. Tests complex predicate pushdown. - INSERT 500 rows - DELETE WHERE (category='A' AND score<20) OR (category='B' AND NOT active) OR (id>480)",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/44_vacuum_protocol_check_enabled",
      "num": 44,
      "name": "vacuum_protocol_check_enabled",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/44_vacuum_protocol_check_enabled.py",
      "read_script": "generator/df-reads-spark-iceberg/44_vacuum_protocol_check_enabled.sql",
      "description": "Demonstrates table with deletion vectors that creates multiple obsolete files. This tests vacuum behavior and file retention for readers using older protocol versions.",
      "status": "pass",
      "duration_ms": 62,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:47:18.737752+00:00",
      "read_cold_ms": 62,
      "read_warm_ms": 40,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:overwrite",
        "dml:update",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "delta:vacuum",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/450_update_case_expression",
      "num": 450,
      "name": "update_case_expression",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/450_update_case_expression.py",
      "read_script": "generator/df-reads-spark-iceberg/450_update_case_expression.sql",
      "description": "UPDATE with CASE expression in SET clause. Tests complex UPDATE expressions. - INSERT 200 rows - UPDATE SET grade = CASE WHEN score>=90 THEN 'A' ... END (all rows) - UPDATE SET status = CASE WHEN grade IN ('A','B') THEN 'honor' ... END (all rows)",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "iceberg:uniform",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/451_merge_self_dedup",
      "num": 451,
      "name": "merge_self_dedup",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/451_merge_self_dedup.py",
      "read_script": "generator/df-reads-spark-iceberg/451_merge_self_dedup.sql",
      "description": "MERGE where source has recomputed values, updating only rows where the source value exceeds the target value. Tests conditional MERGE with a WHEN MATCHED AND <condition> clause. - INSERT 100 rows with target formula values - MERGE from 100-row CTE with source formula values: -...",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/452_timestamp_dml",
      "num": 452,
      "name": "timestamp_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/452_timestamp_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/452_timestamp_dml.sql",
      "description": "TIMESTAMP columns with DML operations: - INSERT 100 rows with TIMESTAMP column using arrow_cast microsecond encoding - UPDATE rows with timestamp predicate (event_ts < threshold) - DELETE rows with timestamp predicate (event_ts > threshold)",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/453_boolean_dml",
      "num": 453,
      "name": "boolean_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/453_boolean_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/453_boolean_dml.sql",
      "description": "BOOLEAN columns as DML predicates and update values: - INSERT 200 rows with two boolean columns (active, verified) - UPDATE verified=true WHERE active=true AND score>50 - DELETE WHERE active=false AND verified=false AND score<20",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/454_struct_dml",
      "num": 454,
      "name": "struct_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/454_struct_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/454_struct_dml.sql",
      "description": "Nested STRUCT columns with DML operations: - INSERT 100 rows with a STRUCT<age: INT, city: STRING> column - UPDATE non-struct column (value) for id<=30 - DELETE rows where id%7=0 - Verifies struct values are preserved through UPDATE/DELETE operations",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:struct",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/455_array_dml",
      "num": 455,
      "name": "array_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/455_array_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/455_array_dml.sql",
      "description": "String tags column (simulating array-like data) with DML operations: - INSERT 100 rows with a tags STRING column containing comma-separated values - UPDATE tags='gold' WHERE score>80 - DELETE WHERE tags='green' AND score<20 - Tests tag-based filtering and update through DML",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/456_multi_table_merge",
      "num": 456,
      "name": "multi_table_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/456_multi_table_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/456_multi_table_merge.sql",
      "description": "MERGE with conditional update logic: - INSERT 200 rows with category column - MERGE from a 250-row CTE source - WHEN MATCHED AND target.category != 'D' THEN UPDATE (skip category D rows) - WHEN NOT MATCHED THEN INSERT - Tests selective MERGE with predicate-guarded updates",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/457_dv_no_dv_comparison",
      "num": 457,
      "name": "dv_no_dv_comparison",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/457_dv_no_dv_comparison.py",
      "read_script": "generator/df-reads-spark-iceberg/457_dv_no_dv_comparison.sql",
      "description": "Table WITHOUT deletion vectors (full file rewrites for DML): - INSERT 100 rows - UPDATE first 30 rows (full rewrite, no DVs) - DELETE last 20 rows (full rewrite, no DVs) - Verifies non-DV writes produce correct results - All other tests in this series use...",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/458_partition_multi_col",
      "num": 458,
      "name": "partition_multi_col",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/458_partition_multi_col.py",
      "read_script": "generator/df-reads-spark-iceberg/458_partition_multi_col.sql",
      "description": "Multi-column partitioning with DML operations: - PARTITIONED BY (region, year) -- two partition columns - INSERT 120 rows across 6 partition combinations (3 regions x 2 years) - UPDATE rows in one specific partition (region='US', year=2024) - DELETE rows in another partition...",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/459_insert_overwrite_partition",
      "num": 459,
      "name": "insert_overwrite_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/459_insert_overwrite_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/459_insert_overwrite_partition.sql",
      "description": "INSERT OVERWRITE replacing entire table contents, followed by DML: - INSERT 90 rows across 3 categories - INSERT OVERWRITE with 50 new rows (replaces entire table) - UPDATE first 20 of the new rows - Verifies INSERT OVERWRITE + subsequent DML correctness",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/45_variant_data_type_basic",
      "num": 45,
      "name": "variant_data_type_basic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/45_variant_data_type_basic.py",
      "read_script": "generator/df-reads-spark-iceberg/45_variant_data_type_basic.sql",
      "description": "Demonstrates variant data type for semi-structured JSON data. Efficiently stores and queries nested JSON without fixed schema.",
      "status": "pass",
      "duration_ms": 68,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:47:18.737752+00:00",
      "read_cold_ms": 68,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/460_delete_then_optimize",
      "num": 460,
      "name": "delete_then_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/460_delete_then_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/460_delete_then_optimize.sql",
      "description": "DELETE creating deletion vectors, then OPTIMIZE to materialize them: - INSERT 1000 rows in 10 batches of 100 (creates 10 data files) - DELETE rows where id%3=0 (creates DVs on each data file) - OPTIMIZE compacts files and materializes DVs into clean data files - Verifies...",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/461_update_then_optimize",
      "num": 461,
      "name": "update_then_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/461_update_then_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/461_update_then_optimize.sql",
      "description": "UPDATE creating deletion vectors, then OPTIMIZE to compact: - INSERT 500 rows in 5 batches of 100 (creates 5 data files) - UPDATE first 200 rows (creates DVs + new data files for updated rows) - OPTIMIZE compacts all files into fewer, clean files - Verifies correct values after...",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/462_constraint_drop_insert",
      "num": 462,
      "name": "constraint_drop_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/462_constraint_drop_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/462_constraint_drop_insert.sql",
      "description": "Constraint lifecycle: ADD CONSTRAINT then DROP CONSTRAINT then insert violating data. 1. INSERT 50 rows with score = (i*53)%100 (range [0, 99]) 2. ALTER TABLE ADD CONSTRAINT score_bound CHECK (score >= 0 AND score <= 100) 3. INSERT 30 more valid rows (id 51-80) 4. ALTER TABLE...",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/463_evolve_rename_dml",
      "num": 463,
      "name": "evolve_rename_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/463_evolve_rename_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/463_evolve_rename_dml.sql",
      "description": "RENAME COLUMN then DML using the new column name. Tests column mapping after rename. 1. INSERT 100 rows with old_name column 2. ALTER TABLE RENAME COLUMN old_name TO display_name 3. UPDATE SET display_name = CONCAT('renamed_', CAST(id AS STRING)) WHERE id <= 50 4. DELETE WHERE...",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "schema:add-column",
        "schema:rename-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/464_evolve_multi_add",
      "num": 464,
      "name": "evolve_multi_add",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/464_evolve_multi_add.py",
      "read_script": "generator/df-reads-spark-iceberg/464_evolve_multi_add.sql",
      "description": "Multiple ALTER ADD COLUMN operations interleaved with INSERTs. Tests multi-step schema growth from 2 columns to 6 columns. 1. INSERT 50 rows (2 cols: id, name) 2. ALTER ADD COLUMN val1 INT 3. INSERT 30 rows (id 51-80) with val1 4. ALTER ADD COLUMN val2 DOUBLE 5. INSERT 20 rows...",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/465_partition_five_regions",
      "num": 465,
      "name": "partition_five_regions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/465_partition_five_regions.py",
      "read_script": "generator/df-reads-spark-iceberg/465_partition_five_regions.sql",
      "description": "5-region partition + DML across all partitions. 1. INSERT 250 rows across 5 partitions (NA, EU, AP, SA, AF -- 50 each) 2. UPDATE SET value = value * 2 WHERE region = 'NA' OR region = 'SA' 3. DELETE WHERE region = 'AF' AND id % 5 = 0",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/466_dv_cdc_partition_evolve",
      "num": 466,
      "name": "dv_cdc_partition_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/466_dv_cdc_partition_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/466_dv_cdc_partition_evolve.sql",
      "description": "Four-way combo: DV + CDC + partition + schema evolution. Most complex combo. 1. INSERT 120 rows across 3 regions (US, EU, AP -- 40 each) 2. DELETE WHERE id % 10 = 0 (12 rows removed) 3. ALTER TABLE ADD COLUMN priority INT 4. INSERT 30 rows (id 121-150) with priority 5. UPDATE...",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/467_merge_three_clause",
      "num": 467,
      "name": "merge_three_clause",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/467_merge_three_clause.py",
      "read_script": "generator/df-reads-spark-iceberg/467_merge_three_clause.sql",
      "description": "MERGE with all 3 clause types: MATCHED UPDATE, MATCHED DELETE, NOT MATCHED INSERT. 1. INSERT 200 rows with score = (i*53)%100, status = 'active' 2. MERGE from 250-row CTE: WHEN MATCHED AND target.score < 10 THEN DELETE WHEN MATCHED THEN UPDATE SET status = 'verified', score =...",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/468_cdc_dv_merge_partition",
      "num": 468,
      "name": "cdc_dv_merge_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/468_cdc_dv_merge_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/468_cdc_dv_merge_partition.sql",
      "description": "Four-way: CDC + DV + MERGE + partition. 1. INSERT 200 rows across 4 partitions (W, X, Y, Z -- 50 each) 2. MERGE from 250-row CTE: WHEN MATCHED THEN UPDATE; WHEN NOT MATCHED THEN INSERT",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/469_constraint_not_null",
      "num": 469,
      "name": "constraint_not_null",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/469_constraint_not_null.py",
      "read_script": "generator/df-reads-spark-iceberg/469_constraint_not_null.sql",
      "description": "NOT NULL constraint + DML. Tests NOT NULL enforcement during UPDATE. 1. INSERT 100 rows with all non-null values 2. UPDATE SET score = NULL WHERE id <= 20 (score is nullable, should work) 3. DELETE WHERE id % 4 = 0",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/46_variant_parquet_shredding",
      "num": 46,
      "name": "variant_parquet_shredding",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/46_variant_parquet_shredding.py",
      "read_script": "generator/df-reads-spark-iceberg/46_variant_parquet_shredding.sql",
      "description": "Demonstrates Variant data shredding in Parquet format. Optimizes Variant storage by extracting common fields into typed columns.",
      "status": "pass",
      "duration_ms": 40,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:47:18.737752+00:00",
      "read_cold_ms": 40,
      "read_warm_ms": 13,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/470_many_small_inserts",
      "num": 470,
      "name": "many_small_inserts",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/470_many_small_inserts.py",
      "read_script": "generator/df-reads-spark-iceberg/470_many_small_inserts.sql",
      "description": "Many small INSERT batches (20 batches of 10 rows). Tests fragmented table then DML. 1. 20 INSERT batches: batch 1 = ids 1-10, batch 2 = ids 11-20, ..., batch 20 = ids 191-200 2. DELETE WHERE batch_num <= 5 (removes 50 rows) 3. UPDATE SET payload = CONCAT('updated_', payload)...",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/471_optimize_partition",
      "num": 471,
      "name": "optimize_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/471_optimize_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/471_optimize_partition.sql",
      "description": "OPTIMIZE on partitioned table then DML. Tests per-partition compaction. 1. INSERT 150 rows in 3 batches of 50 (creates 3 data files per partition) 2. OPTIMIZE to compact data files 3. DELETE WHERE id % 6 = 0 (25 rows removed) 4. UPDATE SET value = 0 WHERE region = 'US' AND id %...",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/472_cdc_delete_update_merge",
      "num": 472,
      "name": "cdc_delete_update_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/472_cdc_delete_update_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/472_cdc_delete_update_merge.sql",
      "description": "CDC with all 3 DML types (DELETE, UPDATE, MERGE) in one script. Tests that CDF captures all operation types. 1. INSERT 200 rows 2. DELETE WHERE id % 10 = 0 (removes 20 rows) 3. UPDATE SET status = 'modified' WHERE id <= 50 (updates surviving rows with id <= 50) 4. MERGE from...",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/473_colmap_rename_merge",
      "num": 473,
      "name": "colmap_rename_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/473_colmap_rename_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/473_colmap_rename_merge.sql",
      "description": "Column mapping + RENAME COLUMN + MERGE using the renamed column. Tests that MERGE works correctly after a column rename. 1. INSERT 100 rows with old_val column 2. ALTER TABLE RENAME COLUMN old_val TO display_val 3. MERGE from 120-row CTE: WHEN MATCHED UPDATE SET display_val...",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "schema:rename-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/474_partition_evolve_merge",
      "num": 474,
      "name": "partition_evolve_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/474_partition_evolve_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/474_partition_evolve_merge.sql",
      "description": "Partition + schema evolution (ADD COLUMN) + MERGE. Three-way combination. 1. INSERT 120 rows across 3 regions 2. ALTER TABLE ADD COLUMN priority INT 3. MERGE from 150-row CTE with priority set: WHEN MATCHED UPDATE SET priority; WHEN NOT MATCHED INSERT",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/475_dv_cdc_delete_reinsert",
      "num": 475,
      "name": "dv_cdc_delete_reinsert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/475_dv_cdc_delete_reinsert.py",
      "read_script": "generator/df-reads-spark-iceberg/475_dv_cdc_delete_reinsert.sql",
      "description": "DV + CDC + delete-then-reinsert pattern. Tests CDF for delete+insert of same keys. 1. INSERT 100 rows (version_tag = 1) 2. DELETE WHERE id <= 20 (removes 20 rows) 3. INSERT 20 rows (id 1-20, version_tag = 2)",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/476_constraint_evolve_merge",
      "num": 476,
      "name": "constraint_evolve_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/476_constraint_evolve_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/476_constraint_evolve_merge.sql",
      "description": "Constraint + schema evolution (ADD COLUMN) + MERGE. Three-way combination. 1. INSERT 80 rows with score = (i * 53) % 100 2. ALTER TABLE ADD CONSTRAINT score_valid CHECK (score >= 0 AND score <= 100) 3. ALTER TABLE ADD COLUMN tag STRING 4. MERGE from 100-row CTE with tag and...",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/477_partition_constraint_merge",
      "num": 477,
      "name": "partition_constraint_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/477_partition_constraint_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/477_partition_constraint_merge.sql",
      "description": "Partition + constraint + MERGE. Three-way combination. 1. INSERT 120 rows across 3 regions 2. ALTER TABLE ADD CONSTRAINT val_pos CHECK (value > 0) 3. MERGE from 150-row CTE (all value > 0): WHEN MATCHED UPDATE value; WHEN NOT MATCHED INSERT",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/478_colmap_cdc_evolve",
      "num": 478,
      "name": "colmap_cdc_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/478_colmap_cdc_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/478_colmap_cdc_evolve.sql",
      "description": "Column mapping + CDC + schema evolution (ADD COLUMN). Three-way combination. 1. INSERT 100 rows 2. ALTER TABLE ADD COLUMN extra STRING 3. INSERT 50 rows (id 101-150) with extra populated 4. UPDATE SET extra = 'filled' WHERE id <= 30",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/479_delete_between_range",
      "num": 479,
      "name": "delete_between_range",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/479_delete_between_range.py",
      "read_script": "generator/df-reads-spark-iceberg/479_delete_between_range.sql",
      "description": "DELETE with BETWEEN range predicate. Tests range-based deletion. 1. INSERT 500 rows 2. DELETE WHERE id BETWEEN 100 AND 200 (removes 101 rows) 3. UPDATE SET category = 'remaining' WHERE id BETWEEN 201 AND 300",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/47_variant_combined_with_features",
      "num": 47,
      "name": "variant_combined_with_features",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/47_variant_combined_with_features.py",
      "read_script": "generator/df-reads-spark-iceberg/47_variant_combined_with_features.sql",
      "description": "Demonstrates Variant data combined with other Delta features like CDC. Shows Variant type working alongside Change Data Feed, deletion vectors, etc.",
      "status": "pass",
      "duration_ms": 174,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:47:18.737752+00:00",
      "read_cold_ms": 174,
      "read_warm_ms": 33,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "dml:overwrite",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:row-tracking",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/480_update_string_ops",
      "num": 480,
      "name": "update_string_ops",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/480_update_string_ops.py",
      "read_script": "generator/df-reads-spark-iceberg/480_update_string_ops.sql",
      "description": "UPDATE with string operations (CONCAT). Tests string manipulation in SET clauses. 1. INSERT 100 rows with first_name, last_name, empty full_name and email 2. UPDATE SET full_name = CONCAT(first_name, '_', last_name) 3. UPDATE SET email = CONCAT(first_name, '.', last_name...",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/481_merge_selective_update",
      "num": 481,
      "name": "merge_selective_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/481_merge_selective_update.py",
      "read_script": "generator/df-reads-spark-iceberg/481_merge_selective_update.sql",
      "description": "MERGE where only some matched rows are updated (conditional WHEN MATCHED). No WHEN NOT MATCHED clause -- source fully overlaps target. 1. INSERT 200 rows: score = (i * 53) % 100, tier = 'bronze' 2. MERGE from 200-row CTE: WHEN MATCHED AND target.score >= 80 THEN UPDATE SET tier...",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/482_dv_multi_delete",
      "num": 482,
      "name": "dv_multi_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/482_dv_multi_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/482_dv_multi_delete.sql",
      "description": "Multiple DELETE operations creating accumulated deletion vectors. Tests DV stacking correctness across successive deletes. 1. INSERT 500 rows with round_num=0 2. DELETE WHERE id%2=0 (250 removed, round 1) 3. DELETE WHERE id%3=0 (of remaining 250 odd ids, removes ~83, round 2) 4...",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/483_update_arithmetic",
      "num": 483,
      "name": "update_arithmetic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/483_update_arithmetic.py",
      "read_script": "generator/df-reads-spark-iceberg/483_update_arithmetic.sql",
      "description": "UPDATE with arithmetic expressions. Tests complex SET expressions computing multiple derived columns in a single UPDATE. 1. INSERT 100 rows with a, b populated, computed columns zeroed 2. UPDATE SET sum_ab=a+b, product_ab=a*b, ratio=ROUND(a/b, 4)",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/484_partition_null_update",
      "num": 484,
      "name": "partition_null_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/484_partition_null_update.py",
      "read_script": "generator/df-reads-spark-iceberg/484_partition_null_update.sql",
      "description": "Partitioned table with NULL partition values + UPDATE targeting the NULL partition. Tests that DV-based UPDATE correctly handles NULL partition keys. 1. INSERT 120 rows across 4 partitions (US, EU, AP, NULL) 2. UPDATE SET value=value*3 WHERE region IS NULL (30 rows) 3. DELETE...",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/485_cdc_dv_update_chain",
      "num": 485,
      "name": "cdc_dv_update_chain",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/485_cdc_dv_update_chain.py",
      "read_script": "generator/df-reads-spark-iceberg/485_cdc_dv_update_chain.sql",
      "description": "CDC + DV + chained UPDATEs. Tests that CDF captures each UPDATE version and that successive DV-based updates on overlapping row sets work correctly. 1. INSERT 100 rows: counter=0, status='v0' 2. UPDATE counter+1, status='v1' WHERE id<=50 3. UPDATE counter+1, status='v2' WHERE...",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/486_colmap_dv_optimize",
      "num": 486,
      "name": "colmap_dv_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/486_colmap_dv_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/486_colmap_dv_optimize.sql",
      "description": "Column mapping + DV + OPTIMIZE. Tests that OPTIMIZE correctly compacts files on a column-mapped table after DV-based deletes. 1. INSERT 100 rows (batch 1, id 1-100) 2. INSERT 100 rows (batch 2, id 101-200) 3. INSERT 100 rows (batch 3, id 201-300) 4. DELETE WHERE id%5=0 (60 rows...",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/487_evolve_constraint_delete",
      "num": 487,
      "name": "evolve_constraint_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/487_evolve_constraint_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/487_evolve_constraint_delete.sql",
      "description": "Schema evolution + constraint + DELETE. Three-way feature interaction. 1. INSERT 100 rows 2. ALTER TABLE ADD COLUMN priority INT 3. ALTER TABLE ADD CONSTRAINT val_pos CHECK (value > 0) 4. UPDATE SET priority = id % 5 5. DELETE WHERE priority=0 AND value<10.0",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/488_merge_partition_evolve",
      "num": 488,
      "name": "merge_partition_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/488_merge_partition_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/488_merge_partition_evolve.sql",
      "description": "MERGE + partition + schema evolution. Three-way feature interaction. 1. INSERT 120 rows across 3 regions 2. ALTER TABLE ADD COLUMN flag BOOLEAN 3. MERGE from 150-row CTE: MATCHED->UPDATE flag=true, NOT MATCHED->INSERT with flag=false",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/489_dv_cdc_colmap",
      "num": 489,
      "name": "dv_cdc_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/489_dv_cdc_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/489_dv_cdc_colmap.sql",
      "description": "DV + CDC + column mapping. Three-way feature interaction. Tests that deletion vectors, change data feed, and column mapping all work correctly together. 1. INSERT 200 rows 2. DELETE WHERE id%8=0 (25 rows removed via DVs) 3. UPDATE SET amount=amount+100 WHERE active=true",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/48_writer_atomic_log_entry_creation",
      "num": 48,
      "name": "writer_atomic_log_entry_creation",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/48_writer_atomic_log_entry_creation.py",
      "read_script": "generator/df-reads-spark-iceberg/48_writer_atomic_log_entry_creation.sql",
      "description": "Demonstrates atomic creation of transaction log entries. Writers MUST never overwrite an existing log entry and should use atomic primitives of the underlying filesystem to ensure concurrent writers do not overwrite each other's entries.",
      "status": "pass",
      "duration_ms": 36,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:47:18.737752+00:00",
      "read_cold_ms": 36,
      "read_warm_ms": 31,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "scale:large-dataset",
        "robust:concurrent-writes",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/490_optimize_constraint",
      "num": 490,
      "name": "optimize_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/490_optimize_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/490_optimize_constraint.sql",
      "description": "OPTIMIZE + constraint interaction. Tests that constraint metadata survives OPTIMIZE file compaction. 1. INSERT 200 rows in 4 batches of 50 2. ALTER TABLE ADD CONSTRAINT score_ok CHECK (score >= 0) 3. DELETE WHERE id%6=0 (~33 rows removed) 4. OPTIMIZE 5. INSERT 30 rows (id...",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/491_merge_cdc_constraint",
      "num": 491,
      "name": "merge_cdc_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/491_merge_cdc_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/491_merge_cdc_constraint.sql",
      "description": "MERGE + CDC + constraint. Three-way feature interaction. Tests that MERGE respects CHECK constraint and CDF captures merge changes. 1. INSERT 80 rows 2. ALTER TABLE ADD CONSTRAINT val_pos CHECK (value > 0) 3. MERGE from 100-row CTE: MATCHED->UPDATE value+tag, NOT MATCHED->INSERT",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/492_five_way_combo",
      "num": 492,
      "name": "five_way_combo",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/492_five_way_combo.py",
      "read_script": "generator/df-reads-spark-iceberg/492_five_way_combo.sql",
      "description": "Five-way stress test: DV + CDC + partition + constraint + schema evolution. Exercises every major Delta feature in a single table lifecycle. 1. INSERT 150 rows across 3 regions (US, EU, AP -- 50 each) 2. ALTER TABLE ADD CONSTRAINT score_ok CHECK (score >= 0 AND score <= 100) 3...",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/493_dv_cdc_optimize_dml",
      "num": 493,
      "name": "dv_cdc_optimize_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/493_dv_cdc_optimize_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/493_dv_cdc_optimize_dml.sql",
      "description": "DV + CDC + OPTIMIZE + post-OPTIMIZE DML. Tests the full lifecycle: batched inserts, deletion vectors, OPTIMIZE compaction, then further DML. 1. INSERT 200 rows in 4 batches of 50 2. DELETE WHERE id % 5 = 0 (40 rows removed via DVs) 3. OPTIMIZE (materializes DVs, should not emit...",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/494_colmap_constraint_evolve",
      "num": 494,
      "name": "colmap_constraint_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/494_colmap_constraint_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/494_colmap_constraint_evolve.sql",
      "description": "Three-way combo: column mapping (name mode) + constraint + schema evolution. Validates that column mapping interacts correctly with CHECK constraints and ADD COLUMN operations. 1. INSERT 100 rows 2. ALTER TABLE ADD CONSTRAINT score_ok CHECK (score >= 0) 3. ALTER TABLE ADD COLUMN...",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/495_partition_optimize_merge",
      "num": 495,
      "name": "partition_optimize_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/495_partition_optimize_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/495_partition_optimize_merge.sql",
      "description": "Three-way combo: partition + OPTIMIZE + MERGE. Tests that OPTIMIZE on a partitioned table produces correct file layout and that MERGE works correctly against optimized partitioned data. 1. INSERT 150 rows in 3 batches of 50 (3 regions) 2. OPTIMIZE 3. MERGE from 180-row CTE: WHEN...",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/496_evolve_dv_cdc_merge",
      "num": 496,
      "name": "evolve_dv_cdc_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/496_evolve_dv_cdc_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/496_evolve_dv_cdc_merge.sql",
      "description": "Four-way combo: schema evolution + DV + CDC + MERGE. Tests that MERGE works correctly after schema evolution with deletion vectors and CDC enabled. 1. INSERT 100 rows 2. ALTER TABLE ADD COLUMN priority INT 3. MERGE from 120-row CTE with priority: WHEN MATCHED UPDATE; WHEN NOT...",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/497_large_insert_delete",
      "num": 497,
      "name": "large_insert_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/497_large_insert_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/497_large_insert_delete.sql",
      "description": "Large-scale test: 5000-row INSERT followed by bulk DELETE and UPDATE. Exercises deletion vectors and DML at scale to stress file management. 1. INSERT 5000 rows in 5 batches of 1000 2. DELETE WHERE id % 3 = 0 (~1667 rows removed) 3. UPDATE SET bucket = bucket + 10 WHERE id % 2 =...",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/498_merge_delete_insert_combo",
      "num": 498,
      "name": "merge_delete_insert_combo",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/498_merge_delete_insert_combo.py",
      "read_script": "generator/df-reads-spark-iceberg/498_merge_delete_insert_combo.sql",
      "description": "MERGE with DELETE clause + separate INSERT after. Tests the interaction between MERGE's WHEN MATCHED THEN DELETE clause and subsequent INSERT. 1. INSERT 200 rows 2. MERGE from 100-row CTE (id 1-100): WHEN MATCHED AND score<10 THEN DELETE; WHEN MATCHED THEN UPDATE...",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/499_colmap_partition_merge_evolve",
      "num": 499,
      "name": "colmap_partition_merge_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/499_colmap_partition_merge_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/499_colmap_partition_merge_evolve.sql",
      "description": "Four-way combo: column mapping + partition + MERGE + schema evolution. Validates that column mapping interacts correctly with partitioning, MERGE operations, and ADD COLUMN after initial data load. 1. INSERT 120 rows (3 regions, 40 each) 2. ALTER TABLE ADD COLUMN flag BOOLEAN 3...",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/49_writer_metadata_data_file_consistency",
      "num": 49,
      "name": "writer_metadata_data_file_consistency",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/49_writer_metadata_data_file_consistency.py",
      "read_script": "generator/df-reads-spark-iceberg/49_writer_metadata_data_file_consistency.sql",
      "description": "Demonstrates consistency between table metadata and data files.",
      "status": "pass",
      "duration_ms": 44,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:47:18.737752+00:00",
      "read_cold_ms": 44,
      "read_warm_ms": 20,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/500_comprehensive_all_features",
      "num": 500,
      "name": "comprehensive_all_features",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/500_comprehensive_all_features.py",
      "read_script": "generator/df-reads-spark-iceberg/500_comprehensive_all_features.sql",
      "description": "Grand finale: the ultimate combo test exercising every major Delta feature in a single table lifecycle. DV + CDC + column mapping + partition + constraint + schema evolution + OPTIMIZE + MERGE. 1. INSERT 200 rows (4 regions: US/EU/AP/SA, 50 each) 2. ALTER TABLE ADD CONSTRAINT...",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:04:09.901466+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:optimize",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/501_update_delete_same_rows",
      "num": 501,
      "name": "update_delete_same_rows",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/501_update_delete_same_rows.py",
      "read_script": "generator/df-reads-spark-iceberg/501_update_delete_same_rows.sql",
      "description": "UPDATE then DELETE targeting overlapping rows. Tests DV stacking on same row set -- the DELETE must correctly apply on top of already-modified rows. 1. INSERT 200 rows with status='active' 2. UPDATE SET status='flagged' WHERE id <= 80 3. DELETE WHERE status='flagged' AND value <...",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/502_delete_where_false",
      "num": 502,
      "name": "delete_where_false",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/502_delete_where_false.py",
      "read_script": "generator/df-reads-spark-iceberg/502_delete_where_false.sql",
      "description": "DELETE WHERE false (no-op). Verifies the engine handles a zero-match DELETE correctly -- no rows should be removed, no DVs created, and the table state should remain identical to the post-INSERT state.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/503_update_noop",
      "num": 503,
      "name": "update_noop",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/503_update_noop.py",
      "read_script": "generator/df-reads-spark-iceberg/503_update_noop.sql",
      "description": "UPDATE that matches zero rows. Tests no-op UPDATE behavior. The WHERE clause references a value that no row can have, so the engine must correctly handle the zero-match case.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/504_merge_zero_matches",
      "num": 504,
      "name": "merge_zero_matches",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/504_merge_zero_matches.py",
      "read_script": "generator/df-reads-spark-iceberg/504_merge_zero_matches.sql",
      "description": "MERGE where source and target have zero key overlap. All source rows go through the NOT MATCHED path. Tests that MERGE correctly handles pure-insert scenarios with no matched rows.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/505_merge_full_match",
      "num": 505,
      "name": "merge_full_match",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/505_merge_full_match.py",
      "read_script": "generator/df-reads-spark-iceberg/505_merge_full_match.sql",
      "description": "MERGE where every source row matches a target row. Zero NOT MATCHED rows. Tests that MERGE correctly handles a pure-update scenario.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/506_cdc_optimize_partition",
      "num": 506,
      "name": "cdc_optimize_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/506_cdc_optimize_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/506_cdc_optimize_partition.sql",
      "description": "CDC + OPTIMIZE + partition. Three-way feature combo. Tests that CDF correctly captures changes across partitioned data, and that OPTIMIZE compacts partitioned files without data loss. 1. INSERT 60 rows (batch 1: id 1-60, 3 regions) 2. INSERT 60 rows (batch 2: id 61-120, 3...",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/507_constraint_partition_evolve",
      "num": 507,
      "name": "constraint_partition_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/507_constraint_partition_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/507_constraint_partition_evolve.sql",
      "description": "Constraint + partition + schema evolution. Three-way feature combo. Tests that CHECK constraints are enforced after schema evolution (adding a column), and that DML operations respect both constraints and partition structure. 1. INSERT 120 rows (3 regions, 40 each) 2. ALTER...",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:update",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/508_colmap_cdc_merge_dml",
      "num": 508,
      "name": "colmap_cdc_merge_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/508_colmap_cdc_merge_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/508_colmap_cdc_merge_dml.sql",
      "description": "Column mapping + CDC + MERGE + subsequent DML. Four-way feature combo. Tests that column mapping (name mode) works correctly with CDF tracking through a MERGE and a subsequent DELETE. 1. INSERT 100 rows with status='new' 2. MERGE from 120-row CTE: MATCHED->UPDATE...",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/509_dv_partition_optimize_merge",
      "num": 509,
      "name": "dv_partition_optimize_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/509_dv_partition_optimize_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/509_dv_partition_optimize_merge.sql",
      "description": "DV + partition + OPTIMIZE + MERGE. Four-way feature combo. Tests that deletion vectors survive OPTIMIZE compaction in a partitioned table, and that a subsequent MERGE correctly handles rows that were previously deleted and compacted away. 1. INSERT 50 rows batch 1 (id 1-50, 3...",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/50_writer_checkpoint_metadata_cleanup",
      "num": 50,
      "name": "writer_checkpoint_metadata_cleanup",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/50_writer_checkpoint_metadata_cleanup.py",
      "read_script": "generator/df-reads-spark-iceberg/50_writer_checkpoint_metadata_cleanup.sql",
      "description": "Demonstrates checkpoint creation and old log file cleanup. accumulates many Delta log files. Checkpoints consolidate the metadata state, allowing safe cleanup of old log entries.",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/510_cdc_colmap_constraint_evolve",
      "num": 510,
      "name": "cdc_colmap_constraint_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/510_cdc_colmap_constraint_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/510_cdc_colmap_constraint_evolve.sql",
      "description": "CDC + column mapping + constraint + schema evolution. Four-way feature combo. Tests that CDF correctly tracks changes under column mapping mode=name, with a CHECK constraint enforced, after schema evolution adds a new column. 1. INSERT 100 rows with score=(i*53)%100 2. ALTER...",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/511_large_merge_update",
      "num": 511,
      "name": "large_merge_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/511_large_merge_update.py",
      "read_script": "generator/df-reads-spark-iceberg/511_large_merge_update.sql",
      "description": "Large-scale MERGE with UPDATE only (2000 rows, full overlap). All source rows match target rows, so only the WHEN MATCHED branch fires. Tests DV performance under bulk UPDATE via MERGE.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/512_large_delete",
      "num": 512,
      "name": "large_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/512_large_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/512_large_delete.sql",
      "description": "Large-scale DELETE (10000 rows, 90% deleted). Tests mass deletion vector creation under heavy DELETE load. Only 1 in 10 rows survives.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/513_twenty_version_stress",
      "num": 513,
      "name": "twenty_version_stress",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/513_twenty_version_stress.py",
      "read_script": "generator/df-reads-spark-iceberg/513_twenty_version_stress.sql",
      "description": "20+ versions of mixed DML. Tests long version chain with interleaved INSERT, UPDATE, and DELETE operations across many commits.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/514_date_column_dml",
      "num": 514,
      "name": "date_column_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/514_date_column_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/514_date_column_dml.sql",
      "description": "DATE columns with DML using date predicates. Uses arrow_cast for Date32 to ensure deterministic date handling without relying on string parsing.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:date",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/515_multiple_type_columns",
      "num": 515,
      "name": "multiple_type_columns",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/515_multiple_type_columns.py",
      "read_script": "generator/df-reads-spark-iceberg/515_multiple_type_columns.sql",
      "description": "Many column types in one table with DML operations. Tests that type diversity is preserved correctly through UPDATE and DELETE.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/516_partition_three_col",
      "num": 516,
      "name": "partition_three_col",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/516_partition_three_col.py",
      "read_script": "generator/df-reads-spark-iceberg/516_partition_three_col.sql",
      "description": "Three-column partitioning (year, month, region) with DML operations. Tests partition pruning and DV creation across a multi-level partition scheme.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/517_cdc_dv_delete_reinsert_merge",
      "num": 517,
      "name": "cdc_dv_delete_reinsert_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/517_cdc_dv_delete_reinsert_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/517_cdc_dv_delete_reinsert_merge.sql",
      "description": "CDC + DV + delete-reinsert + MERGE. Complex lifecycle where rows are deleted and re-inserted with different generation markers, then a MERGE unifies everything. Tests CDF tracking across multiple lifecycle stages.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/518_evolve_three_adds",
      "num": 518,
      "name": "evolve_three_adds",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/518_evolve_three_adds.py",
      "read_script": "generator/df-reads-spark-iceberg/518_evolve_three_adds.sql",
      "description": "Three sequential ALTER TABLE ADD COLUMN operations with DML after each. Tests schema evolution where new columns are added incrementally and existing rows gain values through UPDATE.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/519_colmap_partition_evolve_merge",
      "num": 519,
      "name": "colmap_partition_evolve_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/519_colmap_partition_evolve_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/519_colmap_partition_evolve_merge.sql",
      "description": "Column mapping (name mode) + partitioning + schema evolution + MERGE. Four-way feature interaction test. Column mapping with name mode requires minReaderVersion=2, minWriterVersion=5.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/51_writer_version_requirements_matrix",
      "num": 51,
      "name": "writer_version_requirements_matrix",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/51_writer_version_requirements_matrix.py",
      "read_script": "generator/df-reads-spark-iceberg/51_writer_version_requirements_matrix.sql",
      "description": "Demonstrates writer version requirements for different features.",
      "status": "pass",
      "duration_ms": 21,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 21,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "dml:overwrite",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/520_optimize_cdc_constraint",
      "num": 520,
      "name": "optimize_cdc_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/520_optimize_cdc_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/520_optimize_cdc_constraint.sql",
      "description": "OPTIMIZE + CDC + constraint. Three-way feature interaction. Tests that OPTIMIZE compaction works correctly with CDC enabled and a CHECK constraint enforced.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/521_merge_chain",
      "num": 521,
      "name": "merge_chain",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/521_merge_chain.py",
      "read_script": "generator/df-reads-spark-iceberg/521_merge_chain.sql",
      "description": "Two sequential MERGEs on the same table. Tests MERGE-after-MERGE correctness where the second MERGE operates on data already modified by the first.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/522_update_chain_different_cols",
      "num": 522,
      "name": "update_chain_different_cols",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/522_update_chain_different_cols.py",
      "read_script": "generator/df-reads-spark-iceberg/522_update_chain_different_cols.sql",
      "description": "Three UPDATEs each modifying different columns on overlapping row ranges. Tests that independent column updates do not interfere with each other when applied via deletion vectors.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:default-values",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/523_delete_then_merge",
      "num": 523,
      "name": "delete_then_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/523_delete_then_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/523_delete_then_merge.sql",
      "description": "DELETE followed by MERGE on the same table. Tests that MERGE correctly operates on a table containing deletion vectors from a prior DELETE. The deleted rows are re-inserted by the MERGE's NOT MATCHED branch.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/524_merge_then_delete",
      "num": 524,
      "name": "merge_then_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/524_merge_then_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/524_merge_then_delete.sql",
      "description": "MERGE followed by DELETE. Tests that DELETE correctly operates on data that was just inserted/updated by a MERGE operation.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/525_partition_delete_all_one",
      "num": 525,
      "name": "partition_delete_all_one",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/525_partition_delete_all_one.py",
      "read_script": "generator/df-reads-spark-iceberg/525_partition_delete_all_one.sql",
      "description": "DELETE all rows from a single partition, then UPDATE a different partition. Tests partition-level deletion where an entire partition's data files are removed, followed by an UPDATE on surviving partitions.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/526_cdc_dv_colmap_partition",
      "num": 526,
      "name": "cdc_dv_colmap_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/526_cdc_dv_colmap_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/526_cdc_dv_colmap_partition.sql",
      "description": "Four-way feature combination: CDC (Change Data Feed) + Deletion Vectors + Column Mapping (name mode) + Partitioning. Tests that all four features coexist and produce correct data after UPDATE and DELETE operations.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/527_constraint_merge_update",
      "num": 527,
      "name": "constraint_merge_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/527_constraint_merge_update.py",
      "read_script": "generator/df-reads-spark-iceberg/527_constraint_merge_update.sql",
      "description": "CHECK constraint + MERGE + subsequent UPDATE. Tests that the constraint (value > 0) is enforced across a DML chain: the MERGE inserts/updates only valid rows, and the UPDATE further modifies values while keeping them within the constraint.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/528_evolve_partition_cdc",
      "num": 528,
      "name": "evolve_partition_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/528_evolve_partition_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/528_evolve_partition_cdc.sql",
      "description": "Three-way combination: Schema evolution (ADD COLUMN) + Partitioning + CDC. Tests that a column added after initial data load works correctly with partitioned data and change data feed tracking.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/529_dv_cdc_optimize_merge",
      "num": 529,
      "name": "dv_cdc_optimize_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/529_dv_cdc_optimize_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/529_dv_cdc_optimize_merge.sql",
      "description": "Four-way combination: Deletion Vectors + CDC + OPTIMIZE + MERGE. Tests that MERGE works correctly after OPTIMIZE has materialized deletion vectors into compacted files. The OPTIMIZE step converts logical deletes (DVs) into physical deletes, then MERGE must correctly match...",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/52_writer_append_only_enforcement",
      "num": 52,
      "name": "writer_append_only_enforcement",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/52_writer_append_only_enforcement.py",
      "read_script": "generator/df-reads-spark-iceberg/52_writer_append_only_enforcement.sql",
      "description": "Demonstrates append-only table constraint where only INSERT operations are allowed. Writers MUST NOT perform DELETE, UPDATE, or MERGE operations on append-only tables.",
      "status": "pass",
      "duration_ms": 20,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 20,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/530_colmap_constraint_merge",
      "num": 530,
      "name": "colmap_constraint_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/530_colmap_constraint_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/530_colmap_constraint_merge.sql",
      "description": "Three-way combination: Column Mapping (name mode) + CHECK constraint + MERGE. Tests that a CHECK constraint (score >= 0 AND score <= 100) is enforced when MERGE inserts and updates rows on a column-mapped table.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/531_update_set_from_id",
      "num": 531,
      "name": "update_set_from_id",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/531_update_set_from_id.py",
      "read_script": "generator/df-reads-spark-iceberg/531_update_set_from_id.sql",
      "description": "UPDATE SET column values derived from id using mathematical expressions. Tests that UPDATE can compute multiple columns from existing column values.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/532_delete_modular",
      "num": 532,
      "name": "delete_modular",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/532_delete_modular.py",
      "read_script": "generator/df-reads-spark-iceberg/532_delete_modular.sql",
      "description": "DELETE with multiple modular predicates in sequence. Tests that each DELETE operates independently on the surviving rows from the previous DELETE.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/533_partition_insert_new",
      "num": 533,
      "name": "partition_insert_new",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/533_partition_insert_new.py",
      "read_script": "generator/df-reads-spark-iceberg/533_partition_insert_new.sql",
      "description": "INSERT rows into a new partition value that did not exist at CREATE time. Tests dynamic partition creation and UPDATE within that new partition.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/534_cdc_schema_evolve_merge",
      "num": 534,
      "name": "cdc_schema_evolve_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/534_cdc_schema_evolve_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/534_cdc_schema_evolve_merge.sql",
      "description": "CDC + schema evolution + MERGE. Tests that Change Data Feed works correctly across a schema change (ADD COLUMN) combined with a MERGE operation.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/535_optimize_delete_optimize",
      "num": 535,
      "name": "optimize_delete_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/535_optimize_delete_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/535_optimize_delete_optimize.sql",
      "description": "OPTIMIZE then DELETE then OPTIMIZE again. Tests double compaction where the second OPTIMIZE materializes deletion vectors left by the DELETE on the already-compacted files from the first OPTIMIZE.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/536_merge_update_specific_cols",
      "num": 536,
      "name": "merge_update_specific_cols",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/536_merge_update_specific_cols.py",
      "read_script": "generator/df-reads-spark-iceberg/536_merge_update_specific_cols.sql",
      "description": "MERGE that only updates specific columns (not all). Tests partial column update in MERGE where only score changes while name, category, and status are preserved from the original row.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/537_dv_cdc_partition_delete_update",
      "num": 537,
      "name": "dv_cdc_partition_delete_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/537_dv_cdc_partition_delete_update.py",
      "read_script": "generator/df-reads-spark-iceberg/537_dv_cdc_partition_delete_update.sql",
      "description": "DV + CDC + partition + DELETE + UPDATE. Tests combined DML operations on a partitioned table with both deletion vectors and change data feed enabled.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/538_constraint_two_checks",
      "num": 538,
      "name": "constraint_two_checks",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/538_constraint_two_checks.py",
      "read_script": "generator/df-reads-spark-iceberg/538_constraint_two_checks.sql",
      "description": "Two independent CHECK constraints on the same table followed by DML. Tests that both constraints are enforced simultaneously and that valid UPDATE and DELETE operations succeed.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/539_evolve_rename_add",
      "num": 539,
      "name": "evolve_rename_add",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/539_evolve_rename_add.py",
      "read_script": "generator/df-reads-spark-iceberg/539_evolve_rename_add.sql",
      "description": "RENAME COLUMN then ADD COLUMN. Tests stacked schema evolution where a column is renamed first, then a new column is added, followed by DML that uses both the renamed and new columns.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "schema:add-column",
        "schema:rename-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/53_writer_column_invariants_not_null",
      "num": 53,
      "name": "writer_column_invariants_not_null",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/53_writer_column_invariants_not_null.py",
      "read_script": "generator/df-reads-spark-iceberg/53_writer_column_invariants_not_null.sql",
      "description": "Demonstrates CHECK constraints that enforce data integrity rules. Writers MUST validate all CHECK constraints before writing data.",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/540_insert_overwrite_then_merge",
      "num": 540,
      "name": "insert_overwrite_then_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/540_insert_overwrite_then_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/540_insert_overwrite_then_merge.sql",
      "description": "INSERT OVERWRITE then MERGE. Tests that MERGE operates correctly on data seeded via INSERT OVERWRITE (which replaces all existing data).",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "dml:overwrite",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/541_merge_delete_reinsert",
      "num": 541,
      "name": "merge_delete_reinsert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/541_merge_delete_reinsert.py",
      "read_script": "generator/df-reads-spark-iceberg/541_merge_delete_reinsert.sql",
      "description": "MERGE that deletes rows then re-inserts them. Tests row lifecycle where rows are removed via MERGE WHEN MATCHED DELETE then re-added via INSERT.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/542_cdc_partition_optimize_merge",
      "num": 542,
      "name": "cdc_partition_optimize_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/542_cdc_partition_optimize_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/542_cdc_partition_optimize_merge.sql",
      "description": "CDC + partition + OPTIMIZE + MERGE. Four-way combination testing that Change Data Feed, partitioning, file compaction, and MERGE all cooperate.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/543_colmap_optimize_evolve",
      "num": 543,
      "name": "colmap_optimize_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/543_colmap_optimize_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/543_colmap_optimize_evolve.sql",
      "description": "Column mapping + OPTIMIZE + schema evolution. Three-way combination testing that column mapping mode=name, file compaction, and ADD COLUMN cooperate.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:optimize",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/544_constraint_cdc_partition",
      "num": 544,
      "name": "constraint_cdc_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/544_constraint_cdc_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/544_constraint_cdc_partition.sql",
      "description": "Constraint + CDC + partition. Three-way combination testing that CHECK constraints, Change Data Feed, and partitioning cooperate correctly.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/545_dv_constraint_evolve_merge",
      "num": 545,
      "name": "dv_constraint_evolve_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/545_dv_constraint_evolve_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/545_dv_constraint_evolve_merge.sql",
      "description": "DV + constraint + schema evolution + MERGE. Four-way combination testing that deletion vectors, CHECK constraints, ADD COLUMN, and MERGE cooperate.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/546_partition_colmap_constraint",
      "num": 546,
      "name": "partition_colmap_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/546_partition_colmap_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/546_partition_colmap_constraint.sql",
      "description": "Partition + column mapping + constraint. Three-way combination testing that partitioning, column mapping mode=name, and CHECK constraints cooperate.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:constraints",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/547_merge_partition_cdc_dml",
      "num": 547,
      "name": "merge_partition_cdc_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/547_merge_partition_cdc_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/547_merge_partition_cdc_dml.sql",
      "description": "MERGE + partition + CDC + additional DML. Complex lifecycle testing that MERGE, partitioning, Change Data Feed, UPDATE, and DELETE all cooperate.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/548_optimize_colmap_cdc",
      "num": 548,
      "name": "optimize_colmap_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/548_optimize_colmap_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/548_optimize_colmap_cdc.sql",
      "description": "OPTIMIZE + column mapping + CDC. Three-way combination testing that file compaction, column mapping mode=name, and Change Data Feed cooperate.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/549_evolve_optimize_delete",
      "num": 549,
      "name": "evolve_optimize_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/549_evolve_optimize_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/549_evolve_optimize_delete.sql",
      "description": "Schema evolution + OPTIMIZE + DELETE. Three-way combination testing that ADD COLUMN, file compaction, and DELETE cooperate correctly.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:optimize",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/54_writer_check_constraints_validation",
      "num": 54,
      "name": "writer_check_constraints_validation",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/54_writer_check_constraints_validation.py",
      "read_script": "generator/df-reads-spark-iceberg/54_writer_check_constraints_validation.sql",
      "description": "Demonstrates CHECK constraints that writers must validate before committing data.",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/550_cdc_constraint_merge_partition",
      "num": 550,
      "name": "cdc_constraint_merge_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/550_cdc_constraint_merge_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/550_cdc_constraint_merge_partition.sql",
      "description": "CDC + constraint + MERGE + partition. Four-way combination testing that Change Data Feed, CHECK constraints, MERGE, and partitioning cooperate.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/551_delete_update_merge_chain",
      "num": 551,
      "name": "delete_update_merge_chain",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/551_delete_update_merge_chain.py",
      "read_script": "generator/df-reads-spark-iceberg/551_delete_update_merge_chain.sql",
      "description": "DELETE then UPDATE then MERGE. Three sequential DML types in one script. Validates that the engine correctly chains heterogeneous DML operations.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/552_merge_with_aggregated_source",
      "num": 552,
      "name": "merge_with_aggregated_source",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/552_merge_with_aggregated_source.py",
      "read_script": "generator/df-reads-spark-iceberg/552_merge_with_aggregated_source.sql",
      "description": "MERGE where the source is a CTE with computed totals. Tests that MERGE handles complex source expressions and additive UPDATE logic.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/553_partition_five_insert_optimize",
      "num": 553,
      "name": "partition_five_insert_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/553_partition_five_insert_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/553_partition_five_insert_optimize.sql",
      "description": "Five INSERT batches into a partitioned table then OPTIMIZE. Tests per-partition compaction after multiple small writes.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/554_colmap_rename_drop",
      "num": 554,
      "name": "colmap_rename_drop",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/554_colmap_rename_drop.py",
      "read_script": "generator/df-reads-spark-iceberg/554_colmap_rename_drop.sql",
      "description": "Column mapping with RENAME COLUMN and DROP COLUMN in the same script. Tests stacked column mutations under columnMapping.mode=name.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "schema:drop-column",
        "schema:rename-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/555_cdc_dv_all_dml",
      "num": 555,
      "name": "cdc_dv_all_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/555_cdc_dv_all_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/555_cdc_dv_all_dml.sql",
      "description": "CDC + DV with every DML type: INSERT, UPDATE, DELETE, MERGE. Validates that change data feed captures all operation types correctly while deletion vectors are active.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/556_constraint_not_null_dml",
      "num": 556,
      "name": "constraint_not_null_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/556_constraint_not_null_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/556_constraint_not_null_dml.sql",
      "description": "NOT NULL columns + CHECK constraints + DML. Validates that constraints are enforced correctly across UPDATE and DELETE operations, and that nullable columns accept NULL values.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/557_partition_evolve_constraint_cdc",
      "num": 557,
      "name": "partition_evolve_constraint_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/557_partition_evolve_constraint_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/557_partition_evolve_constraint_cdc.sql",
      "description": "Partition + schema evolution + constraint + CDC. Four-way feature combination test validating that ADD COLUMN, CHECK constraint, and CDC all work correctly on a partitioned table.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/558_optimize_partition_merge_cdc",
      "num": 558,
      "name": "optimize_partition_merge_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/558_optimize_partition_merge_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/558_optimize_partition_merge_cdc.sql",
      "description": "OPTIMIZE + partition + MERGE + CDC. Four-way combination test validating that MERGE operates correctly on an optimized partitioned table with change data feed enabled.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/559_colmap_cdc_dv_evolve_partition",
      "num": 559,
      "name": "colmap_cdc_dv_evolve_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/559_colmap_cdc_dv_evolve_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/559_colmap_cdc_dv_evolve_partition.sql",
      "description": "Five-way: column mapping + CDC + DV + schema evolution + partition. Validates that all five features coexist without conflicts when performing DELETE, ADD COLUMN, INSERT, and UPDATE operations.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/55_writer_generated_columns_computed",
      "num": 55,
      "name": "writer_generated_columns_computed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/55_writer_generated_columns_computed.py",
      "read_script": "generator/df-reads-spark-iceberg/55_writer_generated_columns_computed.sql",
      "description": "Demonstrates generated columns that are automatically computed from other columns.",
      "status": "pass",
      "duration_ms": 22,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 22,
      "read_warm_ms": 10,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:generated-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/560_all_features_stress",
      "num": 560,
      "name": "all_features_stress",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/560_all_features_stress.py",
      "read_script": "generator/df-reads-spark-iceberg/560_all_features_stress.sql",
      "description": "Grand stress test: DV + CDC + colmap + partition + constraint + schema evolution + OPTIMIZE + MERGE + DELETE + UPDATE. Exercises nearly every Delta feature in a single script.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:optimize",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/561_update_multiple_where",
      "num": 561,
      "name": "update_multiple_where",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/561_update_multiple_where.py",
      "read_script": "generator/df-reads-spark-iceberg/561_update_multiple_where.sql",
      "description": "UPDATE with complex compound WHERE (AND + OR). Tests that the engine correctly evaluates compound predicates with mixed boolean logic.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/562_delete_in_list",
      "num": 562,
      "name": "delete_in_list",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/562_delete_in_list.py",
      "read_script": "generator/df-reads-spark-iceberg/562_delete_in_list.sql",
      "description": "DELETE WHERE id IN (...). Tests IN-list predicate evaluation with deletion vectors.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/563_merge_with_case_update",
      "num": 563,
      "name": "merge_with_case_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/563_merge_with_case_update.py",
      "read_script": "generator/df-reads-spark-iceberg/563_merge_with_case_update.sql",
      "description": "MERGE with CASE expression in UPDATE SET. Tests that the engine handles complex expressions within MERGE UPDATE clauses.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/564_partition_evolve_delete_all",
      "num": 564,
      "name": "partition_evolve_delete_all",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/564_partition_evolve_delete_all.py",
      "read_script": "generator/df-reads-spark-iceberg/564_partition_evolve_delete_all.sql",
      "description": "Partition + schema evolution + DELETE all from one partition. Tests that deleting an entire partition works correctly after schema evolution, and that re-inserted rows use the evolved schema.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/565_cdc_merge_delete_chain",
      "num": 565,
      "name": "cdc_merge_delete_chain",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/565_cdc_merge_delete_chain.py",
      "read_script": "generator/df-reads-spark-iceberg/565_cdc_merge_delete_chain.sql",
      "description": "CDC + MERGE then DELETE. Tests that CDF captures both MERGE and DELETE operations in sequence.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/566_constraint_evolve_cdc_dml",
      "num": 566,
      "name": "constraint_evolve_cdc_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/566_constraint_evolve_cdc_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/566_constraint_evolve_cdc_dml.sql",
      "description": "Constraint + schema evolution + CDC + DML. Four-way feature combo. Tests that CHECK constraints, schema evolution, and CDF all interact correctly under DML operations.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/567_colmap_dv_delete_update",
      "num": 567,
      "name": "colmap_dv_delete_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/567_colmap_dv_delete_update.py",
      "read_script": "generator/df-reads-spark-iceberg/567_colmap_dv_delete_update.sql",
      "description": "Column mapping + DV + DELETE + UPDATE. Tests that deletion vectors and update operations work correctly with column mapping mode=name.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/568_optimize_evolve_merge",
      "num": 568,
      "name": "optimize_evolve_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/568_optimize_evolve_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/568_optimize_evolve_merge.sql",
      "description": "OPTIMIZE + schema evolution + MERGE. Three-way feature combo. Tests that MERGE works correctly on a table that has been optimized and then schema-evolved.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:optimize",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/569_partition_cdc_colmap_merge",
      "num": 569,
      "name": "partition_cdc_colmap_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/569_partition_cdc_colmap_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/569_partition_cdc_colmap_merge.sql",
      "description": "Partition + CDC + column mapping + MERGE. Four-way feature combo. Tests that MERGE works on a partitioned table with CDF and column mapping all enabled simultaneously.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/56_writer_default_columns_values",
      "num": 56,
      "name": "writer_default_columns_values",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/56_writer_default_columns_values.py",
      "read_script": "generator/df-reads-spark-iceberg/56_writer_default_columns_values.sql",
      "description": "Demonstrates handling of default column values in Delta table writes. Tests writer behavior when columns have default values assigned.",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "delta:default-values",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/570_constraint_dv_optimize",
      "num": 570,
      "name": "constraint_dv_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/570_constraint_dv_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/570_constraint_dv_optimize.sql",
      "description": "Constraint + DV + OPTIMIZE. Tests that constraint metadata survives deletion vector operations and file compaction.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/571_merge_partition_delete_insert",
      "num": 571,
      "name": "merge_partition_delete_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/571_merge_partition_delete_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/571_merge_partition_delete_insert.sql",
      "description": "MERGE with DELETE clause on partitioned table + subsequent INSERT. Tests that MERGE DELETE conditions work on partitioned tables and that subsequent inserts are correctly placed.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/572_cdc_constraint_evolve_merge",
      "num": 572,
      "name": "cdc_constraint_evolve_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/572_cdc_constraint_evolve_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/572_cdc_constraint_evolve_merge.sql",
      "description": "CDC + constraint + schema evolution + MERGE. Four-way feature combo. Tests that MERGE respects constraints after schema evolution on a CDF-enabled table.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:constraints",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/573_dv_partition_evolve_delete",
      "num": 573,
      "name": "dv_partition_evolve_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/573_dv_partition_evolve_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/573_dv_partition_evolve_delete.sql",
      "description": "DV + partition + schema evolution + DELETE. Tests that schema evolution on a partitioned DV table works correctly with DELETE and UPDATE on the new column.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/574_colmap_optimize_merge_dml",
      "num": 574,
      "name": "colmap_optimize_merge_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/574_colmap_optimize_merge_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/574_colmap_optimize_merge_dml.sql",
      "description": "Column mapping + OPTIMIZE + MERGE + DML. Four-way feature combo. Tests that MERGE and DELETE work correctly on an optimized column-mapped table.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/575_cdc_dv_colmap_evolve",
      "num": 575,
      "name": "cdc_dv_colmap_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/575_cdc_dv_colmap_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/575_cdc_dv_colmap_evolve.sql",
      "description": "CDC + DV + column mapping + schema evolution. Four-way feature combo. Tests that schema evolution works on a table with CDC, DVs, and column mapping all enabled.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/576_partition_constraint_optimize",
      "num": 576,
      "name": "partition_constraint_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/576_partition_constraint_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/576_partition_constraint_optimize.sql",
      "description": "Partition + constraint + OPTIMIZE. Three-way feature combo. Tests that constraints survive OPTIMIZE on partitioned tables and that subsequent inserts still respect constraints.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/577_merge_evolve_cdc_dml",
      "num": 577,
      "name": "merge_evolve_cdc_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/577_merge_evolve_cdc_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/577_merge_evolve_cdc_dml.sql",
      "description": "MERGE + schema evolution + CDC + DML. Four-way feature combo. Tests that MERGE correctly populates a new column added via schema evolution, and that subsequent DML operates correctly with CDF.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/578_colmap_constraint_partition_dml",
      "num": 578,
      "name": "colmap_constraint_partition_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/578_colmap_constraint_partition_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/578_colmap_constraint_partition_dml.sql",
      "description": "Column mapping + constraint + partition + DML. Four-way feature combo. Tests that constraints are enforced on a partitioned column-mapped table during UPDATE and DELETE operations.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:constraints",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/579_optimize_evolve_cdc_partition",
      "num": 579,
      "name": "optimize_evolve_cdc_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/579_optimize_evolve_cdc_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/579_optimize_evolve_cdc_partition.sql",
      "description": "OPTIMIZE + schema evolution + CDC + partition. Four-way feature combo. Tests that OPTIMIZE on a partitioned CDC table does not break schema evolution, and that subsequent inserts and updates work correctly.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:change-data-feed",
        "delta:optimize",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/57_writer_identity_columns_auto",
      "num": 57,
      "name": "writer_identity_columns_auto",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/57_writer_identity_columns_auto.py",
      "read_script": "generator/df-reads-spark-iceberg/57_writer_identity_columns_auto.sql",
      "description": "Demonstrates handling of identity columns with auto-increment behavior.",
      "status": "pass",
      "duration_ms": 22,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 22,
      "read_warm_ms": 10,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "delta:identity-columns",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/580_five_way_merge_stress",
      "num": 580,
      "name": "five_way_merge_stress",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/580_five_way_merge_stress.py",
      "read_script": "generator/df-reads-spark-iceberg/580_five_way_merge_stress.sql",
      "description": "DV + CDC + partition + constraint + MERGE. Five-way combo with MERGE. The most complex feature interaction test: all major Delta features active simultaneously.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/581_merge_three_clause_partition",
      "num": 581,
      "name": "merge_three_clause_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/581_merge_three_clause_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/581_merge_three_clause_partition.sql",
      "description": "MERGE with all 3 clauses (DELETE + UPDATE + INSERT) on a partitioned table. Validates that a single MERGE statement can delete low-scoring rows, update surviving matches, and insert new rows -- all in one pass on a partitioned table.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/582_cdc_dv_constraint_delete",
      "num": 582,
      "name": "cdc_dv_constraint_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/582_cdc_dv_constraint_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/582_cdc_dv_constraint_delete.sql",
      "description": "CDC + DV + constraint + DELETE. Tests that constraint metadata is properly tracked in the CDF context, and that DELETE operations generate correct change data feed records when deletion vectors are enabled.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/583_colmap_evolve_rename_merge",
      "num": 583,
      "name": "colmap_evolve_rename_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/583_colmap_evolve_rename_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/583_colmap_evolve_rename_merge.sql",
      "description": "Column mapping + schema evolution (ADD + RENAME) + MERGE. Tests that column rename and column addition work correctly with column mapping mode, and that a subsequent MERGE properly resolves the renamed/added columns.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "delta:constraints",
        "schema:add-column",
        "schema:rename-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/584_partition_delete_update_insert",
      "num": 584,
      "name": "partition_delete_update_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/584_partition_delete_update_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/584_partition_delete_update_insert.sql",
      "description": "Partition + DELETE + UPDATE + INSERT all targeting different partitions. Validates that DML operations correctly isolate to their target partitions and that cross-partition data remains untouched.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:update",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/585_optimize_constraint_cdc_partition",
      "num": 585,
      "name": "optimize_constraint_cdc_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/585_optimize_constraint_cdc_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/585_optimize_constraint_cdc_partition.sql",
      "description": "OPTIMIZE + constraint + CDC + partition. Four-way feature combination. Validates that OPTIMIZE compacts files correctly on a partitioned table with CDC enabled and a CHECK constraint, and that subsequent DML still produces correct CDF records.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/586_merge_cdc_partition_evolve",
      "num": 586,
      "name": "merge_cdc_partition_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/586_merge_cdc_partition_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/586_merge_cdc_partition_evolve.sql",
      "description": "MERGE + CDC + partition + schema evolution. Four-way feature combination. Validates that MERGE works correctly after adding a new column to a partitioned table with CDC enabled, and that CDF records capture the evolved schema.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/587_colmap_dv_cdc_constraint",
      "num": 587,
      "name": "colmap_dv_cdc_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/587_colmap_dv_cdc_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/587_colmap_dv_cdc_constraint.sql",
      "description": "Column mapping + DV + CDC + constraint. Four-way feature combination. Validates that all four features coexist: column mapping tracks physical IDs, deletion vectors handle deletes, CDC captures change records, and the CHECK constraint is enforced throughout.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/588_large_multi_batch_insert",
      "num": 588,
      "name": "large_multi_batch_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/588_large_multi_batch_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/588_large_multi_batch_insert.sql",
      "description": "Large table: 20 INSERT batches of 100 rows each (2000 total) + DML. Validates that the engine handles many small commits correctly, producing a large number of log entries, and that subsequent DELETE and UPDATE operations work on a table with many data files.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "scale:many-batches",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/589_merge_delete_clause_cdc",
      "num": 589,
      "name": "merge_delete_clause_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/589_merge_delete_clause_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/589_merge_delete_clause_cdc.sql",
      "description": "MERGE with DELETE clause + CDC. Tests that CDF records capture MERGE-DELETE events correctly -- when a MERGE statement deletes rows via its WHEN MATCHED AND ... THEN DELETE clause, the change data feed must record those as deletes.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/58_reader_version_requirements_matrix",
      "num": 58,
      "name": "reader_version_requirements_matrix",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/58_reader_version_requirements_matrix.py",
      "read_script": "generator/df-reads-spark-iceberg/58_reader_version_requirements_matrix.sql",
      "description": "Demonstrates reader version requirements to read tables with various features.",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/590_evolve_constraint_optimize_merge",
      "num": 590,
      "name": "evolve_constraint_optimize_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/590_evolve_constraint_optimize_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/590_evolve_constraint_optimize_merge.sql",
      "description": "Schema evolution + constraint + OPTIMIZE + MERGE. Four-way feature combo. Validates that adding a column, adding a constraint, compacting files, and then running a MERGE all work together correctly.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "delta:optimize",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/591_partition_three_region_merge",
      "num": 591,
      "name": "partition_three_region_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/591_partition_three_region_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/591_partition_three_region_merge.sql",
      "description": "3-region partition + MERGE that adds rows to each region. Validates that MERGE correctly handles both matched updates and unmatched inserts across all partitions evenly.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/592_cdc_dv_optimize_delete_update",
      "num": 592,
      "name": "cdc_dv_optimize_delete_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/592_cdc_dv_optimize_delete_update.py",
      "read_script": "generator/df-reads-spark-iceberg/592_cdc_dv_optimize_delete_update.sql",
      "description": "CDC + DV + OPTIMIZE + DELETE + UPDATE. Full DML lifecycle with compaction. Validates that OPTIMIZE compacts DV-enabled files correctly, and that subsequent DELETE and UPDATE generate proper CDF records after compaction.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/593_colmap_partition_delete_merge",
      "num": 593,
      "name": "colmap_partition_delete_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/593_colmap_partition_delete_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/593_colmap_partition_delete_merge.sql",
      "description": "Column mapping + partition + DELETE + MERGE. Validates that column mapping works correctly with partitioned data, and that DELETE followed by MERGE properly handles physical column IDs across partition boundaries.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/594_constraint_two_evolve",
      "num": 594,
      "name": "constraint_two_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/594_constraint_two_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/594_constraint_two_evolve.sql",
      "description": "Two constraints + two schema evolutions. Tests that multiple ADD CONSTRAINT and ADD COLUMN operations interleave correctly, and that constraints on newly-added columns are enforced properly (including NULL handling).",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/595_optimize_merge_delete_chain",
      "num": 595,
      "name": "optimize_merge_delete_chain",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/595_optimize_merge_delete_chain.py",
      "read_script": "generator/df-reads-spark-iceberg/595_optimize_merge_delete_chain.sql",
      "description": "OPTIMIZE then MERGE then DELETE. Three-step DML chain after compaction. Validates that MERGE works correctly on optimized (compacted) files, and that a subsequent DELETE properly handles rows that were just inserted by the MERGE.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/596_cdc_colmap_partition_merge_evolve",
      "num": 596,
      "name": "cdc_colmap_partition_merge_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/596_cdc_colmap_partition_merge_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/596_cdc_colmap_partition_merge_evolve.sql",
      "description": "Five-way: CDC + column mapping + partition + MERGE + schema evolution. The most complex feature interaction test combining all major metadata features (CDC, colmap) with partitioning, schema evolution, and MERGE DML.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/597_dv_partition_constraint_cdc",
      "num": 597,
      "name": "dv_partition_constraint_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/597_dv_partition_constraint_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/597_dv_partition_constraint_cdc.sql",
      "description": "DV + partition + constraint + CDC. Four-way feature combination. Validates that deletion vectors, partitioning, CHECK constraints, and change data feed all coexist correctly through DELETE and UPDATE operations.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/598_colmap_evolve_optimize_dml",
      "num": 598,
      "name": "colmap_evolve_optimize_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/598_colmap_evolve_optimize_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/598_colmap_evolve_optimize_dml.sql",
      "description": "Column mapping + schema evolution + OPTIMIZE + DML. Four-way feature combo. Validates that OPTIMIZE correctly handles files with evolved schema under column mapping mode, and that subsequent DML (UPDATE + DELETE) works on the compacted, evolved table.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:optimize",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/599_merge_cdc_dv_colmap_constraint",
      "num": 599,
      "name": "merge_cdc_dv_colmap_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/599_merge_cdc_dv_colmap_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/599_merge_cdc_dv_colmap_constraint.sql",
      "description": "Five-way: MERGE + CDC + DV + column mapping + constraint. Tests that all five major Delta features coexist: column mapping tracks physical IDs, DVs handle deletes, CDC captures changes, the constraint is enforced through MERGE inserts, and MERGE correctly resolves all of this.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/59_schema_all_primitive_types",
      "num": 59,
      "name": "schema_all_primitive_types",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/59_schema_all_primitive_types.py",
      "read_script": "generator/df-reads-spark-iceberg/59_schema_all_primitive_types.sql",
      "description": "decimal, string, binary, boolean, date, timestamp. - Temperature (float/double), humidity (byte), pressure (short) - Device IDs (long), timestamps (timestamp), locations (string) - Binary sensor payloads, boolean status flags, date-based partitions",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:binary",
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/600_ultimate_comprehensive",
      "num": 600,
      "name": "ultimate_comprehensive",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/600_ultimate_comprehensive.py",
      "read_script": "generator/df-reads-spark-iceberg/600_ultimate_comprehensive.sql",
      "description": "ULTIMATE test: DV + CDC + colmap + partition + constraint + schema evolution + OPTIMIZE + MERGE + DELETE + UPDATE. All major Delta features and all DML types exercised in a single test. This is the most comprehensive integration test in the suite.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:optimize",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/601_struct_update",
      "num": 601,
      "name": "struct_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/601_struct_update.py",
      "read_script": "generator/df-reads-spark-iceberg/601_struct_update.sql",
      "description": "STRUCT column + UPDATE on non-struct columns. Verifies that nested struct values are preserved unchanged through UPDATE and DELETE operations that only modify scalar columns.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:struct",
        "dml:delete",
        "dml:insert",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/602_struct_merge",
      "num": 602,
      "name": "struct_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/602_struct_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/602_struct_merge.sql",
      "description": "STRUCT column + MERGE. Tests that struct values survive MERGE UPDATE and that new struct values are correctly inserted via MERGE NOT MATCHED.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/603_struct_cdc",
      "num": 603,
      "name": "struct_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/603_struct_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/603_struct_cdc.sql",
      "description": "STRUCT column + CDC (Change Data Feed). Tests that CDF correctly captures pre/post images for rows containing nested struct data through UPDATE and DELETE operations.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:struct",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/604_timestamp_merge",
      "num": 604,
      "name": "timestamp_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/604_timestamp_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/604_timestamp_merge.sql",
      "description": "TIMESTAMP column + MERGE. Tests that timestamp values survive MERGE UPDATE and that new timestamp values are correctly inserted via MERGE NOT MATCHED.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/605_timestamp_cdc",
      "num": 605,
      "name": "timestamp_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/605_timestamp_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/605_timestamp_cdc.sql",
      "description": "TIMESTAMP + CDC. Tests that CDF correctly captures pre/post images for rows containing TIMESTAMP values through UPDATE and DELETE.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/606_date_merge",
      "num": 606,
      "name": "date_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/606_date_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/606_date_merge.sql",
      "description": "DATE column + MERGE. Tests that DATE values survive MERGE UPDATE and that new DATE values are correctly inserted via MERGE NOT MATCHED.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:date",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/607_date_partition",
      "num": 607,
      "name": "date_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/607_date_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/607_date_partition.sql",
      "description": "DATE column + partitioning by a STRING month column. Tests DML operations (UPDATE, DELETE) on a partitioned table that also has a DATE-like partition key (event_month as STRING for partition directory naming).",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/608_decimal_merge",
      "num": 608,
      "name": "decimal_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/608_decimal_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/608_decimal_merge.sql",
      "description": "DECIMAL columns + MERGE. Tests that DECIMAL precision is preserved through MERGE UPDATE and that new DECIMAL values are correctly inserted via MERGE NOT MATCHED.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/609_decimal_cdc",
      "num": 609,
      "name": "decimal_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/609_decimal_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/609_decimal_cdc.sql",
      "description": "DECIMAL + CDC. Tests that CDF correctly captures pre/post images for DECIMAL(18,8) columns, including tiny fractional increments that exercise the full precision of the type.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/60_schema_struct_type_nested",
      "num": 60,
      "name": "schema_struct_type_nested",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/60_schema_struct_type_nested.py",
      "read_script": "generator/df-reads-spark-iceberg/60_schema_struct_type_nested.sql",
      "description": "Demonstrates nested struct types with fields. Orders contain nested customer info (name, contact) and shipping address (street, city, country). Struct types model hierarchical data naturally without flattening, maintaining data relationships and enabling efficient nested field...",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "dml:overwrite",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/610_decimal_partition",
      "num": 610,
      "name": "decimal_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/610_decimal_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/610_decimal_partition.sql",
      "description": "DECIMAL columns + partition + DML. Tests DECIMAL precision through UPDATE and DELETE on a partitioned table with a STRING partition key.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/611_no_dv_merge",
      "num": 611,
      "name": "no_dv_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/611_no_dv_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/611_no_dv_merge.sql",
      "description": "No-DV table + MERGE + DELETE. Tests the full-rewrite code path for MERGE and DELETE when deletion vectors are disabled. All DML requires rewriting entire data files rather than using DVs.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/612_no_dv_cdc",
      "num": 612,
      "name": "no_dv_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/612_no_dv_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/612_no_dv_cdc.sql",
      "description": "No-DV + CDC. Tests CDF recording with full-rewrite DML path (no deletion vectors). Both UPDATE and DELETE require full file rewrites, and CDF must still correctly capture pre/post images.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/613_no_dv_partition",
      "num": 613,
      "name": "no_dv_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/613_no_dv_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/613_no_dv_partition.sql",
      "description": "No-DV + partition. Tests full-rewrite DML on a partitioned table with deletion vectors disabled. UPDATE and DELETE must rewrite entire partition files rather than using DVs.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/614_not_null_merge",
      "num": 614,
      "name": "not_null_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/614_not_null_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/614_not_null_merge.sql",
      "description": "NOT NULL columns + MERGE + DELETE. Tests NOT NULL enforcement during MERGE INSERT (all source rows must provide non-null values for constrained columns) and NOT NULL metadata preservation through DML.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/615_not_null_evolve",
      "num": 615,
      "name": "not_null_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/615_not_null_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/615_not_null_evolve.sql",
      "description": "NOT NULL + schema evolution. Tests that NOT NULL constraints survive ALTER TABLE ADD COLUMN, and that the new nullable column works correctly alongside existing NOT NULL columns through INSERT and UPDATE.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/616_not_null_cdc",
      "num": 616,
      "name": "not_null_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/616_not_null_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/616_not_null_cdc.sql",
      "description": "NOT NULL + CDC. Tests that CDF correctly captures pre/post images for tables with NOT NULL constraints through UPDATE and DELETE operations.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/617_insert_overwrite_merge",
      "num": 617,
      "name": "insert_overwrite_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/617_insert_overwrite_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/617_insert_overwrite_merge.sql",
      "description": "INSERT OVERWRITE then MERGE then UPDATE. Tests a full DML chain after an OVERWRITE operation, which replaces all data. Verifies that MERGE and UPDATE work correctly on overwritten data.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "dml:overwrite",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/618_insert_overwrite_cdc",
      "num": 618,
      "name": "insert_overwrite_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/618_insert_overwrite_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/618_insert_overwrite_cdc.sql",
      "description": "INSERT OVERWRITE + CDC. Tests that CDF correctly records an OVERWRITE as delete+insert events, then verifies subsequent UPDATE is also captured in CDF.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/619_rename_cdc",
      "num": 619,
      "name": "rename_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/619_rename_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/619_rename_cdc.sql",
      "description": "RENAME COLUMN + CDC. Tests that CDF correctly captures changes after a column rename operation. Requires column mapping mode=name to support rename. Verifies that UPDATE and DELETE work on the renamed column and CDF images reference the new column name.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "schema:rename-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/61_schema_struct_field_metadata",
      "num": 61,
      "name": "schema_struct_field_metadata",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/61_schema_struct_field_metadata.py",
      "read_script": "generator/df-reads-spark-iceberg/61_schema_struct_field_metadata.sql",
      "description": "Demonstrates struct fields with metadata annotations. Trading records include nested position details with metadata for compliance tracking, data lineage, and schema evolution. Metadata annotations document column purposes, data sources, and transformations for regulatory audits.",
      "status": "pass",
      "duration_ms": 20,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 20,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:struct",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "scale:large-dataset",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/620_drop_column_dml",
      "num": 620,
      "name": "drop_column_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/620_drop_column_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/620_drop_column_dml.sql",
      "description": "DROP COLUMN + subsequent DML. Tests that UPDATE and DELETE work correctly after a column has been dropped. Requires column mapping mode=name. Verifies the dropped column is absent from the final schema and that remaining columns are intact.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "schema:drop-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/621_rename_merge_cdc",
      "num": 621,
      "name": "rename_merge_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/621_rename_merge_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/621_rename_merge_cdc.sql",
      "description": "RENAME COLUMN + MERGE + CDC (Change Data Feed). Tests that MERGE uses the renamed column name correctly under columnMapping.mode=name with CDC enabled.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "schema:rename-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/622_drop_merge",
      "num": 622,
      "name": "drop_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/622_drop_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/622_drop_merge.sql",
      "description": "DROP COLUMN + MERGE. Tests that MERGE operates correctly after a column has been dropped under columnMapping.mode=name.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "schema:drop-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/623_struct_partition",
      "num": 623,
      "name": "struct_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/623_struct_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/623_struct_partition.sql",
      "description": "STRUCT column + partitioned table. Tests that nested struct values survive partition-aware UPDATE and DELETE operations correctly.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:struct",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/624_struct_evolve",
      "num": 624,
      "name": "struct_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/624_struct_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/624_struct_evolve.sql",
      "description": "STRUCT column + schema evolution (ADD COLUMN). Tests that existing struct values are preserved when a new scalar column is added, and that new inserts populate both struct and new column.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "delta:constraints",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/625_timestamp_partition",
      "num": 625,
      "name": "timestamp_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/625_timestamp_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/625_timestamp_partition.sql",
      "description": "TIMESTAMP column + partitioned table (partition by month STRING). Tests that timestamp values survive partition-aware UPDATE and DELETE operations.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/626_decimal_constraint",
      "num": 626,
      "name": "decimal_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/626_decimal_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/626_decimal_constraint.sql",
      "description": "DECIMAL column + CHECK constraint (amount > 0). Tests that constraint enforcement works with DECIMAL precision types through UPDATE and DELETE.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/627_decimal_evolve",
      "num": 627,
      "name": "decimal_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/627_decimal_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/627_decimal_evolve.sql",
      "description": "DECIMAL column + schema evolution (ADD COLUMN of DECIMAL type). Tests that existing DECIMAL data is preserved after adding a new DECIMAL column, and that UPDATE and DELETE work on both old and new DECIMAL columns.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/628_not_null_partition",
      "num": 628,
      "name": "not_null_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/628_not_null_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/628_not_null_partition.sql",
      "description": "NOT NULL constraint + partitioned table. Tests that NOT NULL columns are preserved correctly through partition-aware UPDATE and DELETE operations.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/629_not_null_constraint",
      "num": 629,
      "name": "not_null_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/629_not_null_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/629_not_null_constraint.sql",
      "description": "NOT NULL columns + CHECK constraint on the same table. Tests that both NOT NULL invariants and CHECK constraints coexist through UPDATE and DELETE.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/62_schema_array_type_elements",
      "num": 62,
      "name": "schema_array_type_elements",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/62_schema_array_type_elements.py",
      "read_script": "generator/df-reads-spark-iceberg/62_schema_array_type_elements.sql",
      "description": "Demonstrates array type with element types for storing multi-valued attributes.",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:array",
        "type:date",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/630_insert_overwrite_partition",
      "num": 630,
      "name": "insert_overwrite_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/630_insert_overwrite_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/630_insert_overwrite_partition.sql",
      "description": "INSERT OVERWRITE on a partitioned table followed by UPDATE and DELETE. Tests that OVERWRITE correctly replaces partition data and subsequent DML operates on the overwritten state.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:overwrite",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/631_merge_update_delete_chain",
      "num": 631,
      "name": "merge_update_delete_chain",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/631_merge_update_delete_chain.py",
      "read_script": "generator/df-reads-spark-iceberg/631_merge_update_delete_chain.sql",
      "description": "MERGE then UPDATE then DELETE chain. Different ordering from 524 (MERGE then DELETE) and 551 (DELETE+UPDATE+MERGE). Tests that UPDATE and DELETE operate correctly on data that includes both matched-updated and not-matched-inserted rows from a prior MERGE.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/632_update_merge_update",
      "num": 632,
      "name": "update_merge_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/632_update_merge_update.py",
      "read_script": "generator/df-reads-spark-iceberg/632_update_merge_update.sql",
      "description": "UPDATE then MERGE then UPDATE (DML sandwich). Tests that a MERGE correctly reads data already modified by UPDATE, and that a subsequent UPDATE works on MERGE output (both matched and inserted rows).",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/633_delete_merge_delete",
      "num": 633,
      "name": "delete_merge_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/633_delete_merge_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/633_delete_merge_delete.sql",
      "description": "DELETE then MERGE then DELETE (DML sandwich). Tests that MERGE correctly handles a table with gaps from prior DELETE, and that a second DELETE works on the merged result.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/634_one_row_all_features",
      "num": 634,
      "name": "one_row_all_features",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/634_one_row_all_features.py",
      "read_script": "generator/df-reads-spark-iceberg/634_one_row_all_features.sql",
      "description": "Single row with Deletion Vectors + CDC enabled. Tests all features at minimum scale: INSERT 1, UPDATE, DELETE, INSERT 1 new. Validates that DV and CDC work correctly even with a single row.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/635_two_row_merge",
      "num": 635,
      "name": "two_row_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/635_two_row_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/635_two_row_merge.sql",
      "description": "Two rows + MERGE. Minimum viable MERGE test with the smallest possible table. MERGE from a 3-row CTE: 2 matched updates + 1 new insert.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/636_power_of_two_rows",
      "num": 636,
      "name": "power_of_two_rows",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/636_power_of_two_rows.py",
      "read_script": "generator/df-reads-spark-iceberg/636_power_of_two_rows.sql",
      "description": "Exactly 256 rows (2^8) + DML. Tests alignment boundaries that may affect Parquet row group sizing and deletion vector bitmaps.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "storage:rowgroup-stats",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/637_thousand_row_merge",
      "num": 637,
      "name": "thousand_row_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/637_thousand_row_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/637_thousand_row_merge.sql",
      "description": "1000 rows + 1000-row MERGE with full overlap (all matched, no inserts). Scale test for MERGE correctness when every row matches.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/638_no_dv_evolve_merge",
      "num": 638,
      "name": "no_dv_evolve_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/638_no_dv_evolve_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/638_no_dv_evolve_merge.sql",
      "description": "No Deletion Vectors + schema evolution + MERGE. Tests the full-rewrite code path (no DV) combined with ADD COLUMN and MERGE that populates the new column.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/639_no_dv_constraint",
      "num": 639,
      "name": "no_dv_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/639_no_dv_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/639_no_dv_constraint.sql",
      "description": "No Deletion Vectors + CHECK constraint + DML. Tests the full-rewrite code path (no DV) with constraint enforcement through UPDATE and DELETE.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/63_schema_map_type_key_value",
      "num": 63,
      "name": "schema_map_type_key_value",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/63_schema_map_type_key_value.py",
      "read_script": "generator/df-reads-spark-iceberg/63_schema_map_type_key_value.sql",
      "description": "Demonstrates map type with key-value pairs for storing dynamic configurations.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:map",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/640_rename_drop_merge",
      "num": 640,
      "name": "rename_drop_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/640_rename_drop_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/640_rename_drop_merge.sql",
      "description": "RENAME COLUMN + DROP COLUMN + MERGE in one script. Tests stacked column mutations under columnMapping.mode=name followed by a MERGE that uses the renamed column and omits the dropped column.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "schema:drop-column",
        "schema:rename-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/641_struct_colmap",
      "num": 641,
      "name": "struct_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/641_struct_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/641_struct_colmap.sql",
      "description": "STRUCT column + column mapping (name mode). Verifies that nested struct values work correctly with physical-to-logical column name mapping through UPDATE and DELETE operations.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/642_struct_constraint",
      "num": 642,
      "name": "struct_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/642_struct_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/642_struct_constraint.sql",
      "description": "STRUCT column + CHECK constraint on a non-struct scalar column. Verifies that constraints coexist with nested struct data and are enforced after being added mid-lifecycle.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/643_timestamp_constraint",
      "num": 643,
      "name": "timestamp_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/643_timestamp_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/643_timestamp_constraint.sql",
      "description": "TIMESTAMP column + CHECK constraint on a numeric column. Verifies that constraints work alongside timestamp data and that DML preserves both.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/644_timestamp_evolve",
      "num": 644,
      "name": "timestamp_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/644_timestamp_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/644_timestamp_evolve.sql",
      "description": "TIMESTAMP column + schema evolution (ADD COLUMN). Verifies that adding a new column works correctly when the table already contains timestamp data, and that subsequent DML operates on the evolved schema.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "schema:add-column",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/645_decimal_colmap",
      "num": 645,
      "name": "decimal_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/645_decimal_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/645_decimal_colmap.sql",
      "description": "DECIMAL(15,6) column + column mapping (name mode). Verifies that high- precision decimal values are preserved correctly through column mapping with UPDATE and DELETE operations.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/646_decimal_cdc_merge",
      "num": 646,
      "name": "decimal_cdc_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/646_decimal_cdc_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/646_decimal_cdc_merge.sql",
      "description": "DECIMAL(15,6) + CDC + MERGE. Three-way combination testing that CDF correctly captures pre/post images for decimal columns through MERGE.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/647_no_dv_optimize",
      "num": 647,
      "name": "no_dv_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/647_no_dv_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/647_no_dv_optimize.sql",
      "description": "No deletion vectors + OPTIMIZE. Tests that OPTIMIZE compacts fragmented data files on a table without deletion vectors enabled. Data is inserted in 4 small batches to create file fragmentation, then an UPDATE creates more files, and OPTIMIZE compacts them.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/648_no_dv_evolve_cdc",
      "num": 648,
      "name": "no_dv_evolve_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/648_no_dv_evolve_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/648_no_dv_evolve_cdc.sql",
      "description": "No deletion vectors + schema evolution (ADD COLUMN) + CDC. Three-way combination testing that CDF works correctly across schema changes without deletion vectors.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/649_insert_overwrite_evolve",
      "num": 649,
      "name": "insert_overwrite_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/649_insert_overwrite_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/649_insert_overwrite_evolve.sql",
      "description": "INSERT OVERWRITE + schema evolution (ADD COLUMN). Tests that OVERWRITE replaces all data, then ADD COLUMN extends the schema, and a subsequent INSERT populates the new column.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/64_schema_column_metadata_extended",
      "num": 64,
      "name": "schema_column_metadata_extended",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/64_schema_column_metadata_extended.py",
      "read_script": "generator/df-reads-spark-iceberg/64_schema_column_metadata_extended.sql",
      "description": "Demonstrates extended column metadata for constraints and properties. Column metadata can store: - delta.columnMapping.* (physical/logical name mapping) - delta.identity.* (identity column properties) - delta.invariants (column-level constraints)",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp-ntz",
        "dml:insert",
        "dml:overwrite",
        "delta:column-mapping",
        "delta:default-values",
        "delta:deletion-vectors",
        "delta:generated-columns",
        "delta:identity-columns",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/650_not_null_merge_cdc",
      "num": 650,
      "name": "not_null_merge_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/650_not_null_merge_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/650_not_null_merge_cdc.sql",
      "description": "NOT NULL constraints + MERGE + CDC. Three-way combination testing that NOT NULL enforcement is maintained through MERGE operations while CDF correctly captures change records.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/651_rename_partition",
      "num": 651,
      "name": "rename_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/651_rename_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/651_rename_partition.sql",
      "description": "RENAME COLUMN + partitioned table with column mapping. Verifies that renaming a column works correctly on a partitioned table and that subsequent DML uses the new column name.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:partitioning",
        "schema:rename-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/652_rename_constraint",
      "num": 652,
      "name": "rename_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/652_rename_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/652_rename_constraint.sql",
      "description": "RENAME COLUMN + CHECK constraint with column mapping. Verifies that renaming a column and then adding a constraint on a different column works correctly together.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "delta:constraints",
        "schema:rename-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/653_drop_partition",
      "num": 653,
      "name": "drop_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/653_drop_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/653_drop_partition.sql",
      "description": "DROP COLUMN + partitioned table with column mapping. Verifies that dropping a non-partition column works correctly on a partitioned table and that subsequent DML operates on the reduced schema.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:partitioning",
        "schema:drop-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/654_drop_cdc",
      "num": 654,
      "name": "drop_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/654_drop_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/654_drop_cdc.sql",
      "description": "DROP COLUMN + CDC with column mapping. Verifies that CDF correctly captures changes after a column has been dropped from the schema.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "schema:drop-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/655_multi_rename",
      "num": 655,
      "name": "multi_rename",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/655_multi_rename.py",
      "read_script": "generator/df-reads-spark-iceberg/655_multi_rename.sql",
      "description": "Two sequential RENAME COLUMN operations with column mapping. Verifies that multiple renames work correctly and that subsequent DML uses the final column names.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "schema:rename-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/656_delete_not_in",
      "num": 656,
      "name": "delete_not_in",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/656_delete_not_in.py",
      "read_script": "generator/df-reads-spark-iceberg/656_delete_not_in.sql",
      "description": "DELETE with compound range predicate simulating NOT IN behavior. Tests DELETE WHERE id<20 OR id>80, which removes rows outside the [20,80] range.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/657_update_between",
      "num": 657,
      "name": "update_between",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/657_update_between.py",
      "read_script": "generator/df-reads-spark-iceberg/657_update_between.sql",
      "description": "UPDATE with BETWEEN predicate on different columns. Tests that BETWEEN range predicates work correctly for UPDATE operations on both id and score columns.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/658_merge_multiple_matched",
      "num": 658,
      "name": "merge_multiple_matched",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/658_merge_multiple_matched.py",
      "read_script": "generator/df-reads-spark-iceberg/658_merge_multiple_matched.sql",
      "description": "MERGE with two WHEN MATCHED clauses using different conditions. Tests that conditional MERGE correctly applies different updates based on the matched row's data.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/659_delete_multi_condition",
      "num": 659,
      "name": "delete_multi_condition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/659_delete_multi_condition.py",
      "read_script": "generator/df-reads-spark-iceberg/659_delete_multi_condition.sql",
      "description": "DELETE with complex multi-condition OR predicate on different columns. Tests that DELETE correctly evaluates compound predicates involving both score and category columns.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/65_schema_deeply_nested_complex",
      "num": 65,
      "name": "schema_deeply_nested_complex",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/65_schema_deeply_nested_complex.py",
      "read_script": "generator/df-reads-spark-iceberg/65_schema_deeply_nested_complex.sql",
      "description": "This table is IGNORED in automated tests due to an Arrow 57.x limitation.",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 12,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:array",
        "type:floating",
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "scale:large-dataset",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/660_merge_insert_overwrite",
      "num": 660,
      "name": "merge_insert_overwrite",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/660_merge_insert_overwrite.py",
      "read_script": "generator/df-reads-spark-iceberg/660_merge_insert_overwrite.sql",
      "description": "MERGE then INSERT OVERWRITE. Tests that INSERT OVERWRITE completely replaces all data after a MERGE has been applied.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "dml:overwrite",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/661_struct_optimize",
      "num": 661,
      "name": "struct_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/661_struct_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/661_struct_optimize.sql",
      "description": "STRUCT column + OPTIMIZE. INSERT 200 rows in 4 batches with named_struct, then OPTIMIZE to compact, followed by DELETE and UPDATE. Verifies struct values survive compaction and subsequent DML.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:struct",
        "dml:delete",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/662_struct_dv_cdc",
      "num": 662,
      "name": "struct_dv_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/662_struct_dv_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/662_struct_dv_cdc.sql",
      "description": "STRUCT + Deletion Vectors + CDC. INSERT 100 rows with struct, DELETE using DVs, UPDATE. CDF tracks all changes. Verifies struct values survive DV-based deletes and CDC captures struct mutations correctly.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:struct",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/663_timestamp_merge_cdc",
      "num": 663,
      "name": "timestamp_merge_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/663_timestamp_merge_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/663_timestamp_merge_cdc.sql",
      "description": "TIMESTAMP + MERGE + CDC. INSERT 100 rows with timestamp columns, then MERGE from 120-row source. CDC enabled to track insert/update changes. Verifies timestamp precision is preserved through MERGE operations.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/664_decimal_constraint_partition",
      "num": 664,
      "name": "decimal_constraint_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/664_decimal_constraint_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/664_decimal_constraint_partition.sql",
      "description": "DECIMAL + CHECK constraint + partitioning. INSERT 120 rows across 3 partitions with DECIMAL columns, ADD CONSTRAINT, UPDATE, DELETE. Verifies that DECIMAL precision is preserved with constraints on partitioned data.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/665_no_dv_colmap",
      "num": 665,
      "name": "no_dv_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/665_no_dv_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/665_no_dv_colmap.sql",
      "description": "No Deletion Vectors + column mapping (name mode). enableDeletionVectors=false forces copy-on-write for DELETE/UPDATE. Column mapping=name tracks physical IDs. Verifies correct behavior without DVs under column mapping.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/666_insert_overwrite_cdc_partition",
      "num": 666,
      "name": "insert_overwrite_cdc_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/666_insert_overwrite_cdc_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/666_insert_overwrite_cdc_partition.sql",
      "description": "INSERT OVERWRITE + CDC + partitioning. Partitioned table with CDC enabled. INSERT data, then INSERT OVERWRITE a single partition, then DML. Tests that CDF correctly captures overwrite events and partition-level replacement.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:overwrite",
        "delta:change-data-feed",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/667_not_null_constraint_evolve",
      "num": 667,
      "name": "not_null_constraint_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/667_not_null_constraint_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/667_not_null_constraint_evolve.sql",
      "description": "NOT NULL constraint + CHECK constraint + schema evolution. Three-way combo: NOT NULL on existing column, CHECK constraint, then ADD COLUMN (schema evolution). Verifies constraints survive schema changes and new column defaults to NULL for existing rows.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/668_rename_cdc_merge",
      "num": 668,
      "name": "rename_cdc_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/668_rename_cdc_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/668_rename_cdc_merge.sql",
      "description": "RENAME COLUMN + CDC + MERGE. Column mapping=name with CDC enabled. INSERT 100 rows, RENAME a column, then MERGE 120 rows using the new column name. Verifies MERGE resolves renamed columns correctly and CDF captures changes.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "schema:rename-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/669_drop_optimize",
      "num": 669,
      "name": "drop_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/669_drop_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/669_drop_optimize.sql",
      "description": "DROP COLUMN + OPTIMIZE. Column mapping=name required for DROP. INSERT 200 rows in 4 batches, DROP a column, OPTIMIZE to compact, then DML. Verifies that OPTIMIZE correctly handles schema after column drop.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:optimize",
        "schema:drop-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/66_statistics_per_file_minmax",
      "num": 66,
      "name": "statistics_per_file_minmax",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/66_statistics_per_file_minmax.py",
      "read_script": "generator/df-reads-spark-iceberg/66_statistics_per_file_minmax.sql",
      "description": "Demonstrates per-file statistics with min/max/null counts. Statistics are stored in the add action's stats field as JSON.",
      "status": "pass",
      "duration_ms": 51,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 51,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:constraints",
        "scale:large-dataset",
        "storage:statistics",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/670_wide_mixed_types",
      "num": 670,
      "name": "wide_mixed_types",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/670_wide_mixed_types.py",
      "read_script": "generator/df-reads-spark-iceberg/670_wide_mixed_types.sql",
      "description": "20 columns of mixed types + DML. Tests wide schema with diverse data types including STRING, INT, DOUBLE, BOOLEAN, DECIMAL, TIMESTAMP, DATE, BIGINT, FLOAT, SHORT. Verifies all types survive UPDATE and DELETE correctly.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/671_thirty_batch_insert",
      "num": 671,
      "name": "thirty_batch_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/671_thirty_batch_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/671_thirty_batch_insert.sql",
      "description": "30 INSERT batches of 10 rows each (300 total) + DML. Tests extreme file fragmentation from many small commits. DELETE and UPDATE operate on the fragmented file set.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/672_merge_then_optimize",
      "num": 672,
      "name": "merge_then_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/672_merge_then_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/672_merge_then_optimize.sql",
      "description": "MERGE then OPTIMIZE then DML. Tests that DML operations work correctly on data that has been through both MERGE and OPTIMIZE compaction.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/673_struct_partition_cdc",
      "num": 673,
      "name": "struct_partition_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/673_struct_partition_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/673_struct_partition_cdc.sql",
      "description": "STRUCT + partition + CDC. Three-way combination. INSERT 90 rows with struct across 3 region partitions, CDC enabled. DELETE and UPDATE test that struct values survive partitioned DML with change tracking.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:struct",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/674_timestamp_colmap",
      "num": 674,
      "name": "timestamp_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/674_timestamp_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/674_timestamp_colmap.sql",
      "description": "TIMESTAMP + column mapping (name mode). Tests that timestamp precision is preserved under column mapping, where physical column IDs differ from logical names. UPDATE and DELETE verify timestamp values survive.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/675_decimal_optimize",
      "num": 675,
      "name": "decimal_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/675_decimal_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/675_decimal_optimize.sql",
      "description": "DECIMAL + OPTIMIZE. INSERT 200 rows in 4 batches with DECIMAL columns, OPTIMIZE to compact, then UPDATE and DELETE. Verifies DECIMAL precision survives OPTIMIZE compaction and subsequent DML.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/676_not_null_partition_merge",
      "num": 676,
      "name": "not_null_partition_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/676_not_null_partition_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/676_not_null_partition_merge.sql",
      "description": "NOT NULL + partition + MERGE. Three-way combination. Partitioned table with NOT NULL constraints, then MERGE. Verifies NOT NULL enforcement through MERGE inserts on partitioned data.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/677_rename_partition_merge",
      "num": 677,
      "name": "rename_partition_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/677_rename_partition_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/677_rename_partition_merge.sql",
      "description": "RENAME COLUMN + partition + MERGE. Column mapping=name with partitioning. INSERT 120 rows across 3 regions, RENAME a non-partition column, then MERGE 150 rows using the new name. Verifies MERGE handles renamed columns on partitioned tables.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "delta:partitioning",
        "schema:rename-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/678_drop_cdc_merge",
      "num": 678,
      "name": "drop_cdc_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/678_drop_cdc_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/678_drop_cdc_merge.sql",
      "description": "DROP COLUMN + CDC + MERGE. Column mapping=name with CDC enabled. INSERT 100 rows, DROP a column, then MERGE 120 rows on the reduced schema. Verifies MERGE works correctly after column drop with CDF tracking.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "schema:drop-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/679_insert_overwrite_constraint",
      "num": 679,
      "name": "insert_overwrite_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/679_insert_overwrite_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/679_insert_overwrite_constraint.sql",
      "description": "INSERT OVERWRITE + CHECK constraint. INSERT initial rows, ADD CONSTRAINT requiring val>0, then INSERT OVERWRITE with all-valid data. Verifies that the constraint is enforced during overwrite and the table is fully replaced.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:overwrite",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/67_partition_value_serialization_types",
      "num": 67,
      "name": "partition_value_serialization_types",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/67_partition_value_serialization_types.py",
      "read_script": "generator/df-reads-spark-iceberg/67_partition_value_serialization_types.sql",
      "description": "Demonstrates partition value serialization for different data types. Partition values are serialized to strings in the add action. Rules: - null: empty string - boolean: \"true\"/\"false\" - numeric: string representation - date: \"yyyy-MM-dd\" - timestamp: \"yyyy-MM-dd HH:mm:ss.SSS",
      "status": "pass",
      "duration_ms": 32,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 32,
      "read_warm_ms": 10,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:partitioning",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/680_no_dv_partition_merge",
      "num": 680,
      "name": "no_dv_partition_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/680_no_dv_partition_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/680_no_dv_partition_merge.sql",
      "description": "No Deletion Vectors + partition + MERGE. enableDeletionVectors=false forces copy-on-write for all DML. Partitioned table with MERGE. Verifies that MERGE correctly rewrites partition files without DVs.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/681_struct_rename",
      "num": 681,
      "name": "struct_rename",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/681_struct_rename.py",
      "read_script": "generator/df-reads-spark-iceberg/681_struct_rename.sql",
      "description": "STRUCT column + RENAME non-struct column with column mapping. Verifies that struct values survive a column rename on a sibling column and that subsequent DML works correctly with the new column name.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:struct",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "schema:rename-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/682_struct_drop",
      "num": 682,
      "name": "struct_drop",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/682_struct_drop.py",
      "read_script": "generator/df-reads-spark-iceberg/682_struct_drop.sql",
      "description": "STRUCT column + DROP non-struct column with column mapping. Verifies that struct values survive a column drop on a sibling column and that subsequent DML works correctly on the reduced schema.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:struct",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "schema:drop-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/683_timestamp_optimize",
      "num": 683,
      "name": "timestamp_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/683_timestamp_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/683_timestamp_optimize.sql",
      "description": "TIMESTAMP column + OPTIMIZE. INSERT 200 rows in 4 batches with timestamp values, OPTIMIZE to compact, then DML. Verifies timestamp precision is preserved through compaction and subsequent operations.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/684_decimal_rename",
      "num": 684,
      "name": "decimal_rename",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/684_decimal_rename.py",
      "read_script": "generator/df-reads-spark-iceberg/684_decimal_rename.sql",
      "description": "DECIMAL column + RENAME with column mapping. Verifies that DECIMAL precision is preserved after renaming a DECIMAL column and that subsequent reads use the new column name correctly.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "schema:rename-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/685_not_null_optimize",
      "num": 685,
      "name": "not_null_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/685_not_null_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/685_not_null_optimize.sql",
      "description": "NOT NULL constraints + OPTIMIZE. INSERT 200 rows in 4 batches with NOT NULL columns, OPTIMIZE to compact, then DELETE. Verifies NOT NULL metadata survives compaction and that deleted rows are correctly removed.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/686_insert_overwrite_optimize",
      "num": 686,
      "name": "insert_overwrite_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/686_insert_overwrite_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/686_insert_overwrite_optimize.sql",
      "description": "INSERT OVERWRITE + OPTIMIZE. Partitioned table with INSERT OVERWRITE followed by OPTIMIZE compaction, then UPDATE and DELETE. Verifies that OPTIMIZE correctly compacts files after an overwrite and DML works post-compact.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:overwrite",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/687_rename_evolve",
      "num": 687,
      "name": "rename_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/687_rename_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/687_rename_evolve.sql",
      "description": "RENAME COLUMN + ADD COLUMN (schema evolution) with column mapping. Verifies that a rename followed by schema evolution works correctly and that the new column defaults to NULL for existing rows.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "schema:add-column",
        "schema:rename-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/688_drop_evolve",
      "num": 688,
      "name": "drop_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/688_drop_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/688_drop_evolve.sql",
      "description": "DROP COLUMN + ADD COLUMN (schema evolution) with column mapping. Verifies that dropping a column followed by adding a new column works correctly. The new column defaults to NULL for existing rows.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "schema:add-column",
        "schema:drop-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/689_struct_decimal_mix",
      "num": 689,
      "name": "struct_decimal_mix",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/689_struct_decimal_mix.py",
      "read_script": "generator/df-reads-spark-iceberg/689_struct_decimal_mix.sql",
      "description": "STRUCT + DECIMAL in same table. Verifies that both complex nested types (struct) and high-precision numeric types (decimal) coexist correctly through INSERT, UPDATE, and DELETE operations.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:struct",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/68_feature_names_registry_validation",
      "num": 68,
      "name": "feature_names_registry_validation",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/68_feature_names_registry_validation.py",
      "read_script": "generator/df-reads-spark-iceberg/68_feature_names_registry_validation.sql",
      "description": "Demonstrates valid feature names in table features registry. generatedColumns, allowColumnDefaults, changeDataFeed, columnMapping, identityColumns, deletionVectors, timestampNtz, v2Checkpoint, etc.",
      "status": "pass",
      "duration_ms": 23,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 23,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp-ntz",
        "dml:insert",
        "dml:overwrite",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/690_timestamp_decimal_mix",
      "num": 690,
      "name": "timestamp_decimal_mix",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/690_timestamp_decimal_mix.py",
      "read_script": "generator/df-reads-spark-iceberg/690_timestamp_decimal_mix.sql",
      "description": "TIMESTAMP + DECIMAL in same table. Verifies that timestamp precision and decimal precision coexist correctly through INSERT, UPDATE, and DELETE.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/691_five_col_partition",
      "num": 691,
      "name": "five_col_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/691_five_col_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/691_five_col_partition.sql",
      "description": "Multi-column partition with 3 partition columns (region, year, quarter). Tests extreme partition fanout with DML across many partition combinations. Verifies correct file placement and data isolation per partition.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/692_merge_chain_three",
      "num": 692,
      "name": "merge_chain_three",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/692_merge_chain_three.py",
      "read_script": "generator/df-reads-spark-iceberg/692_merge_chain_three.sql",
      "description": "Three sequential MERGE operations. Tests MERGE-MERGE-MERGE chain where each MERGE updates existing rows and inserts new ones. Verifies that multiple MERGE commits stack correctly in the transaction log.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/693_optimize_chain",
      "num": 693,
      "name": "optimize_chain",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/693_optimize_chain.py",
      "read_script": "generator/df-reads-spark-iceberg/693_optimize_chain.sql",
      "description": "Three sequential OPTIMIZEs with DML between each. Tests repeated compaction to verify that OPTIMIZE is idempotent and that interleaved DML between compactions produces correct results.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/694_cdc_no_dv_merge",
      "num": 694,
      "name": "cdc_no_dv_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/694_cdc_no_dv_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/694_cdc_no_dv_merge.sql",
      "description": "CDC + no Deletion Vectors + MERGE. Tests Change Data Feed capture through a MERGE operation when deletion vectors are disabled (copy-on-write mode). Verifies CDF events are correctly generated under copy-on-write semantics.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/695_struct_cdc_partition",
      "num": 695,
      "name": "struct_cdc_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/695_struct_cdc_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/695_struct_cdc_partition.sql",
      "description": "STRUCT + CDC + partition. Three-way combination: struct column with Change Data Feed enabled on a partitioned table. Verifies CDF correctly captures struct values in change events across partitions.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:struct",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/696_decimal_not_null",
      "num": 696,
      "name": "decimal_not_null",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/696_decimal_not_null.py",
      "read_script": "generator/df-reads-spark-iceberg/696_decimal_not_null.sql",
      "description": "DECIMAL + NOT NULL constraints. Verifies that DECIMAL columns with NOT NULL constraints work correctly through INSERT, UPDATE, and DELETE operations.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/697_timestamp_not_null",
      "num": 697,
      "name": "timestamp_not_null",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/697_timestamp_not_null.py",
      "read_script": "generator/df-reads-spark-iceberg/697_timestamp_not_null.sql",
      "description": "TIMESTAMP + NOT NULL constraints. Verifies that TIMESTAMP columns with NOT NULL constraints work correctly through INSERT, UPDATE, and DELETE operations.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/698_colmap_no_dv_evolve",
      "num": 698,
      "name": "colmap_no_dv_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/698_colmap_no_dv_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/698_colmap_no_dv_evolve.sql",
      "description": "Column mapping + no Deletion Vectors + schema evolution. Three-way combo: column mapping name mode with DVs disabled (copy-on-write) and ADD COLUMN. Verifies schema evolution works under copy-on-write with column mapping.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/699_partition_merge_delete_update",
      "num": 699,
      "name": "partition_merge_delete_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/699_partition_merge_delete_update.py",
      "read_script": "generator/df-reads-spark-iceberg/699_partition_merge_delete_update.sql",
      "description": "Partition + MERGE + DELETE + UPDATE. All three DML types plus MERGE on a partitioned table. Verifies that all four operation types produce correct results when interleaved on a partitioned table.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/69_checkpoint_schema_full_spec",
      "num": 69,
      "name": "checkpoint_schema_full_spec",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/69_checkpoint_schema_full_spec.py",
      "read_script": "generator/df-reads-spark-iceberg/69_checkpoint_schema_full_spec.sql",
      "description": "Demonstrates full checkpoint schema specification with all action types.",
      "status": "pass",
      "duration_ms": 40,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 40,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:array",
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:constraints",
        "delta:partitioning",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/700_grand_finale",
      "num": 700,
      "name": "grand_finale",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/700_grand_finale.py",
      "read_script": "generator/df-reads-spark-iceberg/700_grand_finale.sql",
      "description": "Test 700: the ultimate combination test. Combines all features that can coexist: Deletion Vectors + CDC + column mapping + partitioning + CHECK constraint + schema evolution (ADD COLUMN) + OPTIMIZE + MERGE + DELETE + UPDATE + RENAME COLUMN. Verifies that all features work...",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "schema:add-column",
        "schema:rename-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/701_update_partition_key",
      "num": 701,
      "name": "update_partition_key",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/701_update_partition_key.py",
      "read_script": "generator/df-reads-spark-iceberg/701_update_partition_key.sql",
      "description": "UPDATE that changes the partition column value, moving rows between partitions. This is a common production pattern where status changes cause rows to migrate between partitions (e.g., order status transitions). Engines must correctly handle cross-partition row movement in a...",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/702_merge_composite_key",
      "num": 702,
      "name": "merge_composite_key",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/702_merge_composite_key.py",
      "read_script": "generator/df-reads-spark-iceberg/702_merge_composite_key.sql",
      "description": "MERGE on a composite key (two columns). Production pattern where natural keys like (region, product_id) are used instead of a single surrogate key. The engine must correctly match on multiple join conditions in the MERGE ON clause.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/703_merge_scd_type2",
      "num": 703,
      "name": "merge_scd_type2",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/703_merge_scd_type2.py",
      "read_script": "generator/df-reads-spark-iceberg/703_merge_scd_type2.sql",
      "description": "SCD Type 2 (Slowly Changing Dimension) pattern: close old records by setting is_current=false and effective_to to a cutoff date, then insert new versions of those records. This is a classic production pattern in data warehousing for maintaining history of dimension changes.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/704_upsert_heavy",
      "num": 704,
      "name": "upsert_heavy",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/704_upsert_heavy.py",
      "read_script": "generator/df-reads-spark-iceberg/704_upsert_heavy.sql",
      "description": "Upsert-heavy pattern: 5 sequential MERGEs simulating incremental ETL loads. Each batch overlaps partially with existing data. This stresses the engine's ability to handle many small MERGE transactions with varying overlap ratios, a common pattern in production incremental...",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/705_append_compact_cycle",
      "num": 705,
      "name": "append_compact_cycle",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/705_append_compact_cycle.py",
      "read_script": "generator/df-reads-spark-iceberg/705_append_compact_cycle.sql",
      "description": "Append-then-compact cycle: many small INSERTs (simulating streaming micro-batches) followed by OPTIMIZE. This is the standard production pattern for streaming ingestion where micro-batches create many small files that must be compacted. Tests that OPTIMIZE correctly rewrites...",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/706_late_arriving_data",
      "num": 706,
      "name": "late_arriving_data",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/706_late_arriving_data.py",
      "read_script": "generator/df-reads-spark-iceberg/706_late_arriving_data.sql",
      "description": "Late-arriving data: INSERTs into older partitions after newer data already exists. This is a common production pattern for delayed event processing, where events arrive out of order due to network delays, batch reprocessing, or timezone issues. Tests that the engine correctly...",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/707_bulk_delete_reinsert",
      "num": 707,
      "name": "bulk_delete_reinsert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/707_bulk_delete_reinsert.py",
      "read_script": "generator/df-reads-spark-iceberg/707_bulk_delete_reinsert.sql",
      "description": "Bulk delete + re-insert: production data correction pattern. A batch of rows is discovered to be incorrect, deleted by range, and replaced with corrected data. This tests the engine's handling of large contiguous deletes followed by inserts that reuse the same id space.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/708_skewed_partition",
      "num": 708,
      "name": "skewed_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/708_skewed_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/708_skewed_partition.sql",
      "description": "Heavily skewed partition distribution: 95% of data in one partition, 5% in others. Tests partition pruning efficiency and DML operations on unbalanced data. Production pattern: most events are \"default\" category with rare exceptions. Engine must handle tiny-partition UPDATE and...",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:default-values",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/709_sparse_columns",
      "num": 709,
      "name": "sparse_columns",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/709_sparse_columns.py",
      "read_script": "generator/df-reads-spark-iceberg/709_sparse_columns.sql",
      "description": "Sparse table where most columns are NULL for most rows. Production pattern for wide event tables where different event types populate different columns. Tests Parquet encoding efficiency, NULL statistics, and DML operations that filter on NULL/non-NULL combinations.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:null-handling",
        "type:string",
        "dml:delete",
        "dml:insert",
        "storage:parquet-encoding",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/70_last_checkpoint_schema_checksum",
      "num": 70,
      "name": "last_checkpoint_schema_checksum",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/70_last_checkpoint_schema_checksum.py",
      "read_script": "generator/df-reads-spark-iceberg/70_last_checkpoint_schema_checksum.sql",
      "description": "Demonstrates last checkpoint file schema with checksum validation.",
      "status": "pass",
      "duration_ms": 28,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 28,
      "read_warm_ms": 11,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:constraints",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/710_all_null_columns_dml",
      "num": 710,
      "name": "all_null_columns_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/710_all_null_columns_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/710_all_null_columns_dml.sql",
      "description": "Table where some columns start as ALL NULL (no non-null values in any row), then DML populates them. Production pattern: pre-allocated schema where columns are added in advance but only populated later. Tests Parquet column statistics when min/max are both null, and correct...",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:null-handling",
        "type:string",
        "dml:insert",
        "storage:statistics",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/711_single_column_table",
      "num": 711,
      "name": "single_column_table",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/711_single_column_table.py",
      "read_script": "generator/df-reads-spark-iceberg/711_single_column_table.sql",
      "description": "Minimal table with only a single column (id). Tests that the engine handles the minimum possible schema correctly for INSERT, DELETE, and Parquet file generation. Edge case: no non-key columns to update, statistics cover only one column.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/712_all_same_values",
      "num": 712,
      "name": "all_same_values",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/712_all_same_values.py",
      "read_script": "generator/df-reads-spark-iceberg/712_all_same_values.sql",
      "description": "Every row has identical values (except id). This creates a statistics edge case where min=max for all non-id columns. Tests that the engine correctly writes and reads Parquet statistics when there is zero variance, and that DML operations work when predicate evaluation sees...",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/713_negative_values",
      "num": 713,
      "name": "negative_values",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/713_negative_values.py",
      "read_script": "generator/df-reads-spark-iceberg/713_negative_values.sql",
      "description": "All numeric values are negative. Tests sign handling through DML operations, Parquet min/max statistics with negative ranges, and predicate evaluation with negative comparisons. Production pattern: financial systems with debit/loss columns, temperature readings below zero.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/714_zero_values",
      "num": 714,
      "name": "zero_values",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/714_zero_values.py",
      "read_script": "generator/df-reads-spark-iceberg/714_zero_values.sql",
      "description": "All numeric values start as zero, then DML changes some. Tests zero-value handling, Parquet statistics where min=max=0 initially, and correct transition from all-zero to mixed values. Edge case for engines that may confuse zero with NULL or skip zero-value encoding.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/715_update_same_value",
      "num": 715,
      "name": "update_same_value",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/715_update_same_value.py",
      "read_script": "generator/df-reads-spark-iceberg/715_update_same_value.sql",
      "description": "UPDATE SET col=col (no actual change to the value). Tests that the engine handles no-op value assignment correctly. The UPDATE must still create a new transaction version even though the data is unchanged. Production pattern: conditional updates where the SET clause does not...",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/716_merge_all_delete",
      "num": 716,
      "name": "merge_all_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/716_merge_all_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/716_merge_all_delete.sql",
      "description": "MERGE where every matched row hits the DELETE clause (no UPDATE, no NOT MATCHED INSERT in the MERGE itself). Tests the engine's handling of MERGE-as-delete, which is a production pattern for deduplication or purge operations driven by a \"delete list\" table.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/717_merge_source_duplicates",
      "num": 717,
      "name": "merge_source_duplicates",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/717_merge_source_duplicates.py",
      "read_script": "generator/df-reads-spark-iceberg/717_merge_source_duplicates.sql",
      "description": "MERGE where the source CTE deduplicates via GROUP BY before merging. Production pattern: source data has duplicate keys (e.g., multiple events for the same entity) and must be deduplicated before upsert. This is the safe production pattern vs. letting the engine encounter...",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/718_incremental_schema_migration",
      "num": 718,
      "name": "incremental_schema_migration",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/718_incremental_schema_migration.py",
      "read_script": "generator/df-reads-spark-iceberg/718_incremental_schema_migration.sql",
      "description": "Incremental schema migration: 4 schema versions over time. Production pattern for data pipeline evolution where new columns are added across releases. Each INSERT uses the schema available at that point. Earlier rows have NULL for later-added columns. Tests that the engine...",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/719_delete_to_empty_then_evolve",
      "num": 719,
      "name": "delete_to_empty_then_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/719_delete_to_empty_then_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/719_delete_to_empty_then_evolve.sql",
      "description": "DELETE all rows (table becomes empty), then schema evolution (ADD COLUMN), then INSERT with the new schema. Tests that the engine correctly handles an empty table state, schema changes on empty tables, and subsequent inserts after the empty+evolve sequence. Production pattern...",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/71_parquet_type_mappings_complete",
      "num": 71,
      "name": "parquet_type_mappings_complete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/71_parquet_type_mappings_complete.py",
      "read_script": "generator/df-reads-spark-iceberg/71_parquet_type_mappings_complete.sql",
      "description": "Complete Delta to Parquet type mappings.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:array",
        "type:binary",
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:map",
        "type:string",
        "type:struct",
        "type:timestamp",
        "type:timestamp-ntz",
        "dml:insert",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/720_concurrent_style_dml",
      "num": 720,
      "name": "concurrent_style_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/720_concurrent_style_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/720_concurrent_style_dml.sql",
      "description": "Simulates a concurrent-writer pattern: alternating INSERT and UPDATE on overlapping ranges. Common in multi-writer production setups where one writer appends new data while another updates existing data. Tests that the engine correctly handles interleaved DML that touches...",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "robust:concurrent-writes",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/721_long_string_values",
      "num": 721,
      "name": "long_string_values",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/721_long_string_values.py",
      "read_script": "generator/df-reads-spark-iceberg/721_long_string_values.sql",
      "description": "Very long string values (~200+ chars per row). Tests Parquet page handling, dictionary encoding thresholds, and string column statistics when values exceed typical inline sizes.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "storage:parquet-encoding",
        "storage:statistics",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/722_empty_string_partition_dml",
      "num": 722,
      "name": "empty_string_partition_dml",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/722_empty_string_partition_dml.py",
      "read_script": "generator/df-reads-spark-iceberg/722_empty_string_partition_dml.sql",
      "description": "Empty string '' as a partition value combined with DML operations. Tests that the engine correctly handles empty-string partition values through UPDATE and DELETE, including predicates that target the '' partition specifically. Different from test 425 which tests empty strings...",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "iceberg:partition-spec",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/723_null_in_all_predicates",
      "num": 723,
      "name": "null_in_all_predicates",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/723_null_in_all_predicates.py",
      "read_script": "generator/df-reads-spark-iceberg/723_null_in_all_predicates.sql",
      "description": "DML operations using IS NULL and IS NOT NULL in every predicate. Tests null-aware predicate evaluation chains where the engine must correctly handle three-valued logic across DELETE and UPDATE operations on columns with mixed NULL/non-NULL values.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/724_update_to_null",
      "num": 724,
      "name": "update_to_null",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/724_update_to_null.py",
      "read_script": "generator/df-reads-spark-iceberg/724_update_to_null.sql",
      "description": "UPDATE that introduces NULLs into previously non-NULL columns. Tests that the engine correctly writes NULL values through UPDATE when the original data had no NULLs. This is a common production pattern when \"clearing\" fields or soft-resetting data.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/725_delete_leaves_one_row",
      "num": 725,
      "name": "delete_leaves_one_row",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/725_delete_leaves_one_row.py",
      "read_script": "generator/df-reads-spark-iceberg/725_delete_leaves_one_row.sql",
      "description": "DELETE that leaves exactly 1 row in the table. Tests statistics and metadata at minimum cardinality (single-row table after bulk delete). The engine must correctly produce min/max stats, row counts, and deletion vectors when nearly all rows are removed.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/726_delete_leaves_zero_rows",
      "num": 726,
      "name": "delete_leaves_zero_rows",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/726_delete_leaves_zero_rows.py",
      "read_script": "generator/df-reads-spark-iceberg/726_delete_leaves_zero_rows.sql",
      "description": "DELETE all rows without reinserting, leaving a completely empty table. Tests empty table state: zero-row Parquet files, statistics on empty data, and correct handling of a table that has data files but all rows are logically deleted via deletion vectors.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/727_merge_doubles_table",
      "num": 727,
      "name": "merge_doubles_table",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/727_merge_doubles_table.py",
      "read_script": "generator/df-reads-spark-iceberg/727_merge_doubles_table.sql",
      "description": "MERGE that doubles table size because all source rows are NOT MATCHED. Tests the pure-insert path of MERGE when no rows in the source match the target. The engine must correctly handle a MERGE where the MATCHED clause is never triggered and all rows flow through NOT MATCHED...",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/728_merge_halves_table",
      "num": 728,
      "name": "merge_halves_table",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/728_merge_halves_table.py",
      "read_script": "generator/df-reads-spark-iceberg/728_merge_halves_table.sql",
      "description": "MERGE with a DELETE clause that halves the table. Tests the WHEN MATCHED AND <condition> THEN DELETE path where half the matched rows are deleted and the other half are updated. The engine must handle conditional branching within MATCHED clauses correctly.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/729_update_swap_columns",
      "num": 729,
      "name": "update_swap_columns",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/729_update_swap_columns.py",
      "read_script": "generator/df-reads-spark-iceberg/729_update_swap_columns.sql",
      "description": "UPDATE SET a=b, b=a (column swap). Tests that the engine evaluates SET expressions from the pre-update row snapshot per SQL standard. If the engine incorrectly evaluates SET sequentially (a=b first, then b=a uses the new a), both columns would end up with the same value. Correct...",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/72_schema_serialization_complete_example",
      "num": 72,
      "name": "schema_serialization_complete_example",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/72_schema_serialization_complete_example.py",
      "read_script": "generator/df-reads-spark-iceberg/72_schema_serialization_complete_example.sql",
      "description": "Demonstrates complete schema serialization example from the Delta protocol specification. This creates the exact example schema from protocol.md: |-- a: integer (nullable = true) |-- b: struct (nullable = true) | |-- d: integer (nullable = true)",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:array",
        "type:integer",
        "type:map",
        "type:string",
        "type:struct",
        "dml:insert",
        "dml:overwrite",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/730_timestamp_epoch_boundary",
      "num": 730,
      "name": "timestamp_epoch_boundary",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/730_timestamp_epoch_boundary.py",
      "read_script": "generator/df-reads-spark-iceberg/730_timestamp_epoch_boundary.sql",
      "description": "Timestamps at epoch (1970-01-01), near the 2038 boundary, and in the far future. Tests timestamp boundary handling in Parquet encoding, Delta statistics, and predicate evaluation. These are production edge cases that surface in ETL pipelines processing historical or far-future...",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boundary",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "storage:parquet-encoding",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/731_decimal_max_precision",
      "num": 731,
      "name": "decimal_max_precision",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/731_decimal_max_precision.py",
      "read_script": "generator/df-reads-spark-iceberg/731_decimal_max_precision.sql",
      "description": "DECIMAL(38,0) and DECIMAL(38,18) at maximum precision limits. Tests that the engine handles the largest Decimal128 values without precision loss through INSERT, UPDATE, and DELETE. These edge cases surface in financial and scientific data pipelines.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:boundary",
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:delete",
        "dml:insert",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/732_partition_many_values",
      "num": 732,
      "name": "partition_many_values",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/732_partition_many_values.py",
      "read_script": "generator/df-reads-spark-iceberg/732_partition_many_values.sql",
      "description": "50 distinct partition values (high-cardinality partitioning). Tests that the engine handles many partitions correctly: directory layout, per-partition statistics, and targeted DELETE across specific partition subsets. This is a common production pattern with date or bucket...",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/733_many_small_deletes",
      "num": 733,
      "name": "many_small_deletes",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/733_many_small_deletes.py",
      "read_script": "generator/df-reads-spark-iceberg/733_many_small_deletes.sql",
      "description": "20 sequential small DELETEs (1 row each). Tests deletion vector accumulation from many individual operations. Each DELETE creates a new DV entry, and the engine must correctly compose them. This pattern occurs in production when individual record deletions (e.g., GDPR...",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/734_many_small_updates",
      "num": 734,
      "name": "many_small_updates",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/734_many_small_updates.py",
      "read_script": "generator/df-reads-spark-iceberg/734_many_small_updates.sql",
      "description": "20 sequential small UPDATEs (1 row each). Tests deletion vector stacking from individual UPDATE operations, where each UPDATE rewrites one row (delete old + add new). The engine must correctly stack 20 DV entries from update-style rewrites.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/735_merge_then_merge_then_delete",
      "num": 735,
      "name": "merge_then_merge_then_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/735_merge_then_merge_then_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/735_merge_then_merge_then_delete.sql",
      "description": "Production ETL pattern: initial load, two reconciliation MERGEs, then a cleanup DELETE. Tests multi-step DML pipelines where MERGE operations stack on top of each other and a final DELETE prunes obsolete records. This is the standard load-reconcile-cleanup cycle.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/736_backfill_pattern",
      "num": 736,
      "name": "backfill_pattern",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/736_backfill_pattern.py",
      "read_script": "generator/df-reads-spark-iceberg/736_backfill_pattern.sql",
      "description": "Production backfill: old data inserted after newer data already exists, then reconciled via MERGE. Tests that the engine handles out-of-order inserts followed by a normalizing MERGE. This pattern occurs when historical data is backfilled into a table that already has current...",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/737_dedup_after_insert",
      "num": 737,
      "name": "dedup_after_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/737_dedup_after_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/737_dedup_after_insert.sql",
      "description": "Production dedup: INSERT creates duplicates, then DELETE removes the older generation. Tests deduplication via generational markers, a common ETL pattern where duplicate records are cleaned up after a reload or retry.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/738_partition_rebalance",
      "num": 738,
      "name": "partition_rebalance",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/738_partition_rebalance.py",
      "read_script": "generator/df-reads-spark-iceberg/738_partition_rebalance.sql",
      "description": "Move data between partitions to rebalance. Production pattern where UPDATE changes partition column values, causing rows to migrate across partitions. Tests cross-partition row movement through multiple UPDATE operations that redistribute data.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/739_cdc_production_etl",
      "num": 739,
      "name": "cdc_production_etl",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/739_cdc_production_etl.py",
      "read_script": "generator/df-reads-spark-iceberg/739_cdc_production_etl.sql",
      "description": "CDC-enabled table through a realistic ETL cycle: load, transform, correct, add late-arriving data, and optimize. Tests that Change Data Capture metadata (_change_type, _commit_version, _commit_timestamp) is correctly maintained through multiple DML operations on a CDF- enabled...",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/73_schema_serialization_complete_example_v2",
      "num": 73,
      "name": "schema_serialization_complete_example_v2",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/73_schema_serialization_complete_example_v2.py",
      "read_script": "generator/df-reads-spark-iceberg/73_schema_serialization_complete_example_v2.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:array",
        "type:integer",
        "type:map",
        "type:string",
        "type:struct",
        "dml:insert",
        "dml:overwrite",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/740_evolve_production_migration",
      "num": 740,
      "name": "evolve_production_migration",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/740_evolve_production_migration.py",
      "read_script": "generator/df-reads-spark-iceberg/740_evolve_production_migration.sql",
      "description": "Schema migration pattern: add columns, backfill them, then continue normal DML. Tests schema evolution through ALTER TABLE ADD COLUMN followed by UPDATE to backfill existing rows. This is the standard production migration where new columns are added and populated retroactively.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/741_merge_not_matched_by_source_delete",
      "num": 741,
      "name": "merge_not_matched_by_source_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/741_merge_not_matched_by_source_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/741_merge_not_matched_by_source_delete.sql",
      "description": "MERGE with WHEN NOT MATCHED BY SOURCE THEN DELETE. Verifies that target rows with no matching source row are deleted by the NOT MATCHED BY SOURCE clause, while matched rows are updated normally.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/742_merge_not_matched_by_source_update",
      "num": 742,
      "name": "merge_not_matched_by_source_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/742_merge_not_matched_by_source_update.py",
      "read_script": "generator/df-reads-spark-iceberg/742_merge_not_matched_by_source_update.sql",
      "description": "MERGE with WHEN NOT MATCHED BY SOURCE THEN UPDATE. Marks unmatched target rows as 'orphaned' instead of deleting them.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/743_merge_all_four_clauses",
      "num": 743,
      "name": "merge_all_four_clauses",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/743_merge_all_four_clauses.py",
      "read_script": "generator/df-reads-spark-iceberg/743_merge_all_four_clauses.sql",
      "description": "MERGE with all four clause types: MATCHED UPDATE, MATCHED DELETE, NOT MATCHED INSERT, and NOT MATCHED BY SOURCE DELETE. This exercises the full MERGE capability in a single statement.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/744_merge_not_matched_by_source_conditional",
      "num": 744,
      "name": "merge_not_matched_by_source_conditional",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/744_merge_not_matched_by_source_conditional.py",
      "read_script": "generator/df-reads-spark-iceberg/744_merge_not_matched_by_source_conditional.sql",
      "description": "MERGE with conditional WHEN NOT MATCHED BY SOURCE. Low-score orphan rows are deleted; remaining orphan rows are deactivated. Tests that conditions on the NOT MATCHED BY SOURCE clause filter correctly.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/745_merge_nmbys_partition",
      "num": 745,
      "name": "merge_nmbys_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/745_merge_nmbys_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/745_merge_nmbys_partition.sql",
      "description": "WHEN NOT MATCHED BY SOURCE on a partitioned table. Tests that the NM-BY-SOURCE clause correctly deletes rows across multiple partitions.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/746_merge_nmbys_cdc",
      "num": 746,
      "name": "merge_nmbys_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/746_merge_nmbys_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/746_merge_nmbys_cdc.sql",
      "description": "WHEN NOT MATCHED BY SOURCE + CDC enabled. Tests that Change Data Feed correctly captures NM-BY-SOURCE delete events alongside matched updates.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/747_constraint_violation_insert",
      "num": 747,
      "name": "constraint_violation_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/747_constraint_violation_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/747_constraint_violation_insert.sql",
      "description": "Constraint lifecycle: ADD CONSTRAINT, insert valid data, DROP CONSTRAINT, then insert data that would have violated the old constraint. Verifies that the dropped constraint no longer blocks inserts.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/748_constraint_violation_update",
      "num": 748,
      "name": "constraint_violation_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/748_constraint_violation_update.py",
      "read_script": "generator/df-reads-spark-iceberg/748_constraint_violation_update.sql",
      "description": "Constraint DROP then UPDATE to previously-violating values. Verifies that a dropped constraint no longer blocks UPDATE operations that would have produced invalid data.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/749_constraint_violation_merge",
      "num": 749,
      "name": "constraint_violation_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/749_constraint_violation_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/749_constraint_violation_merge.sql",
      "description": "Constraint DROP then MERGE with data that would have violated the old constraint. Verifies that MERGE can insert violating rows after the constraint is removed.",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/74_type_widening_safe_column_promotion",
      "num": 74,
      "name": "type_widening_safe_column_promotion",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/74_type_widening_safe_column_promotion.py",
      "read_script": "generator/df-reads-spark-iceberg/74_type_widening_safe_column_promotion.sql",
      "description": "Type widening for safe column type promotion.",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:boundary",
        "type:date",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "schema:type-widening",
        "scale:large-dataset",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/750_rename_multiple_columns",
      "num": 750,
      "name": "rename_multiple_columns",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/750_rename_multiple_columns.py",
      "read_script": "generator/df-reads-spark-iceberg/750_rename_multiple_columns.sql",
      "description": "Renaming 3 columns in sequence with column mapping (name mode). Tests multiple column mapping mutations followed by DML that uses the new column names.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "schema:rename-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/751_drop_multiple_columns",
      "num": 751,
      "name": "drop_multiple_columns",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/751_drop_multiple_columns.py",
      "read_script": "generator/df-reads-spark-iceberg/751_drop_multiple_columns.sql",
      "description": "Dropping 2 columns in sequence with column mapping. Tests that multiple column drops are correctly tracked and that subsequent DML operates on the reduced schema.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "schema:drop-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/752_rename_then_drop",
      "num": 752,
      "name": "rename_then_drop",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/752_rename_then_drop.py",
      "read_script": "generator/df-reads-spark-iceberg/752_rename_then_drop.sql",
      "description": "RENAME one column then DROP another, followed by DML and MERGE. Tests stacked column mapping mutations with subsequent complex DML.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:merge",
        "delta:column-mapping",
        "schema:drop-column",
        "schema:rename-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/753_drop_then_rename",
      "num": 753,
      "name": "drop_then_rename",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/753_drop_then_rename.py",
      "read_script": "generator/df-reads-spark-iceberg/753_drop_then_rename.sql",
      "description": "DROP a column then RENAME another. Reverse order from test 752. Tests that column mapping tracks drops and renames correctly regardless of operation order.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:column-mapping",
        "schema:drop-column",
        "schema:rename-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/754_rename_drop_add",
      "num": 754,
      "name": "rename_drop_add",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/754_rename_drop_add.py",
      "read_script": "generator/df-reads-spark-iceberg/754_rename_drop_add.sql",
      "description": "RENAME + DROP + ADD COLUMN in sequence. Tests the full column mutation lifecycle: rename an existing column, drop another, then add a new one.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "schema:add-column",
        "schema:drop-column",
        "schema:rename-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/755_cdc_exact_counts",
      "num": 755,
      "name": "cdc_exact_counts",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/755_cdc_exact_counts.py",
      "read_script": "generator/df-reads-spark-iceberg/755_cdc_exact_counts.sql",
      "description": "CDC test designed for exact CDF row count verification. Each DML version produces a precise, predictable number of Change Data Feed rows, enabling verify scripts to assert exact CDF counts per change type.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/756_cdc_merge_exact_counts",
      "num": 756,
      "name": "cdc_merge_exact_counts",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/756_cdc_merge_exact_counts.py",
      "read_script": "generator/df-reads-spark-iceberg/756_cdc_merge_exact_counts.sql",
      "description": "CDC + MERGE with exact CDF count verification. The MERGE produces a precise mix of matched updates and not-matched inserts, enabling exact CDF row count assertions.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/757_cdc_nmbys_exact_counts",
      "num": 757,
      "name": "cdc_nmbys_exact_counts",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/757_cdc_nmbys_exact_counts.py",
      "read_script": "generator/df-reads-spark-iceberg/757_cdc_nmbys_exact_counts.sql",
      "description": "CDC + WHEN NOT MATCHED BY SOURCE with exact CDF counts. Tests that Change Data Feed correctly captures NM-BY-SOURCE delete events with precise row counts.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/758_colmap_rename_merge_cdc",
      "num": 758,
      "name": "colmap_rename_merge_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/758_colmap_rename_merge_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/758_colmap_rename_merge_cdc.sql",
      "description": "Column mapping + RENAME COLUMN + MERGE + CDC. Tests that Change Data Feed uses the renamed column name (not the original) in CDF output.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "schema:rename-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/759_colmap_drop_evolve_merge",
      "num": 759,
      "name": "colmap_drop_evolve_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/759_colmap_drop_evolve_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/759_colmap_drop_evolve_merge.sql",
      "description": "Column mapping + DROP COLUMN + ADD COLUMN + MERGE. Tests MERGE across combined column mutation (drop) and schema evolution (add).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:merge",
        "delta:column-mapping",
        "schema:add-column",
        "schema:drop-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/75_coordinated_commits_managed_transactions",
      "num": 75,
      "name": "coordinated_commits_managed_transactions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/75_coordinated_commits_managed_transactions.py",
      "read_script": "generator/df-reads-spark-iceberg/75_coordinated_commits_managed_transactions.sql",
      "description": "Coordinated commits via external commit coordinator.",
      "status": "pass",
      "duration_ms": 24,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 24,
      "read_warm_ms": 10,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:constraints",
        "delta:default-values",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/760_merge_nmbys_evolve_cdc",
      "num": 760,
      "name": "merge_nmbys_evolve_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/760_merge_nmbys_evolve_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/760_merge_nmbys_evolve_cdc.sql",
      "description": "MERGE with NOT MATCHED BY SOURCE + schema evolution + CDC. Complex combination test: add a new column, then use MERGE with NM-BY-SOURCE to populate it differently for matched vs unmatched rows.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/761_merge_nmbys_update_delete",
      "num": 761,
      "name": "merge_nmbys_update_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/761_merge_nmbys_update_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/761_merge_nmbys_update_delete.sql",
      "description": "MERGE with WHEN NOT MATCHED BY SOURCE having both UPDATE and DELETE conditions. Tests that the engine correctly branches NM-BY-SOURCE rows into UPDATE or DELETE based on conditional predicates.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/762_merge_nmbys_colmap",
      "num": 762,
      "name": "merge_nmbys_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/762_merge_nmbys_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/762_merge_nmbys_colmap.sql",
      "description": "NM-BY-SOURCE + column mapping (name mode). Tests that WHEN NOT MATCHED BY SOURCE DELETE works correctly when column mapping is enabled, ensuring physical/logical name indirection does not break source row identification.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/763_merge_nmbys_constraint",
      "num": 763,
      "name": "merge_nmbys_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/763_merge_nmbys_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/763_merge_nmbys_constraint.sql",
      "description": "NM-BY-SOURCE + CHECK constraint. Tests that the WHEN NOT MATCHED BY SOURCE UPDATE clause respects active CHECK constraints. The NM-BY-SOURCE UPDATE sets score=0, which must satisfy the constraint score>=0.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/764_merge_nmbys_optimize",
      "num": 764,
      "name": "merge_nmbys_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/764_merge_nmbys_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/764_merge_nmbys_optimize.sql",
      "description": "NM-BY-SOURCE MERGE after OPTIMIZE. Tests that MERGE correctly identifies not-matched-by-source rows when operating on compacted Parquet files (post-OPTIMIZE), which changes the physical file layout.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/765_constraint_add_valid_drop_violate_add",
      "num": 765,
      "name": "constraint_add_valid_drop_violate_add",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/765_constraint_add_valid_drop_violate_add.py",
      "read_script": "generator/df-reads-spark-iceberg/765_constraint_add_valid_drop_violate_add.sql",
      "description": "Constraint lifecycle: add -> valid data -> drop -> violating data -> re-add a different constraint. Tests that dropping a constraint truly removes enforcement, and that a new constraint only validates current data.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/766_constraint_multiple_add_drop",
      "num": 766,
      "name": "constraint_multiple_add_drop",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/766_constraint_multiple_add_drop.py",
      "read_script": "generator/df-reads-spark-iceberg/766_constraint_multiple_add_drop.sql",
      "description": "Complex constraint metadata evolution: add 3 constraints, drop 2, add 1 new. Tests that the metadata correctly tracks which constraints are active after multiple add/drop operations, and that new data only needs to satisfy the remaining active constraints.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/767_cdc_delete_exact",
      "num": 767,
      "name": "cdc_delete_exact",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/767_cdc_delete_exact.py",
      "read_script": "generator/df-reads-spark-iceberg/767_cdc_delete_exact.sql",
      "description": "CDC with exactly N deletes. Verifies that the exact delete count appears in the Change Data Feed output. Uses explicit id list for precise control over which rows are deleted.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/768_cdc_update_exact",
      "num": 768,
      "name": "cdc_update_exact",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/768_cdc_update_exact.py",
      "read_script": "generator/df-reads-spark-iceberg/768_cdc_update_exact.sql",
      "description": "CDC with exactly N updates. Verifies that the exact update preimage and postimage counts appear in the Change Data Feed output.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/769_cdc_mixed_exact",
      "num": 769,
      "name": "cdc_mixed_exact",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/769_cdc_mixed_exact.py",
      "read_script": "generator/df-reads-spark-iceberg/769_cdc_mixed_exact.sql",
      "description": "CDC with mixed DML operations, each producing an exact predictable number of CDF rows. Tests INSERT + INSERT + UPDATE + DELETE in sequence, verifying every CDF change type count is precise.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/76_coordinated_commits_managed_transactions_simple",
      "num": 76,
      "name": "coordinated_commits_managed_transactions_simple",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/76_coordinated_commits_managed_transactions_simple.py",
      "read_script": "generator/df-reads-spark-iceberg/76_coordinated_commits_managed_transactions_simple.sql",
      "description": "10 rows",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/770_rename_nmbys_merge",
      "num": 770,
      "name": "rename_nmbys_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/770_rename_nmbys_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/770_rename_nmbys_merge.sql",
      "description": "RENAME COLUMN + NM-BY-SOURCE MERGE under column mapping. Tests that NM-BY-SOURCE correctly uses the renamed column name after ALTER TABLE RENAME COLUMN, ensuring physical/logical name indirection works.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "schema:rename-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/771_drop_nmbys_merge",
      "num": 771,
      "name": "drop_nmbys_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/771_drop_nmbys_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/771_drop_nmbys_merge.sql",
      "description": "DROP COLUMN + NM-BY-SOURCE MERGE under column mapping. Tests that NM-BY-SOURCE correctly operates after a column has been dropped, ensuring the remaining columns are correctly matched and written.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "schema:drop-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/772_evolve_nmbys_merge",
      "num": 772,
      "name": "evolve_nmbys_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/772_evolve_nmbys_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/772_evolve_nmbys_merge.sql",
      "description": "ADD COLUMN + NM-BY-SOURCE MERGE. Tests that NM-BY-SOURCE correctly handles rows that were written before the column was added (those rows have NULL for the new column), and that the MERGE UPDATE populates the new column for matched rows.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/773_partition_nmbys_cdc",
      "num": 773,
      "name": "partition_nmbys_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/773_partition_nmbys_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/773_partition_nmbys_cdc.sql",
      "description": "Partition + NM-BY-SOURCE + CDC. Three-way feature combination. Tests that NM-BY-SOURCE DELETE correctly generates CDF delete events across multiple partitions, and that partition pruning does not skip unmatched source rows.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/774_constraint_nmbys_merge",
      "num": 774,
      "name": "constraint_nmbys_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/774_constraint_nmbys_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/774_constraint_nmbys_merge.sql",
      "description": "Constraint + NM-BY-SOURCE MERGE. Tests that NM-BY-SOURCE UPDATE must respect active CHECK constraints. The NM-BY-SOURCE UPDATE sets value=1.0, which satisfies the constraint value > 0.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/775_cdc_partition_nmbys",
      "num": 775,
      "name": "cdc_partition_nmbys",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/775_cdc_partition_nmbys.py",
      "read_script": "generator/df-reads-spark-iceberg/775_cdc_partition_nmbys.sql",
      "description": "CDC + partition + NM-BY-SOURCE UPDATE. Tests that CDF correctly records update_preimage and update_postimage events for NM-BY-SOURCE UPDATE across multiple partitions. Unlike 773 which deletes unmatched rows, this test updates them to status='stale'.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/776_large_nmbys",
      "num": 776,
      "name": "large_nmbys",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/776_large_nmbys.py",
      "read_script": "generator/df-reads-spark-iceberg/776_large_nmbys.sql",
      "description": "Large-scale NM-BY-SOURCE: 1000-row target, 200-row source. 800 rows deleted by NM-BY-SOURCE. Stress-tests the engine's ability to handle large NM-BY-SOURCE DELETE batches efficiently.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/777_constraint_enforcement_chain",
      "num": 777,
      "name": "constraint_enforcement_chain",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/777_constraint_enforcement_chain.py",
      "read_script": "generator/df-reads-spark-iceberg/777_constraint_enforcement_chain.sql",
      "description": "Chain of DML operations all respecting a CHECK constraint. Tests that UPDATE, DELETE, MERGE, and a second UPDATE all enforce the constraint across multiple versions. Ensures constraint is validated on every write.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/778_colmap_rename_partition_cdc",
      "num": 778,
      "name": "colmap_rename_partition_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/778_colmap_rename_partition_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/778_colmap_rename_partition_cdc.sql",
      "description": "Column mapping + RENAME COLUMN + partition + CDC. Four-way feature combination with rename. Tests that CDF events use the renamed column name, and that partition-aware operations still work after rename under column mapping.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:partitioning",
        "schema:rename-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/779_colmap_drop_constraint_merge",
      "num": 779,
      "name": "colmap_drop_constraint_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/779_colmap_drop_constraint_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/779_colmap_drop_constraint_merge.sql",
      "description": "Column mapping + DROP COLUMN + constraint + MERGE. Four-way feature combination. Tests that MERGE respects CHECK constraints after a column has been dropped under column mapping, and that the dropped column does not interfere with constraint evaluation or merge logic.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:merge",
        "delta:column-mapping",
        "delta:constraints",
        "schema:drop-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/77_in_commit_timestamps_reliable_time_travel",
      "num": 77,
      "name": "in_commit_timestamps_reliable_time_travel",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/77_in_commit_timestamps_reliable_time_travel.py",
      "read_script": "generator/df-reads-spark-iceberg/77_in_commit_timestamps_reliable_time_travel.sql",
      "description": "In-commit timestamps for reliable time travel queries.",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "delta:constraints",
        "delta:time-travel",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/780_nmbys_all_features",
      "num": 780,
      "name": "nmbys_all_features",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/780_nmbys_all_features.py",
      "read_script": "generator/df-reads-spark-iceberg/780_nmbys_all_features.sql",
      "description": "NM-BY-SOURCE + DV + CDC + partition + constraint. Five-way stress test with conditional NM-BY-SOURCE (both UPDATE and DELETE branches). Tests the most complex feature interaction: partitioned CDC table with active constraint, deletion vectors, and conditional NM-BY-SOURCE logic.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/781_cdc_nmbys_colmap",
      "num": 781,
      "name": "cdc_nmbys_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/781_cdc_nmbys_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/781_cdc_nmbys_colmap.sql",
      "description": "CDC + NOT MATCHED BY SOURCE + column mapping (name mode). Three-way combination: CDF must use logical column names from the column mapping, and NM-BY-SOURCE DELETE must produce correct CDF delete events.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/782_nmbys_evolve_partition",
      "num": 782,
      "name": "nmbys_evolve_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/782_nmbys_evolve_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/782_nmbys_evolve_partition.sql",
      "description": "NOT MATCHED BY SOURCE + schema evolution + partitioning. Three-way combination: partitioned table gets a new column via ALTER TABLE, then MERGE with NM-BY-SOURCE uses the new column. Verifies that schema evolution interacts correctly with partitioned NM-BY-SOURCE.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:merge",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/783_constraint_two_violations",
      "num": 783,
      "name": "constraint_two_violations",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/783_constraint_two_violations.py",
      "read_script": "generator/df-reads-spark-iceberg/783_constraint_two_violations.sql",
      "description": "Two CHECK constraints added, one dropped, then data inserted that violates the dropped constraint but satisfies the remaining one. Verifies that DROP CONSTRAINT only removes the targeted constraint and the other remains enforced.",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/784_rename_three_plus_merge",
      "num": 784,
      "name": "rename_three_plus_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/784_rename_three_plus_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/784_rename_three_plus_merge.sql",
      "description": "Three consecutive RENAME COLUMN operations followed by a MERGE that uses all the new column names. Verifies that column mapping tracks multiple renames correctly and MERGE references the final names.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:merge",
        "delta:column-mapping",
        "schema:rename-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/785_drop_two_plus_merge",
      "num": 785,
      "name": "drop_two_plus_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/785_drop_two_plus_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/785_drop_two_plus_merge.sql",
      "description": "Two DROP COLUMN operations followed by a MERGE on the reduced schema. Verifies that column mapping correctly handles multiple column drops and that MERGE operates on the surviving columns only.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:merge",
        "delta:column-mapping",
        "schema:drop-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/786_cdc_every_dml_type",
      "num": 786,
      "name": "cdc_every_dml_type",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/786_cdc_every_dml_type.py",
      "read_script": "generator/df-reads-spark-iceberg/786_cdc_every_dml_type.sql",
      "description": "CDC table exercising all 4 DML types: INSERT, UPDATE, DELETE, MERGE. Each operation produces exact, verifiable CDF row counts. This is the most comprehensive single-table CDF test.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/787_merge_nmbys_delete_then_insert",
      "num": 787,
      "name": "merge_nmbys_delete_then_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/787_merge_nmbys_delete_then_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/787_merge_nmbys_delete_then_insert.sql",
      "description": "NM-BY-SOURCE DELETE followed by re-INSERT of the same ID range. Tests that rows purged by NOT MATCHED BY SOURCE can be re-inserted in a subsequent operation with new generation markers.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/788_partition_key_update_cdc",
      "num": 788,
      "name": "partition_key_update_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/788_partition_key_update_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/788_partition_key_update_cdc.sql",
      "description": "UPDATE on a partition key column with CDC enabled. Tests that CDF correctly captures cross-partition row moves (delete from old partition + insert into new partition in CDF terms).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:update",
        "delta:change-data-feed",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/789_sparse_wide_merge",
      "num": 789,
      "name": "sparse_wide_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/789_sparse_wide_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/789_sparse_wide_merge.sql",
      "description": "Wide table with 10 columns, mostly NULL at insert time, then a MERGE that partially fills in sparse columns. Tests that NULL-heavy Parquet files and partial column updates work correctly.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:null-handling",
        "type:string",
        "dml:merge",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/78_domain_metadata_row_tracking_domain",
      "num": 78,
      "name": "domain_metadata_row_tracking_domain",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/78_domain_metadata_row_tracking_domain.py",
      "read_script": "generator/df-reads-spark-iceberg/78_domain_metadata_row_tracking_domain.sql",
      "description": "Demonstrates domain metadata for row tracking feature. The row tracking feature stores its configuration and state in domain metadata.",
      "status": "pass",
      "duration_ms": 24,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 24,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "delta:row-tracking",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/790_monotonic_id_delete_gap",
      "num": 790,
      "name": "monotonic_id_delete_gap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/790_monotonic_id_delete_gap.py",
      "read_script": "generator/df-reads-spark-iceberg/790_monotonic_id_delete_gap.sql",
      "description": "Sequential IDs with a gap created by DELETE, then re-INSERT into the gap with a different generation marker. Tests that deletion vectors handle mid-range deletes and that re-inserted rows with the same IDs coexist correctly with surviving rows.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/791_merge_nmbys_partition_cdc_constraint",
      "num": 791,
      "name": "merge_nmbys_partition_cdc_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/791_merge_nmbys_partition_cdc_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/791_merge_nmbys_partition_cdc_constraint.sql",
      "description": "Four-way combination: NM-BY-SOURCE + partition + CDC + CHECK constraint. Tests that CDF captures NM-BY-SOURCE events across partitions, and that the constraint is enforced during NM-BY-SOURCE UPDATE operations.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/792_colmap_rename_drop_evolve",
      "num": 792,
      "name": "colmap_rename_drop_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/792_colmap_rename_drop_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/792_colmap_rename_drop_evolve.sql",
      "description": "Full column mutation trilogy: RENAME + DROP + ADD COLUMN, all with column mapping enabled. Tests that the column mapping metadata correctly tracks all three mutation types in sequence.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:column-mapping",
        "schema:add-column",
        "schema:drop-column",
        "schema:rename-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/793_constraint_across_merge_nmbys",
      "num": 793,
      "name": "constraint_across_merge_nmbys",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/793_constraint_across_merge_nmbys.py",
      "read_script": "generator/df-reads-spark-iceberg/793_constraint_across_merge_nmbys.sql",
      "description": "CHECK constraint must be enforced during a MERGE with NOT MATCHED BY SOURCE UPDATE. The NM-BY-SOURCE clause updates value using an expression that keeps it positive, satisfying the constraint. Verifies that constraint validation applies to NM-BY-SOURCE UPDATE paths.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/794_cdc_schema_evolve_nmbys",
      "num": 794,
      "name": "cdc_schema_evolve_nmbys",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/794_cdc_schema_evolve_nmbys.py",
      "read_script": "generator/df-reads-spark-iceberg/794_cdc_schema_evolve_nmbys.sql",
      "description": "CDC + schema evolution + NM-BY-SOURCE UPDATE. CDF must correctly capture events across a schema change (ADD COLUMN) with NM-BY-SOURCE populating the new column differently for matched vs unmatched rows.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/795_large_partition_nmbys",
      "num": 795,
      "name": "large_partition_nmbys",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/795_large_partition_nmbys.py",
      "read_script": "generator/df-reads-spark-iceberg/795_large_partition_nmbys.sql",
      "description": "Large-scale partitioned table: 500 rows across 5 partitions, then NM-BY-SOURCE DELETE removes 300 rows. Tests that NM-BY-SOURCE DELETE works correctly at scale across multiple partitions.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:merge",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/796_merge_nmbys_optimize_cdc",
      "num": 796,
      "name": "merge_nmbys_optimize_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/796_merge_nmbys_optimize_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/796_merge_nmbys_optimize_cdc.sql",
      "description": "NM-BY-SOURCE + OPTIMIZE + CDC. Tests that CDF is correct after file compaction (OPTIMIZE), and that NM-BY-SOURCE DELETE after OPTIMIZE produces valid CDF events from compacted files.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/797_constraint_survive_optimize_merge",
      "num": 797,
      "name": "constraint_survive_optimize_merge",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/797_constraint_survive_optimize_merge.py",
      "read_script": "generator/df-reads-spark-iceberg/797_constraint_survive_optimize_merge.sql",
      "description": "CHECK constraint added after multi-batch inserts, survives OPTIMIZE, then enforced during a MERGE (all data valid throughout). Verifies that OPTIMIZE does not lose constraint metadata and that MERGE respects the constraint post-compaction.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/798_colmap_nmbys_cdc_partition",
      "num": 798,
      "name": "colmap_nmbys_cdc_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/798_colmap_nmbys_cdc_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/798_colmap_nmbys_cdc_partition.sql",
      "description": "Four-way combination: column mapping + NM-BY-SOURCE + CDC + partition. Tests that CDF uses logical column names from colmap, NM-BY-SOURCE DELETE works across partitions, and all features interoperate.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/799_all_gaps_combined",
      "num": 799,
      "name": "all_gaps_combined",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/799_all_gaps_combined.py",
      "read_script": "generator/df-reads-spark-iceberg/799_all_gaps_combined.sql",
      "description": "All 4 gap areas in one test: NM-BY-SOURCE + column mapping mutations (RENAME) + constraint lifecycle (add then drop then violate) + CDC with exact counts. This is the comprehensive gap-coverage test.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "schema:rename-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/79_domain_metadata_clustering_domain",
      "num": 79,
      "name": "domain_metadata_clustering_domain",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/79_domain_metadata_clustering_domain.py",
      "read_script": "generator/df-reads-spark-iceberg/79_domain_metadata_clustering_domain.sql",
      "description": "Domain metadata for liquid clustering feature.",
      "status": "pass",
      "duration_ms": 38,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 38,
      "read_warm_ms": 26,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:liquid-clustering",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/800_production_ultimate",
      "num": 800,
      "name": "production_ultimate",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/800_production_ultimate.py",
      "read_script": "generator/df-reads-spark-iceberg/800_production_ultimate.sql",
      "description": "Ultimate production test combining every major feature: NM-BY-SOURCE + deletion vectors + CDC + column mapping + partition + CHECK constraint + schema evolution + OPTIMIZE + RENAME + INSERT + UPDATE + DELETE + MERGE. This is the most comprehensive single-table integration test.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "schema:add-column",
        "schema:rename-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/801_merge_int_types",
      "num": 801,
      "name": "merge_int_types",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/801_merge_int_types.py",
      "read_script": "generator/df-reads-spark-iceberg/801_merge_int_types.sql",
      "description": "MERGE where target and source have INT, SMALLINT, TINYINT columns. Tests INT preservation through MERGE UPDATE SET.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/802_merge_float_double",
      "num": 802,
      "name": "merge_float_double",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/802_merge_float_double.py",
      "read_script": "generator/df-reads-spark-iceberg/802_merge_float_double.sql",
      "description": "MERGE with FLOAT and DOUBLE columns. Tests floating-point precision through MERGE.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/803_merge_decimal_precision",
      "num": 803,
      "name": "merge_decimal_precision",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/803_merge_decimal_precision.py",
      "read_script": "generator/df-reads-spark-iceberg/803_merge_decimal_precision.sql",
      "description": "MERGE where DECIMAL precision must be preserved through UPDATE SET.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/804_merge_timestamp_types",
      "num": 804,
      "name": "merge_timestamp_types",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/804_merge_timestamp_types.py",
      "read_script": "generator/df-reads-spark-iceberg/804_merge_timestamp_types.sql",
      "description": "MERGE with TIMESTAMP columns. Tests microsecond precision preservation through MERGE.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/805_merge_date_type",
      "num": 805,
      "name": "merge_date_type",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/805_merge_date_type.py",
      "read_script": "generator/df-reads-spark-iceberg/805_merge_date_type.sql",
      "description": "MERGE with DATE columns (arrow_cast Date32). Tests DATE preservation through MERGE.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/806_merge_boolean_type",
      "num": 806,
      "name": "merge_boolean_type",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/806_merge_boolean_type.py",
      "read_script": "generator/df-reads-spark-iceberg/806_merge_boolean_type.sql",
      "description": "MERGE with BOOLEAN columns in both conditional evaluation and UPDATE SET. Tests BOOLEAN in WHEN MATCHED AND conditions.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/807_merge_string_types",
      "num": 807,
      "name": "merge_string_types",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/807_merge_string_types.py",
      "read_script": "generator/df-reads-spark-iceberg/807_merge_string_types.sql",
      "description": "MERGE where STRING columns are updated with CONCAT expressions. Tests string manipulation in MERGE UPDATE SET.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/808_merge_null_in_all_types",
      "num": 808,
      "name": "merge_null_in_all_types",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/808_merge_null_in_all_types.py",
      "read_script": "generator/df-reads-spark-iceberg/808_merge_null_in_all_types.sql",
      "description": "MERGE where source has NULL values for every data type. Tests NULL propagation through MERGE UPDATE SET.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/809_merge_struct_update",
      "num": 809,
      "name": "merge_struct_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/809_merge_struct_update.py",
      "read_script": "generator/df-reads-spark-iceberg/809_merge_struct_update.sql",
      "description": "MERGE that updates STRUCT column values. Tests nested struct round-trip through MERGE SET.",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:merge",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/80_collations_language_aware_sorting",
      "num": 80,
      "name": "collations_language_aware_sorting",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/80_collations_language_aware_sorting.py",
      "read_script": "generator/df-reads-spark-iceberg/80_collations_language_aware_sorting.sql",
      "description": "Collation support for language-aware string comparisons.",
      "status": "pass",
      "duration_ms": 19,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 19,
      "read_warm_ms": 9,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/810_merge_mixed_type_key",
      "num": 810,
      "name": "merge_mixed_type_key",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/810_merge_mixed_type_key.py",
      "read_script": "generator/df-reads-spark-iceberg/810_merge_mixed_type_key.sql",
      "description": "MERGE where the join key is INT (not BIGINT). Tests non-BIGINT join key handling.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/811_merge_decimal_key",
      "num": 811,
      "name": "merge_decimal_key",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/811_merge_decimal_key.py",
      "read_script": "generator/df-reads-spark-iceberg/811_merge_decimal_key.sql",
      "description": "MERGE where join key is DECIMAL. Tests DECIMAL equality in join predicate.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:string",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/812_merge_string_key",
      "num": 812,
      "name": "merge_string_key",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/812_merge_string_key.py",
      "read_script": "generator/df-reads-spark-iceberg/812_merge_string_key.sql",
      "description": "MERGE where join key is STRING. Tests STRING equality in join predicate.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/813_merge_boolean_key",
      "num": 813,
      "name": "merge_boolean_key",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/813_merge_boolean_key.py",
      "read_script": "generator/df-reads-spark-iceberg/813_merge_boolean_key.sql",
      "description": "MERGE where join key includes BOOLEAN. Tests BOOLEAN in join predicate. Unusual but valid -- compound key with id + is_active.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/814_merge_timestamp_key",
      "num": 814,
      "name": "merge_timestamp_key",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/814_merge_timestamp_key.py",
      "read_script": "generator/df-reads-spark-iceberg/814_merge_timestamp_key.sql",
      "description": "MERGE where join key includes TIMESTAMP. Tests TIMESTAMP equality in join predicate.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/815_merge_update_decimal_arithmetic",
      "num": 815,
      "name": "merge_update_decimal_arithmetic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/815_merge_update_decimal_arithmetic.py",
      "read_script": "generator/df-reads-spark-iceberg/815_merge_update_decimal_arithmetic.sql",
      "description": "MERGE UPDATE SET with DECIMAL arithmetic. Tests that DECIMAL arithmetic in SET clause preserves precision through pre-computed source values.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/816_merge_update_all_types_at_once",
      "num": 816,
      "name": "merge_update_all_types_at_once",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/816_merge_update_all_types_at_once.py",
      "read_script": "generator/df-reads-spark-iceberg/816_merge_update_all_types_at_once.sql",
      "description": "MERGE that updates every column type in a single UPDATE SET clause. \"Kitchen sink\" type test: STRING, INT, DOUBLE, BOOLEAN, DECIMAL, TIMESTAMP all updated at once.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:merge",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/817_merge_insert_all_types",
      "num": 817,
      "name": "merge_insert_all_types",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/817_merge_insert_all_types.py",
      "read_script": "generator/df-reads-spark-iceberg/817_merge_insert_all_types.sql",
      "description": "MERGE NOT MATCHED INSERT with every column type. Tests that the INSERT path handles all types correctly. Zero overlap between target and source -- all rows go through NOT MATCHED INSERT.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/818_merge_int_to_bigint_coerce",
      "num": 818,
      "name": "merge_int_to_bigint_coerce",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/818_merge_int_to_bigint_coerce.py",
      "read_script": "generator/df-reads-spark-iceberg/818_merge_int_to_bigint_coerce.sql",
      "description": "MERGE where source provides INT-range values into a BIGINT target column. Tests implicit widening coercion (INT -> BIGINT) through MERGE UPDATE and INSERT.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "schema:type-widening",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/819_merge_float_to_double_coerce",
      "num": 819,
      "name": "merge_float_to_double_coerce",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/819_merge_float_to_double_coerce.py",
      "read_script": "generator/df-reads-spark-iceberg/819_merge_float_to_double_coerce.sql",
      "description": "MERGE where source FLOAT column updates target DOUBLE column. Tests widening coercion (FLOAT -> DOUBLE) through MERGE UPDATE and INSERT.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/81_v2_checkpoint_sidecar_json_pointers",
      "num": 81,
      "name": "v2_checkpoint_sidecar_json_pointers",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/81_v2_checkpoint_sidecar_json_pointers.py",
      "read_script": "generator/df-reads-spark-iceberg/81_v2_checkpoint_sidecar_json_pointers.sql",
      "description": "- V2 checkpoint format with sidecar files and JSON pointers - Large table (65k records) triggers multiple sidecar files - Deletion vectors enabled - Complex social media content management schema (28 columns) - Date32 and Timestamp(Microsecond) types - Multiple UPDATE and DELETE...",
      "status": "pass",
      "duration_ms": 204,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 204,
      "read_warm_ms": 16,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:checkpoint-sidecar",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/820_merge_decimal_scale_mismatch",
      "num": 820,
      "name": "merge_decimal_scale_mismatch",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/820_merge_decimal_scale_mismatch.py",
      "read_script": "generator/df-reads-spark-iceberg/820_merge_decimal_scale_mismatch.sql",
      "description": "MERGE where source DECIMAL(10,2) updates target DECIMAL(10,4). Tests decimal scale widening in MERGE SET -- source has 2 decimal places, target expects 4. Updated amounts should show .XX00 pattern.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/821_merge_decimal_negative",
      "num": 821,
      "name": "merge_decimal_negative",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/821_merge_decimal_negative.py",
      "read_script": "generator/df-reads-spark-iceberg/821_merge_decimal_negative.sql",
      "description": "MERGE with negative DECIMAL values. Tests sign preservation and sign-flipping through MERGE UPDATE SET.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/822_merge_decimal_zero",
      "num": 822,
      "name": "merge_decimal_zero",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/822_merge_decimal_zero.py",
      "read_script": "generator/df-reads-spark-iceberg/822_merge_decimal_zero.sql",
      "description": "MERGE updating DECIMAL columns to zero. Tests zero-value DECIMAL handling with conditional MERGE clauses targeting different columns.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/823_merge_timestamp_microsecond",
      "num": 823,
      "name": "merge_timestamp_microsecond",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/823_merge_timestamp_microsecond.py",
      "read_script": "generator/df-reads-spark-iceberg/823_merge_timestamp_microsecond.sql",
      "description": "MERGE with timestamps differing by 1 microsecond. Tests microsecond precision in MERGE UPDATE SET. Join is on id, not timestamp.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/824_merge_boolean_flip",
      "num": 824,
      "name": "merge_boolean_flip",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/824_merge_boolean_flip.py",
      "read_script": "generator/df-reads-spark-iceberg/824_merge_boolean_flip.sql",
      "description": "MERGE that flips all BOOLEAN values using CASE expressions. Tests boolean negation through MERGE UPDATE SET across multiple boolean columns.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/825_merge_string_empty",
      "num": 825,
      "name": "merge_string_empty",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/825_merge_string_empty.py",
      "read_script": "generator/df-reads-spark-iceberg/825_merge_string_empty.sql",
      "description": "MERGE with empty string values. Tests '' (empty string) handling and detection through MERGE UPDATE SET with CASE expressions.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/826_merge_null_key",
      "num": 826,
      "name": "merge_null_key",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/826_merge_null_key.py",
      "read_script": "generator/df-reads-spark-iceberg/826_merge_null_key.sql",
      "description": "MERGE where some source rows have NULL join key. Tests NULL!=NULL semantics in MERGE ON clause -- NULL-keyed source rows never match, always go through NOT MATCHED INSERT.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/827_merge_delete_typed_predicate",
      "num": 827,
      "name": "merge_delete_typed_predicate",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/827_merge_delete_typed_predicate.py",
      "read_script": "generator/df-reads-spark-iceberg/827_merge_delete_typed_predicate.sql",
      "description": "MERGE with DELETE clause using typed column predicates. Tests type evaluation (DECIMAL comparison, BOOLEAN equality) in MATCHED DELETE and conditional UPDATE.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/828_merge_nmbys_typed_update",
      "num": 828,
      "name": "merge_nmbys_typed_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/828_merge_nmbys_typed_update.py",
      "read_script": "generator/df-reads-spark-iceberg/828_merge_nmbys_typed_update.sql",
      "description": "WHEN NOT MATCHED BY SOURCE with typed UPDATE SET. Tests type handling in the NOT MATCHED BY SOURCE path -- zeroing DECIMAL, INT, and setting BOOLEAN.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/829_merge_struct_nested_update",
      "num": 829,
      "name": "merge_struct_nested_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/829_merge_struct_nested_update.py",
      "read_script": "generator/df-reads-spark-iceberg/829_merge_struct_nested_update.sql",
      "description": "MERGE that updates a STRUCT column with different field values. Tests full struct replacement through MERGE UPDATE and INSERT with named_struct.",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "dml:merge",
        "iceberg:uniform",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/82_multipart_checkpoint_recovery_edge_cases",
      "num": 82,
      "name": "multipart_checkpoint_recovery_edge_cases",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/82_multipart_checkpoint_recovery_edge_cases.py",
      "read_script": "generator/df-reads-spark-iceberg/82_multipart_checkpoint_recovery_edge_cases.sql",
      "description": "- Multi-part checkpoint edge cases and recovery scenarios - Large table (85,000+ rows) with wide schema (31 columns) - Partitioned by partition_region (6 regions) - Deletion vectors enabled - Multiple UPDATE operations and batch INSERTs - Date32 and Timestamp(Microsecond) types...",
      "status": "pass",
      "duration_ms": 81,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 81,
      "read_warm_ms": 48,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:checkpoint-multipart",
        "delta:deletion-vectors",
        "delta:partitioning",
        "scale:large-dataset",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/830_merge_decimal_boundary",
      "num": 830,
      "name": "merge_decimal_boundary",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/830_merge_decimal_boundary.py",
      "read_script": "generator/df-reads-spark-iceberg/830_merge_decimal_boundary.sql",
      "description": "MERGE with DECIMAL values at precision boundaries. Tests max/min DECIMAL values through MERGE UPDATE and INSERT.",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/831_merge_update_to_null",
      "num": 831,
      "name": "merge_update_to_null",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/831_merge_update_to_null.py",
      "read_script": "generator/df-reads-spark-iceberg/831_merge_update_to_null.sql",
      "description": "MERGE UPDATE SET that explicitly sets typed columns to NULL. Tests NULL introduction per type (STRING, INT, DOUBLE, BOOLEAN, DECIMAL, TIMESTAMP) through MERGE conditional clauses.",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/832_merge_conditional_type_cast",
      "num": 832,
      "name": "merge_conditional_type_cast",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/832_merge_conditional_type_cast.py",
      "read_script": "generator/df-reads-spark-iceberg/832_merge_conditional_type_cast.sql",
      "description": "MERGE with CASE expression producing STRING values computed from different typed columns. Tests type unification (DOUBLE->STRING casts) in MERGE SET through CASE branches.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/833_merge_int_overflow_safe",
      "num": 833,
      "name": "merge_int_overflow_safe",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/833_merge_int_overflow_safe.py",
      "read_script": "generator/df-reads-spark-iceberg/833_merge_int_overflow_safe.sql",
      "description": "MERGE with INT values near the overflow boundary. Tests INT range safety with values close to INT max (2147483647) through MERGE UPDATE and INSERT.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/834_merge_multi_decimal_update",
      "num": 834,
      "name": "merge_multi_decimal_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/834_merge_multi_decimal_update.py",
      "read_script": "generator/df-reads-spark-iceberg/834_merge_multi_decimal_update.sql",
      "description": "MERGE updating 4 DECIMAL columns simultaneously with different precision/scale. Tests that each DECIMAL column maintains independent precision through MERGE.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/835_merge_decimal_cdc",
      "num": 835,
      "name": "merge_decimal_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/835_merge_decimal_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/835_merge_decimal_cdc.sql",
      "description": "MERGE with DECIMAL columns + CDC enabled. Tests that CDF records preserve DECIMAL precision through MERGE UPDATE and INSERT paths.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:merge",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/836_merge_timestamp_cdc",
      "num": 836,
      "name": "merge_timestamp_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/836_merge_timestamp_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/836_merge_timestamp_cdc.sql",
      "description": "MERGE with TIMESTAMP + CDC enabled. Tests that CDF records preserve TIMESTAMP values through MERGE UPDATE and INSERT paths.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:timestamp",
        "dml:merge",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/837_merge_decimal_partition",
      "num": 837,
      "name": "merge_decimal_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/837_merge_decimal_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/837_merge_decimal_partition.sql",
      "description": "MERGE with DECIMAL columns + partitioned table. Tests that DECIMAL precision is preserved through MERGE UPDATE and INSERT across multiple partitions.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:merge",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/838_merge_timestamp_partition",
      "num": 838,
      "name": "merge_timestamp_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/838_merge_timestamp_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/838_merge_timestamp_partition.sql",
      "description": "MERGE with TIMESTAMP + partitioned table. Tests that TIMESTAMP values are preserved through MERGE UPDATE and INSERT across multiple partitions.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:timestamp",
        "dml:merge",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/839_merge_types_constraint",
      "num": 839,
      "name": "merge_types_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/839_merge_types_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/839_merge_types_constraint.sql",
      "description": "MERGE where a CHECK constraint applies to a typed DECIMAL column. Tests that constraint enforcement works correctly on MERGE-updated DECIMAL values.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:merge",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/83_writer_feature_combinations_complex",
      "num": 83,
      "name": "writer_feature_combinations_complex",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/83_writer_feature_combinations_complex.py",
      "read_script": "generator/df-reads-spark-iceberg/83_writer_feature_combinations_complex.sql",
      "description": "- Complex combinations of multiple writer features interacting - Row Tracking + Deletion Vectors + Change Data Feed - Column Mapping + Check Constraints + Generated Columns - 40 columns with timestamp_ntz fields requiring metadata - Multiple UPDATE operations tracking flight...",
      "status": "pass",
      "duration_ms": 40,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 40,
      "read_warm_ms": 31,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "type:timestamp-ntz",
        "dml:cdc-write",
        "dml:delete",
        "dml:insert",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:generated-columns",
        "delta:row-tracking",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/840_merge_types_optimize",
      "num": 840,
      "name": "merge_types_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/840_merge_types_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/840_merge_types_optimize.sql",
      "description": "MERGE on typed columns after OPTIMIZE. Tests that MERGE reads correct DECIMAL, TIMESTAMP, and BOOLEAN types from compacted Parquet files.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/841_merge_types_evolve",
      "num": 841,
      "name": "merge_types_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/841_merge_types_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/841_merge_types_evolve.sql",
      "description": "MERGE after schema evolution adds a DECIMAL column. Tests that MERGE correctly handles the evolved DECIMAL(10,2) column for both matched rows (which had NULL before evolution) and newly inserted rows.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:merge",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/842_merge_decimal_null_mixed",
      "num": 842,
      "name": "merge_decimal_null_mixed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/842_merge_decimal_null_mixed.py",
      "read_script": "generator/df-reads-spark-iceberg/842_merge_decimal_null_mixed.sql",
      "description": "MERGE where source DECIMAL is NULL for some rows and non-NULL for others. Tests mixed NULL/non-NULL DECIMAL(10,2) through MERGE UPDATE path.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/843_merge_timestamp_null_mixed",
      "num": 843,
      "name": "merge_timestamp_null_mixed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/843_merge_timestamp_null_mixed.py",
      "read_script": "generator/df-reads-spark-iceberg/843_merge_timestamp_null_mixed.sql",
      "description": "MERGE where source TIMESTAMP is NULL for some rows and non-NULL for others. Tests mixed NULL/non-NULL TIMESTAMP through MERGE UPDATE path.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/844_merge_boolean_null_mixed",
      "num": 844,
      "name": "merge_boolean_null_mixed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/844_merge_boolean_null_mixed.py",
      "read_script": "generator/df-reads-spark-iceberg/844_merge_boolean_null_mixed.sql",
      "description": "MERGE where source BOOLEAN is NULL for some rows and non-NULL for others. Tests mixed NULL/non-NULL BOOLEAN through MERGE UPDATE path.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/845_merge_int_null_mixed",
      "num": 845,
      "name": "merge_int_null_mixed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/845_merge_int_null_mixed.py",
      "read_script": "generator/df-reads-spark-iceberg/845_merge_int_null_mixed.sql",
      "description": "MERGE where source INT is NULL for some rows and non-NULL for others. Tests mixed NULL/non-NULL INT through MERGE UPDATE path.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/846_merge_double_nan_like",
      "num": 846,
      "name": "merge_double_nan_like",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/846_merge_double_nan_like.py",
      "read_script": "generator/df-reads-spark-iceberg/846_merge_double_nan_like.sql",
      "description": "MERGE with DOUBLE values at floating-point extremes (very small approaching zero, very large). Tests floating-point edge cases through MERGE UPDATE/INSERT.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/847_merge_struct_with_types",
      "num": 847,
      "name": "merge_struct_with_types",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/847_merge_struct_with_types.py",
      "read_script": "generator/df-reads-spark-iceberg/847_merge_struct_with_types.sql",
      "description": "STRUCT containing STRING, INT, and BOOLEAN fields. Tests struct with mixed typed fields through MERGE UPDATE and INSERT paths.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/848_merge_all_types_nmbys",
      "num": 848,
      "name": "merge_all_types_nmbys",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/848_merge_all_types_nmbys.py",
      "read_script": "generator/df-reads-spark-iceberg/848_merge_all_types_nmbys.sql",
      "description": "MERGE NOT MATCHED BY SOURCE updating all typed columns. Tests type handling in the NM-BY-SOURCE UPDATE path across STRING, INT, DOUBLE, BOOLEAN, and DECIMAL simultaneously.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:merge",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/849_merge_typed_delete_insert",
      "num": 849,
      "name": "merge_typed_delete_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/849_merge_typed_delete_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/849_merge_typed_delete_insert.sql",
      "description": "MERGE with typed DELETE predicate (DECIMAL range) + NOT MATCHED INSERT. Tests DELETE based on DECIMAL comparison combined with INSERT of full type set in a single MERGE statement.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/84_variant_with_column_mapping",
      "num": 84,
      "name": "variant_with_column_mapping",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/84_variant_with_column_mapping.py",
      "read_script": "generator/df-reads-spark-iceberg/84_variant_with_column_mapping.sql",
      "description": "Demonstrates Variant data type combined with column mapping feature.",
      "status": "pass",
      "duration_ms": 188,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 188,
      "read_warm_ms": 48,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/850_merge_type_comprehensive",
      "num": 850,
      "name": "merge_type_comprehensive",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/850_merge_type_comprehensive.py",
      "read_script": "generator/df-reads-spark-iceberg/850_merge_type_comprehensive.sql",
      "description": "per-type assertions. Exercises all types through MERGE UPDATE, DELETE, and INSERT paths simultaneously.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/851_merge_multi_type_update_set",
      "num": 851,
      "name": "merge_multi_type_update_set",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/851_merge_multi_type_update_set.py",
      "read_script": "generator/df-reads-spark-iceberg/851_merge_multi_type_update_set.sql",
      "description": "MERGE that updates 5 different typed columns in a single UPDATE SET, each with a different transformation. Tests that the engine correctly applies heterogeneous per-column transformations within one MERGE UPDATE SET clause.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/852_merge_chain_typed",
      "num": 852,
      "name": "merge_chain_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/852_merge_chain_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/852_merge_chain_typed.sql",
      "description": "Two sequential MERGEs on a table with DECIMAL+TIMESTAMP+BOOLEAN. Each MERGE transforms the typed columns. Tests type stability across MERGE chains -- ensures that writing typed values in one MERGE does not corrupt them for the next MERGE read.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/853_merge_mixed_predicate_types",
      "num": 853,
      "name": "merge_mixed_predicate_types",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/853_merge_mixed_predicate_types.py",
      "read_script": "generator/df-reads-spark-iceberg/853_merge_mixed_predicate_types.sql",
      "description": "MERGE with WHEN MATCHED conditions using different typed predicates: DECIMAL comparison + BOOLEAN check + INT range. Four WHEN MATCHED clauses with progressively broader predicates form a priority cascade.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 7,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/854_merge_partial_column_update",
      "num": 854,
      "name": "merge_partial_column_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/854_merge_partial_column_update.py",
      "read_script": "generator/df-reads-spark-iceberg/854_merge_partial_column_update.sql",
      "description": "MERGE where UPDATE SET only touches 2 of 8 columns. Tests that untouched columns survive the MERGE write cycle without corruption or zeroing.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/855_merge_source_subset_columns",
      "num": 855,
      "name": "merge_source_subset_columns",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/855_merge_source_subset_columns.py",
      "read_script": "generator/df-reads-spark-iceberg/855_merge_source_subset_columns.sql",
      "description": "MERGE where source CTE has fewer columns than target. Source only provides id + the 2 columns being updated. Tests column projection in MERGE -- the engine must not expect source to have all target columns.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/856_merge_decimal_across_partitions",
      "num": 856,
      "name": "merge_decimal_across_partitions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/856_merge_decimal_across_partitions.py",
      "read_script": "generator/df-reads-spark-iceberg/856_merge_decimal_across_partitions.sql",
      "description": "MERGE on partitioned table where each partition has different DECIMAL value ranges (different magnitudes). Tests DECIMAL handling across partition boundaries -- each partition's Parquet files have different value ranges.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:merge",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/857_merge_after_dv_delete_typed",
      "num": 857,
      "name": "merge_after_dv_delete_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/857_merge_after_dv_delete_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/857_merge_after_dv_delete_typed.sql",
      "description": "DELETE on typed columns (creates deletion vectors) then MERGE on same table. Tests that MERGE correctly reads DV-containing files with typed data -- the MERGE must skip DV-deleted rows when scanning for matches.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/858_merge_typed_expressions",
      "num": 858,
      "name": "merge_typed_expressions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/858_merge_typed_expressions.py",
      "read_script": "generator/df-reads-spark-iceberg/858_merge_typed_expressions.sql",
      "description": "MERGE SET with computed expressions combining multiple typed columns. Source CTE pre-computes subtotal, tax_amount, total from quantity * unit_price. Tests that DECIMAL columns written from computed expressions maintain precision.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/859_merge_timestamp_range_delete",
      "num": 859,
      "name": "merge_timestamp_range_delete",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/859_merge_timestamp_range_delete.py",
      "read_script": "generator/df-reads-spark-iceberg/859_merge_timestamp_range_delete.sql",
      "description": "MERGE with DELETE predicate based on TIMESTAMP range. Tests temporal predicate evaluation in the MERGE DELETE clause -- the engine must correctly compare microsecond timestamps in the WHEN MATCHED AND condition.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/85_optimize_zorder_file_layout",
      "num": 85,
      "name": "optimize_zorder_file_layout",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/85_optimize_zorder_file_layout.py",
      "read_script": "generator/df-reads-spark-iceberg/85_optimize_zorder_file_layout.sql",
      "description": "- OPTIMIZE command with Z-ORDER BY for multi-dimensional file layout - E-commerce customer analytics with 30 columns - 100,000 initial events + 10,000 new December events - Final logical row count: 111,516 (after deletes) - Decimal(10,2) for cart_value, transaction_value...",
      "status": "pass",
      "duration_ms": 192,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 192,
      "read_warm_ms": 133,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:z-order",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/860_merge_boolean_multi_clause",
      "num": 860,
      "name": "merge_boolean_multi_clause",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/860_merge_boolean_multi_clause.py",
      "read_script": "generator/df-reads-spark-iceberg/860_merge_boolean_multi_clause.sql",
      "description": "MERGE with BOOLEAN values driving 3 different WHEN MATCHED clauses plus a fallback. Tests BOOLEAN literal comparison (= true / = false) in MERGE predicate cascades.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/861_merge_decimal_int_cross_type",
      "num": 861,
      "name": "merge_decimal_int_cross_type",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/861_merge_decimal_int_cross_type.py",
      "read_script": "generator/df-reads-spark-iceberg/861_merge_decimal_int_cross_type.sql",
      "description": "MERGE where SET expression uses CAST across types: INT column feeds DECIMAL calculation, DECIMAL feeds final DECIMAL. Tests cross-type arithmetic in MERGE source CTE with CAST chains.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/862_merge_struct_and_scalar",
      "num": 862,
      "name": "merge_struct_and_scalar",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/862_merge_struct_and_scalar.py",
      "read_script": "generator/df-reads-spark-iceberg/862_merge_struct_and_scalar.sql",
      "description": "MERGE that updates both STRUCT and scalar columns in the same UPDATE SET. Tests mixed struct+scalar write -- the engine must handle nested Parquet encoding (struct) alongside flat columns (INT, DECIMAL) in a single MERGE UPDATE row write.",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:merge",
        "storage:parquet-encoding",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/863_merge_cdc_all_types_exact",
      "num": 863,
      "name": "merge_cdc_all_types_exact",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/863_merge_cdc_all_types_exact.py",
      "read_script": "generator/df-reads-spark-iceberg/863_merge_cdc_all_types_exact.sql",
      "description": "MERGE with all types + CDC (Change Data Feed), designed for exact CDF count verification per change type. Every row's fate is deterministic.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:cdc-write",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/864_merge_nmbys_typed_complex",
      "num": 864,
      "name": "merge_nmbys_typed_complex",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/864_merge_nmbys_typed_complex.py",
      "read_script": "generator/df-reads-spark-iceberg/864_merge_nmbys_typed_complex.sql",
      "description": "WHEN NOT MATCHED BY SOURCE with complex typed update: sets DECIMAL to zero, BOOLEAN to false, STRING to 'orphaned', INT to -1. Tests that NOT MATCHED BY SOURCE correctly applies typed default values to orphaned rows.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/865_merge_delete_on_composite_typed_key",
      "num": 865,
      "name": "merge_delete_on_composite_typed_key",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/865_merge_delete_on_composite_typed_key.py",
      "read_script": "generator/df-reads-spark-iceberg/865_merge_delete_on_composite_typed_key.sql",
      "description": "MERGE with DELETE clause on composite typed key (STRING + INT). The ON clause joins on two columns of different types. Tests that the engine correctly evaluates composite key equality across types in MERGE.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/866_merge_three_clause_all_types",
      "num": 866,
      "name": "merge_three_clause_all_types",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/866_merge_three_clause_all_types.py",
      "read_script": "generator/df-reads-spark-iceberg/866_merge_three_clause_all_types.sql",
      "description": "MERGE with 3 clauses (UPDATE, DELETE, INSERT) where each clause touches all column types. Every type goes through all three MERGE paths in one statement.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/867_merge_update_then_merge_typed",
      "num": 867,
      "name": "merge_update_then_merge_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/867_merge_update_then_merge_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/867_merge_update_then_merge_typed.sql",
      "description": "UPDATE on typed columns then MERGE on same table. Tests that MERGE reads correct post-UPDATE types -- the MERGE must see the UPDATE's modified DECIMAL and flipped BOOLEAN values, not the original V0 values.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:merge",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/868_merge_decimal_string_key",
      "num": 868,
      "name": "merge_decimal_string_key",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/868_merge_decimal_string_key.py",
      "read_script": "generator/df-reads-spark-iceberg/868_merge_decimal_string_key.sql",
      "description": "equality where one key column is DECIMAL (integer-valued but stored as DECIMAL) and the other is STRING.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:string",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/869_merge_five_clause",
      "num": 869,
      "name": "merge_five_clause",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/869_merge_five_clause.py",
      "read_script": "generator/df-reads-spark-iceberg/869_merge_five_clause.sql",
      "description": "1 NOT MATCHED INSERT, 1 NOT MATCHED BY SOURCE UPDATE. Maximum clause complexity with typed columns. Tests the engine's ability to handle the full MERGE clause repertoire in a single statement.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/86_time_travel_timestamp_queries",
      "num": 86,
      "name": "time_travel_timestamp_queries",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/86_time_travel_timestamp_queries.py",
      "read_script": "generator/df-reads-spark-iceberg/86_time_travel_timestamp_queries.sql",
      "description": "Time travel queries using timestamps and versions.",
      "status": "pass",
      "duration_ms": 51,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 51,
      "read_warm_ms": 22,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "delta:time-travel",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/870_merge_partition_typed_nmbys",
      "num": 870,
      "name": "merge_partition_typed_nmbys",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/870_merge_partition_typed_nmbys.py",
      "read_script": "generator/df-reads-spark-iceberg/870_merge_partition_typed_nmbys.sql",
      "description": "Partitioned MERGE with typed NOT MATCHED BY SOURCE + DECIMAL + BOOLEAN. Tests per-partition NOT MATCHED BY SOURCE with typed columns -- the AP partition has zero source rows, so all AP rows must be detected as orphaned and updated with typed defaults.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/871_merge_optimize_decimal",
      "num": 871,
      "name": "merge_optimize_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/871_merge_optimize_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/871_merge_optimize_decimal.sql",
      "description": "MERGE on DECIMAL columns after OPTIMIZE. Tests DECIMAL reads from compacted files. OPTIMIZE rewrites small files into larger ones; the MERGE must then correctly read DECIMAL(10,2) values from the compacted Parquet files.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:merge",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/872_merge_optimize_timestamp",
      "num": 872,
      "name": "merge_optimize_timestamp",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/872_merge_optimize_timestamp.py",
      "read_script": "generator/df-reads-spark-iceberg/872_merge_optimize_timestamp.sql",
      "description": "MERGE on TIMESTAMP after OPTIMIZE. Tests that TIMESTAMP values survive file compaction and are correctly read during MERGE predicate evaluation.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/873_merge_optimize_boolean_int",
      "num": 873,
      "name": "merge_optimize_boolean_int",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/873_merge_optimize_boolean_int.py",
      "read_script": "generator/df-reads-spark-iceberg/873_merge_optimize_boolean_int.sql",
      "description": "MERGE on BOOLEAN+INT after OPTIMIZE. Tests that BOOLEAN and INT values survive file compaction and are correctly updated during MERGE.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/874_merge_evolve_decimal",
      "num": 874,
      "name": "merge_evolve_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/874_merge_evolve_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/874_merge_evolve_decimal.sql",
      "description": "Schema evolution adds DECIMAL column, then MERGE populates it. Tests that a newly added DECIMAL(10,2) column can be written through MERGE UPDATE SET and INSERT, even though existing rows have NULL for the new column.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/875_merge_evolve_timestamp",
      "num": 875,
      "name": "merge_evolve_timestamp",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/875_merge_evolve_timestamp.py",
      "read_script": "generator/df-reads-spark-iceberg/875_merge_evolve_timestamp.sql",
      "description": "Schema evolution adds TIMESTAMP column, then MERGE populates it. Tests that a newly added TIMESTAMP column can be written through MERGE even when old Parquet files do not contain the column.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/876_merge_evolve_boolean",
      "num": 876,
      "name": "merge_evolve_boolean",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/876_merge_evolve_boolean.py",
      "read_script": "generator/df-reads-spark-iceberg/876_merge_evolve_boolean.sql",
      "description": "Schema evolution adds BOOLEAN column, then MERGE populates it. Tests that a newly added BOOLEAN column can be set through MERGE UPDATE and INSERT.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:default-values",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/877_merge_constraint_decimal_range",
      "num": 877,
      "name": "merge_constraint_decimal_range",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/877_merge_constraint_decimal_range.py",
      "read_script": "generator/df-reads-spark-iceberg/877_merge_constraint_decimal_range.sql",
      "description": "CHECK constraint on DECIMAL range + MERGE must respect it. Tests that MERGE-written DECIMAL values satisfy the constraint boundaries.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/878_merge_constraint_int_positive",
      "num": 878,
      "name": "merge_constraint_int_positive",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/878_merge_constraint_int_positive.py",
      "read_script": "generator/df-reads-spark-iceberg/878_merge_constraint_int_positive.sql",
      "description": "CHECK constraint on INT positivity + MERGE. Tests that MERGE-written INT values pass the >= 0 constraint for both UPDATE and INSERT paths.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:constraints",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/879_merge_cdc_typed_predicates",
      "num": 879,
      "name": "merge_cdc_typed_predicates",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/879_merge_cdc_typed_predicates.py",
      "read_script": "generator/df-reads-spark-iceberg/879_merge_cdc_typed_predicates.sql",
      "description": "MERGE with typed predicates in CDC context. The WHEN MATCHED clause uses a typed predicate (amount > CAST(500 AS DECIMAL(10,2))) to route rows to different UPDATE paths. CDF must capture type-correct pre/post images.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/87_empty_table_no_data_files",
      "num": 87,
      "name": "empty_table_no_data_files",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/87_empty_table_no_data_files.py",
      "read_script": "generator/df-reads-spark-iceberg/87_empty_table_no_data_files.sql",
      "description": "- Empty table with protocol and metadata but zero data files - Schema-only table definition (25 columns) - Deletion vectors enabled - Data warehouse fact table schema",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/880_merge_cdc_nmbys_typed",
      "num": 880,
      "name": "merge_cdc_nmbys_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/880_merge_cdc_nmbys_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/880_merge_cdc_nmbys_typed.sql",
      "description": "CDC + NOT MATCHED BY SOURCE with typed UPDATE. CDF must capture the NM-BY-SOURCE changes as update_preimage/update_postimage pairs with correct DECIMAL and BOOLEAN types.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:default-values",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/881_merge_colmap_decimal",
      "num": 881,
      "name": "merge_colmap_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/881_merge_colmap_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/881_merge_colmap_decimal.sql",
      "description": "Column mapping (name mode) + DECIMAL through MERGE. Tests that DECIMAL(12,4) values are correctly written and read when column mapping rewrites physical column names in Parquet.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/882_merge_colmap_timestamp",
      "num": 882,
      "name": "merge_colmap_timestamp",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/882_merge_colmap_timestamp.py",
      "read_script": "generator/df-reads-spark-iceberg/882_merge_colmap_timestamp.sql",
      "description": "Column mapping (name mode) + TIMESTAMP through MERGE. Tests that TIMESTAMP values survive column mapping's physical name rewriting during MERGE.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/883_merge_colmap_struct",
      "num": 883,
      "name": "merge_colmap_struct",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/883_merge_colmap_struct.py",
      "read_script": "generator/df-reads-spark-iceberg/883_merge_colmap_struct.sql",
      "description": "Column mapping (name mode) + STRUCT through MERGE. Tests that nested STRUCT fields are correctly mapped through column mapping's physical name rewriting.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "dml:merge",
        "delta:column-mapping",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/884_merge_three_decimal_ops",
      "num": 884,
      "name": "merge_three_decimal_ops",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/884_merge_three_decimal_ops.py",
      "read_script": "generator/df-reads-spark-iceberg/884_merge_three_decimal_ops.sql",
      "description": "Three sequential MERGEs each modifying DECIMAL differently. Tests DECIMAL stability across 3 consecutive rewrite cycles: +10, *2, -5.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/885_merge_interleaved_update",
      "num": 885,
      "name": "merge_interleaved_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/885_merge_interleaved_update.py",
      "read_script": "generator/df-reads-spark-iceberg/885_merge_interleaved_update.sql",
      "description": "UPDATE then MERGE then UPDATE then MERGE. Tests 4-operation typed interleave where standalone UPDATEs and MERGEs alternate, each modifying typed columns.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/886_merge_delete_reinsert_typed",
      "num": 886,
      "name": "merge_delete_reinsert_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/886_merge_delete_reinsert_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/886_merge_delete_reinsert_typed.sql",
      "description": "MERGE DELETE all matched rows, then separate INSERT of typed data. Tests that typed INSERT works correctly after a MERGE-DELETE has cleared the table.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/887_merge_wide_typed",
      "num": 887,
      "name": "merge_wide_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/887_merge_wide_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/887_merge_wide_typed.sql",
      "description": "MERGE on 15-column table with diverse types. Tests wide typed schema through MERGE where all 14 non-key columns are updated or inserted.",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/888_merge_decimal_rounding",
      "num": 888,
      "name": "merge_decimal_rounding",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/888_merge_decimal_rounding.py",
      "read_script": "generator/df-reads-spark-iceberg/888_merge_decimal_rounding.sql",
      "description": "MERGE where DECIMAL computation requires rounding. Tests that rounding behavior is correct when computing subtotal = ROUND(price * qty, 2).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/889_merge_timestamp_ordering",
      "num": 889,
      "name": "merge_timestamp_ordering",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/889_merge_timestamp_ordering.py",
      "read_script": "generator/df-reads-spark-iceberg/889_merge_timestamp_ordering.sql",
      "description": "MERGE with timestamps that maintain ordering in target but are reversed in source. After MERGE, timestamps are non-monotonic. Tests that the engine does not assume or enforce timestamp ordering.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/88_single_record_minimal_table",
      "num": 88,
      "name": "single_record_minimal_table",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/88_single_record_minimal_table.py",
      "read_script": "generator/df-reads-spark-iceberg/88_single_record_minimal_table.sql",
      "description": "- Table with exactly one record (minimal data scenario) - Statistics where min = max for all columns - Single Parquet file with one row group - Multiple UPDATE operations incrementing config_version - Decimal, boolean, timestamp, date types - Deletion vectors enabled",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 8,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "storage:rowgroup-stats",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/890_merge_bool_int_partition",
      "num": 890,
      "name": "merge_bool_int_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/890_merge_bool_int_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/890_merge_bool_int_partition.sql",
      "description": "MERGE on partitioned table with BOOLEAN and INT typed updates. Tests that partition-aware MERGE correctly updates BOOLEAN and INT columns across multiple partitions, including inserting new rows into existing partitions.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/891_merge_decimal_cdc_nmbys",
      "num": 891,
      "name": "merge_decimal_cdc_nmbys",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/891_merge_decimal_cdc_nmbys.py",
      "read_script": "generator/df-reads-spark-iceberg/891_merge_decimal_cdc_nmbys.sql",
      "description": "DECIMAL + CDC + NOT MATCHED BY SOURCE. Three-way type-aware test combining DECIMAL precision with CDF capture and orphan detection.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/892_merge_timestamp_evolve_cdc",
      "num": 892,
      "name": "merge_timestamp_evolve_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/892_merge_timestamp_evolve_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/892_merge_timestamp_evolve_cdc.sql",
      "description": "TIMESTAMP + schema evolution + CDC + MERGE. Three-way combination: evolve schema to add TIMESTAMP, then MERGE populates it, all with CDF enabled.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/893_merge_struct_cdc",
      "num": 893,
      "name": "merge_struct_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/893_merge_struct_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/893_merge_struct_cdc.sql",
      "description": "STRUCT + CDC + MERGE. Tests that STRUCT values are correctly captured in CDF update_preimage and update_postimage records.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/894_merge_all_clauses_all_types",
      "num": 894,
      "name": "merge_all_clauses_all_types",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/894_merge_all_clauses_all_types.py",
      "read_script": "generator/df-reads-spark-iceberg/894_merge_all_clauses_all_types.sql",
      "description": "MERGE with DELETE+UPDATE+INSERT+NM-BY-SOURCE all touching typed columns. 4 clauses x multiple types in a single MERGE statement.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/895_merge_partition_evolve_typed",
      "num": 895,
      "name": "merge_partition_evolve_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/895_merge_partition_evolve_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/895_merge_partition_evolve_typed.sql",
      "description": "Partition + schema evolution + typed MERGE. Three-way combination where a partitioned table gets a new DECIMAL column via evolution, then MERGE populates it across all partitions.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:merge",
        "delta:partitioning",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/896_merge_colmap_cdc_typed",
      "num": 896,
      "name": "merge_colmap_cdc_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/896_merge_colmap_cdc_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/896_merge_colmap_cdc_typed.sql",
      "description": "Column mapping + CDC + typed MERGE. Three-way combination where column mapping rewrites physical names and CDF must capture typed columns using the logical (not physical) column names.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "delta:change-data-feed",
        "delta:column-mapping",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/897_merge_constraint_evolve_typed",
      "num": 897,
      "name": "merge_constraint_evolve_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/897_merge_constraint_evolve_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/897_merge_constraint_evolve_typed.sql",
      "description": "Constraint + schema evolution + typed MERGE. Three-way combination where a CHECK constraint exists, then a new DECIMAL column is added via evolution, and MERGE must satisfy the constraint while populating the new column.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:merge",
        "delta:constraints",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/898_merge_typed_idempotent",
      "num": 898,
      "name": "merge_typed_idempotent",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/898_merge_typed_idempotent.py",
      "read_script": "generator/df-reads-spark-iceberg/898_merge_typed_idempotent.sql",
      "description": "Two identical MERGEs in sequence (idempotent test). Same source applied twice. Final state should be the same as after the first MERGE. Tests that MERGE is idempotent when source data does not change.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/899_merge_large_typed",
      "num": 899,
      "name": "merge_large_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/899_merge_large_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/899_merge_large_typed.sql",
      "description": "scale combined with typed columns to catch performance-sensitive type bugs that only manifest at higher row counts (e.g., buffer overflow in DECIMAL encoding, or TIMESTAMP batch alignment issues).",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:merge",
        "scale:large-dataset",
        "storage:rowgroup-stats",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/89_statistics_special_numeric_values",
      "num": 89,
      "name": "statistics_special_numeric_values",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/89_statistics_special_numeric_values.py",
      "read_script": "generator/df-reads-spark-iceberg/89_statistics_special_numeric_values.sql",
      "description": "Demonstrates statistics containing special floating-point values. Tests how Delta handles IEEE 754 special values in statistics: - NaN (Not a Number) - Positive Infinity (+Inf) - Negative Infinity (-Inf) - Negative zero (-0.0) - Subnormal/denormalized numbers",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "storage:statistics",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/900_merge_ultimate_complex",
      "num": 900,
      "name": "merge_ultimate_complex",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/900_merge_ultimate_complex.py",
      "read_script": "generator/df-reads-spark-iceberg/900_merge_ultimate_complex.sql",
      "description": "partition + constraint + schema evolution + OPTIMIZE. This is the most complex single-MERGE test in the suite, combining every feature that could interact with typed columns.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:merge",
        "delta:change-data-feed",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/901_update_int_arithmetic",
      "num": 901,
      "name": "update_int_arithmetic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/901_update_int_arithmetic.py",
      "read_script": "generator/df-reads-spark-iceberg/901_update_int_arithmetic.sql",
      "description": "UPDATE with INT arithmetic expressions (add, subtract,",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/902_update_double_arithmetic",
      "num": 902,
      "name": "update_double_arithmetic",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/902_update_double_arithmetic.py",
      "read_script": "generator/df-reads-spark-iceberg/902_update_double_arithmetic.sql",
      "description": "UPDATE with DOUBLE arithmetic expressions (multiply,",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/903_update_decimal_add",
      "num": 903,
      "name": "update_decimal_add",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/903_update_decimal_add.py",
      "read_script": "generator/df-reads-spark-iceberg/903_update_decimal_add.sql",
      "description": "UPDATE DECIMAL(10,2) with addition. Tests that DECIMAL",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/904_update_decimal_multiply",
      "num": 904,
      "name": "update_decimal_multiply",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/904_update_decimal_multiply.py",
      "read_script": "generator/df-reads-spark-iceberg/904_update_decimal_multiply.sql",
      "description": "UPDATE DECIMAL with multiplication. Tests that DECIMAL",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/905_update_decimal_four_scales",
      "num": 905,
      "name": "update_decimal_four_scales",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/905_update_decimal_four_scales.py",
      "read_script": "generator/df-reads-spark-iceberg/905_update_decimal_four_scales.sql",
      "description": "UPDATE four DECIMAL columns with different scales",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/906_update_timestamp_shift",
      "num": 906,
      "name": "update_timestamp_shift",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/906_update_timestamp_shift.py",
      "read_script": "generator/df-reads-spark-iceberg/906_update_timestamp_shift.sql",
      "description": "UPDATE TIMESTAMP by shifting microsecond offsets. Tests",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/907_update_timestamp_to_fixed",
      "num": 907,
      "name": "update_timestamp_to_fixed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/907_update_timestamp_to_fixed.py",
      "read_script": "generator/df-reads-spark-iceberg/907_update_timestamp_to_fixed.sql",
      "description": "UPDATE TIMESTAMP to a single fixed value. Tests that",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/908_update_date_shift",
      "num": 908,
      "name": "update_date_shift",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/908_update_date_shift.py",
      "read_script": "generator/df-reads-spark-iceberg/908_update_date_shift.sql",
      "description": "UPDATE DATE column (Date32) by shifting values forward",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/909_update_boolean_flip",
      "num": 909,
      "name": "update_boolean_flip",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/909_update_boolean_flip.py",
      "read_script": "generator/df-reads-spark-iceberg/909_update_boolean_flip.sql",
      "description": "UPDATE that flips BOOLEAN columns using CASE expressions.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/90_null_only_column_statistics",
      "num": 90,
      "name": "null_only_column_statistics",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/90_null_only_column_statistics.py",
      "read_script": "generator/df-reads-spark-iceberg/90_null_only_column_statistics.sql",
      "description": "- Statistics for columns containing only NULL values - Tests how Delta handles statistics when: - All values in a column are NULL - nullCount equals numRecords - minValues and maxValues are absent or null",
      "status": "pass",
      "duration_ms": 15,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 15,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:binary",
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "storage:statistics",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/910_update_boolean_conditional",
      "num": 910,
      "name": "update_boolean_conditional",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/910_update_boolean_conditional.py",
      "read_script": "generator/df-reads-spark-iceberg/910_update_boolean_conditional.sql",
      "description": "UPDATE SET BOOLEAN based on numeric predicate. Tests",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/911_update_string_concat",
      "num": 911,
      "name": "update_string_concat",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/911_update_string_concat.py",
      "read_script": "generator/df-reads-spark-iceberg/911_update_string_concat.sql",
      "description": "UPDATE STRING columns with CONCAT expressions. Tests",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/912_update_string_cast",
      "num": 912,
      "name": "update_string_cast",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/912_update_string_cast.py",
      "read_script": "generator/df-reads-spark-iceberg/912_update_string_cast.sql",
      "description": "UPDATE STRING columns from numeric values via CAST.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/913_update_to_null_per_type",
      "num": 913,
      "name": "update_to_null_per_type",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/913_update_to_null_per_type.py",
      "read_script": "generator/df-reads-spark-iceberg/913_update_to_null_per_type.sql",
      "description": "UPDATE each data type column to NULL individually.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:null-handling",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/914_update_from_null_to_value",
      "num": 914,
      "name": "update_from_null_to_value",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/914_update_from_null_to_value.py",
      "read_script": "generator/df-reads-spark-iceberg/914_update_from_null_to_value.sql",
      "description": "UPDATE that replaces NULL with typed values. Tests the",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/915_update_struct_preserve",
      "num": 915,
      "name": "update_struct_preserve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/915_update_struct_preserve.py",
      "read_script": "generator/df-reads-spark-iceberg/915_update_struct_preserve.sql",
      "description": "UPDATE scalar columns on a table that contains a STRUCT",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:update",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/916_update_decimal_negative",
      "num": 916,
      "name": "update_decimal_negative",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/916_update_decimal_negative.py",
      "read_script": "generator/df-reads-spark-iceberg/916_update_decimal_negative.sql",
      "description": "UPDATE DECIMAL to negative values and zero. Tests sign",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/917_update_decimal_boundary",
      "num": 917,
      "name": "update_decimal_boundary",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/917_update_decimal_boundary.py",
      "read_script": "generator/df-reads-spark-iceberg/917_update_decimal_boundary.sql",
      "description": "UPDATE DECIMAL at precision boundaries. DECIMAL(5,2)",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/918_update_int_boundary",
      "num": 918,
      "name": "update_int_boundary",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/918_update_int_boundary.py",
      "read_script": "generator/df-reads-spark-iceberg/918_update_int_boundary.sql",
      "description": "UPDATE INT near max/min boundaries. Tests that the",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/919_update_double_extremes",
      "num": 919,
      "name": "update_double_extremes",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/919_update_double_extremes.py",
      "read_script": "generator/df-reads-spark-iceberg/919_update_double_extremes.sql",
      "description": "UPDATE DOUBLE with very small and very large values.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boundary",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/91_utf8_special_characters_paths",
      "num": 91,
      "name": "utf8_special_characters_paths",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/91_utf8_special_characters_paths.py",
      "read_script": "generator/df-reads-spark-iceberg/91_utf8_special_characters_paths.sql",
      "description": null,
      "status": "pass",
      "duration_ms": 21,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 21,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "delta:partitioning",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/920_update_case_multi_branch",
      "num": 920,
      "name": "update_case_multi_branch",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/920_update_case_multi_branch.py",
      "read_script": "generator/df-reads-spark-iceberg/920_update_case_multi_branch.sql",
      "description": "UPDATE with complex multi-branch CASE expression",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/921_update_where_decimal",
      "num": 921,
      "name": "update_where_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/921_update_where_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/921_update_where_decimal.sql",
      "description": "UPDATE with DECIMAL comparison in WHERE clause. Tests",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/922_update_where_timestamp",
      "num": 922,
      "name": "update_where_timestamp",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/922_update_where_timestamp.py",
      "read_script": "generator/df-reads-spark-iceberg/922_update_where_timestamp.sql",
      "description": "UPDATE with TIMESTAMP comparison in WHERE clause. Tests",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/923_update_where_boolean",
      "num": 923,
      "name": "update_where_boolean",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/923_update_where_boolean.py",
      "read_script": "generator/df-reads-spark-iceberg/923_update_where_boolean.sql",
      "description": "UPDATE with BOOLEAN WHERE predicates combined with other",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/924_update_where_null",
      "num": 924,
      "name": "update_where_null",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/924_update_where_null.py",
      "read_script": "generator/df-reads-spark-iceberg/924_update_where_null.sql",
      "description": "UPDATE with IS NULL / IS NOT NULL predicates for STRING,",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:constraints",
        "delta:default-values",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/925_update_decimal_round",
      "num": 925,
      "name": "update_decimal_round",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/925_update_decimal_round.py",
      "read_script": "generator/df-reads-spark-iceberg/925_update_decimal_round.sql",
      "description": "UPDATE with ROUND on DECIMAL. Tests that the engine",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/926_update_cast_chain",
      "num": 926,
      "name": "update_cast_chain",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/926_update_cast_chain.py",
      "read_script": "generator/df-reads-spark-iceberg/926_update_cast_chain.sql",
      "description": "UPDATE with chained CASTs: INT -> DOUBLE -> DECIMAL -> STRING.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/927_update_multi_col_same_type",
      "num": 927,
      "name": "update_multi_col_same_type",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/927_update_multi_col_same_type.py",
      "read_script": "generator/df-reads-spark-iceberg/927_update_multi_col_same_type.sql",
      "description": "UPDATE SET on 5 columns of the same type (all INT)",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/928_update_multi_col_mixed_types",
      "num": 928,
      "name": "update_multi_col_mixed_types",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/928_update_multi_col_mixed_types.py",
      "read_script": "generator/df-reads-spark-iceberg/928_update_multi_col_mixed_types.sql",
      "description": "UPDATE SET on 6 columns of different types simultaneously",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/929_update_sequential_same_col",
      "num": 929,
      "name": "update_sequential_same_col",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/929_update_sequential_same_col.py",
      "read_script": "generator/df-reads-spark-iceberg/929_update_sequential_same_col.sql",
      "description": "5 sequential UPDATEs on the same column (counter).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/92_large_transaction_log_many_versions",
      "num": 92,
      "name": "large_transaction_log_many_versions",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/92_large_transaction_log_many_versions.py",
      "read_script": "generator/df-reads-spark-iceberg/92_large_transaction_log_many_versions.sql",
      "description": "Large transaction log with many versions without checkpoint.",
      "status": "pass",
      "duration_ms": 16,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 16,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/930_update_sequential_diff_cols",
      "num": 930,
      "name": "update_sequential_diff_cols",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/930_update_sequential_diff_cols.py",
      "read_script": "generator/df-reads-spark-iceberg/930_update_sequential_diff_cols.sql",
      "description": "5 sequential UPDATEs each targeting a different column.",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:default-values",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/931_update_decimal_zero_and_negative",
      "num": 931,
      "name": "update_decimal_zero_and_negative",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/931_update_decimal_zero_and_negative.py",
      "read_script": "generator/df-reads-spark-iceberg/931_update_decimal_zero_and_negative.sql",
      "description": "UPDATE DECIMAL to classify rows by sign (positive, negative,",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/932_update_timestamp_microsecond",
      "num": 932,
      "name": "update_timestamp_microsecond",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/932_update_timestamp_microsecond.py",
      "read_script": "generator/df-reads-spark-iceberg/932_update_timestamp_microsecond.sql",
      "description": "UPDATE TIMESTAMP with 1-microsecond precision difference.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/933_update_string_to_typed",
      "num": 933,
      "name": "update_string_to_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/933_update_string_to_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/933_update_string_to_typed.sql",
      "description": "UPDATE that converts string column values into typed",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/934_update_cross_type_expression",
      "num": 934,
      "name": "update_cross_type_expression",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/934_update_cross_type_expression.py",
      "read_script": "generator/df-reads-spark-iceberg/934_update_cross_type_expression.sql",
      "description": "UPDATE where SET expression references multiple typed columns",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/935_update_conditional_per_partition",
      "num": 935,
      "name": "update_conditional_per_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/935_update_conditional_per_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/935_update_conditional_per_partition.sql",
      "description": "UPDATE with different SET expressions per partition.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "delta:partitioning",
        "iceberg:partition-spec",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/936_update_decimal_where_range",
      "num": 936,
      "name": "update_decimal_where_range",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/936_update_decimal_where_range.py",
      "read_script": "generator/df-reads-spark-iceberg/936_update_decimal_where_range.sql",
      "description": "UPDATE with DECIMAL range comparisons in WHERE (< and >=).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/937_update_boolean_from_comparison",
      "num": 937,
      "name": "update_boolean_from_comparison",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/937_update_boolean_from_comparison.py",
      "read_script": "generator/df-reads-spark-iceberg/937_update_boolean_from_comparison.sql",
      "description": "UPDATE SET BOOLEAN columns from various comparison expressions",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/938_update_preserve_six_types",
      "num": 938,
      "name": "update_preserve_six_types",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/938_update_preserve_six_types.py",
      "read_script": "generator/df-reads-spark-iceberg/938_update_preserve_six_types.sql",
      "description": "UPDATE only 1 column (tag), verifying that 6 other typed",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/939_update_decimal_cdc",
      "num": 939,
      "name": "update_decimal_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/939_update_decimal_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/939_update_decimal_cdc.sql",
      "description": "UPDATE DECIMAL columns with CDC (Change Data Feed) enabled.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/93_data_change_flag_scenarios",
      "num": 93,
      "name": "data_change_flag_scenarios",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/93_data_change_flag_scenarios.py",
      "read_script": "generator/df-reads-spark-iceberg/93_data_change_flag_scenarios.sql",
      "description": "The dataChange flag in add and remove actions.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "dml:merge",
        "dml:overwrite",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "scale:wide-schema",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/940_update_timestamp_cdc",
      "num": 940,
      "name": "update_timestamp_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/940_update_timestamp_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/940_update_timestamp_cdc.sql",
      "description": "UPDATE TIMESTAMP column with CDC (Change Data Feed) enabled.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/941_update_decimal_optimize",
      "num": 941,
      "name": "update_decimal_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/941_update_decimal_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/941_update_decimal_optimize.sql",
      "description": "UPDATE DECIMAL(10,2) column then OPTIMIZE. Tests that",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/942_update_timestamp_optimize",
      "num": 942,
      "name": "update_timestamp_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/942_update_timestamp_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/942_update_timestamp_optimize.sql",
      "description": "UPDATE TIMESTAMP column then OPTIMIZE. Tests that",
      "status": "pass",
      "duration_ms": 5,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 5,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/943_update_boolean_optimize",
      "num": 943,
      "name": "update_boolean_optimize",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/943_update_boolean_optimize.py",
      "read_script": "generator/df-reads-spark-iceberg/943_update_boolean_optimize.sql",
      "description": "UPDATE BOOLEAN column then OPTIMIZE. Tests that BOOLEAN",
      "status": "pass",
      "duration_ms": 6,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 6,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/944_update_decimal_constraint",
      "num": 944,
      "name": "update_decimal_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/944_update_decimal_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/944_update_decimal_constraint.sql",
      "description": "UPDATE DECIMAL(10,2) column respecting a CHECK constraint.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/945_update_int_constraint",
      "num": 945,
      "name": "update_int_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/945_update_int_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/945_update_int_constraint.sql",
      "description": "UPDATE INT column respecting a CHECK constraint.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/946_update_decimal_colmap",
      "num": 946,
      "name": "update_decimal_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/946_update_decimal_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/946_update_decimal_colmap.sql",
      "description": "UPDATE DECIMAL(12,4) column with column mapping (name mode).",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/947_update_timestamp_colmap",
      "num": 947,
      "name": "update_timestamp_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/947_update_timestamp_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/947_update_timestamp_colmap.sql",
      "description": "UPDATE TIMESTAMP column with column mapping (name mode).",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/948_update_evolve_then_update",
      "num": 948,
      "name": "update_evolve_then_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/948_update_evolve_then_update.py",
      "read_script": "generator/df-reads-spark-iceberg/948_update_evolve_then_update.sql",
      "description": "ADD COLUMN (DECIMAL) via schema evolution then UPDATE",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/949_update_evolve_timestamp",
      "num": 949,
      "name": "update_evolve_timestamp",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/949_update_evolve_timestamp.py",
      "read_script": "generator/df-reads-spark-iceberg/949_update_evolve_timestamp.sql",
      "description": "ADD TIMESTAMP column via schema evolution then UPDATE it.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/94_set_transaction_idempotent_writes",
      "num": 94,
      "name": "set_transaction_idempotent_writes",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/94_set_transaction_idempotent_writes.py",
      "read_script": "generator/df-reads-spark-iceberg/94_set_transaction_idempotent_writes.sql",
      "description": "Schema (15 columns) for streaming events with idempotent writes",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/950_update_evolve_boolean",
      "num": 950,
      "name": "update_evolve_boolean",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/950_update_evolve_boolean.py",
      "read_script": "generator/df-reads-spark-iceberg/950_update_evolve_boolean.sql",
      "description": "ADD BOOLEAN column via schema evolution then UPDATE it",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/951_update_then_delete_typed",
      "num": 951,
      "name": "update_then_delete_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/951_update_then_delete_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/951_update_then_delete_typed.sql",
      "description": "UPDATE typed columns (DECIMAL+TIMESTAMP+BOOLEAN) then",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/952_update_decimal_partition",
      "num": 952,
      "name": "update_decimal_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/952_update_decimal_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/952_update_decimal_partition.sql",
      "description": "UPDATE DECIMAL(10,2) column on a partitioned table.",
      "status": "pass",
      "duration_ms": 12,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 12,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/953_update_timestamp_partition",
      "num": 953,
      "name": "update_timestamp_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/953_update_timestamp_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/953_update_timestamp_partition.sql",
      "description": "UPDATE TIMESTAMP column on a partitioned table.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/954_update_boolean_partition",
      "num": 954,
      "name": "update_boolean_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/954_update_boolean_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/954_update_boolean_partition.sql",
      "description": "UPDATE BOOLEAN column on a partitioned table.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/955_update_all_types_partition",
      "num": 955,
      "name": "update_all_types_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/955_update_all_types_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/955_update_all_types_partition.sql",
      "description": "UPDATE different typed columns per partition on a",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/956_update_decimal_cdc_exact",
      "num": 956,
      "name": "update_decimal_cdc_exact",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/956_update_decimal_cdc_exact.py",
      "read_script": "generator/df-reads-spark-iceberg/956_update_decimal_cdc_exact.sql",
      "description": "UPDATE DECIMAL with CDC enabled, exact CDF row counts.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/957_update_mixed_cdc_exact",
      "num": 957,
      "name": "update_mixed_cdc_exact",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/957_update_mixed_cdc_exact.py",
      "read_script": "generator/df-reads-spark-iceberg/957_update_mixed_cdc_exact.sql",
      "description": "UPDATE multiple typed columns with CDC enabled, exact",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/958_update_chain_decimal",
      "num": 958,
      "name": "update_chain_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/958_update_chain_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/958_update_chain_decimal.sql",
      "description": "3 sequential UPDATEs on a DECIMAL(10,2) column with",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/959_update_chain_timestamp",
      "num": 959,
      "name": "update_chain_timestamp",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/959_update_chain_timestamp.py",
      "read_script": "generator/df-reads-spark-iceberg/959_update_chain_timestamp.sql",
      "description": "3 sequential UPDATEs on a TIMESTAMP column with different",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/95_protocol_version_edge_cases",
      "num": 95,
      "name": "protocol_version_edge_cases",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/95_protocol_version_edge_cases.py",
      "read_script": "generator/df-reads-spark-iceberg/95_protocol_version_edge_cases.sql",
      "description": "Demonstrates protocol version edge cases and compatibility. Tests how Delta handles various protocol version scenarios: - Minimum required reader/writer versions - Feature flags vs version numbers - Backward compatibility requirements - Unknown feature handling",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/960_update_chain_boolean",
      "num": 960,
      "name": "update_chain_boolean",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/960_update_chain_boolean.py",
      "read_script": "generator/df-reads-spark-iceberg/960_update_chain_boolean.sql",
      "description": "3 sequential UPDATEs flipping a BOOLEAN column with",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/961_update_struct_colmap",
      "num": 961,
      "name": "update_struct_colmap",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/961_update_struct_colmap.py",
      "read_script": "generator/df-reads-spark-iceberg/961_update_struct_colmap.sql",
      "description": "UPDATE scalar columns on a table with STRUCT column and",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "dml:update",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/962_update_decimal_not_null",
      "num": 962,
      "name": "update_decimal_not_null",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/962_update_decimal_not_null.py",
      "read_script": "generator/df-reads-spark-iceberg/962_update_decimal_not_null.sql",
      "description": "UPDATE DECIMAL column on a table with NOT NULL columns.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/963_update_overwrite_then_update",
      "num": 963,
      "name": "update_overwrite_then_update",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/963_update_overwrite_then_update.py",
      "read_script": "generator/df-reads-spark-iceberg/963_update_overwrite_then_update.sql",
      "description": "INSERT OVERWRITE then UPDATE typed columns. Tests that",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 6,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:overwrite",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/964_update_where_compound_typed",
      "num": 964,
      "name": "update_where_compound_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/964_update_where_compound_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/964_update_where_compound_typed.sql",
      "description": "UPDATE with compound WHERE clause mixing typed predicates",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/965_update_decimal_then_update_int",
      "num": 965,
      "name": "update_decimal_then_update_int",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/965_update_decimal_then_update_int.py",
      "read_script": "generator/df-reads-spark-iceberg/965_update_decimal_then_update_int.sql",
      "description": "UPDATE DECIMAL column then UPDATE INT column on the same",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/966_update_all_types_where_id_range",
      "num": 966,
      "name": "update_all_types_where_id_range",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/966_update_all_types_where_id_range.py",
      "read_script": "generator/df-reads-spark-iceberg/966_update_all_types_where_id_range.sql",
      "description": "UPDATE all 6 typed columns (STRING, INT, DOUBLE, BOOLEAN,",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/967_update_string_operations",
      "num": 967,
      "name": "update_string_operations",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/967_update_string_operations.py",
      "read_script": "generator/df-reads-spark-iceberg/967_update_string_operations.sql",
      "description": "Various string operations in UPDATE SET clause: CONCAT,",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/968_update_decimal_from_int_cast",
      "num": 968,
      "name": "update_decimal_from_int_cast",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/968_update_decimal_from_int_cast.py",
      "read_script": "generator/df-reads-spark-iceberg/968_update_decimal_from_int_cast.sql",
      "description": "UPDATE DECIMAL(10,2) column from INT column via CAST.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/969_update_int_from_decimal_cast",
      "num": 969,
      "name": "update_int_from_decimal_cast",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/969_update_int_from_decimal_cast.py",
      "read_script": "generator/df-reads-spark-iceberg/969_update_int_from_decimal_cast.sql",
      "description": "UPDATE INT column from DECIMAL column via CAST (truncation).",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/96_statistics_nested_complex_types",
      "num": 96,
      "name": "statistics_nested_complex_types",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/96_statistics_nested_complex_types.py",
      "read_script": "generator/df-reads-spark-iceberg/96_statistics_nested_complex_types.sql",
      "description": "**CURRENTLY DISABLED** - Table 95 is disabled due to Arrow 57.x Parquet reader limitation.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "scale:nested-types",
        "storage:statistics",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/970_update_noop_all_types",
      "num": 970,
      "name": "update_noop_all_types",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/970_update_noop_all_types.py",
      "read_script": "generator/df-reads-spark-iceberg/970_update_noop_all_types.sql",
      "description": "No-op UPDATE (SET col=col) for every typed column. Tests",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/971_update_decimal_colmap_cdc",
      "num": 971,
      "name": "update_decimal_colmap_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/971_update_decimal_colmap_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/971_update_decimal_colmap_cdc.sql",
      "description": "DECIMAL UPDATE + column mapping (name) + CDC. Three-way",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/972_update_typed_partition_cdc",
      "num": 972,
      "name": "update_typed_partition_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/972_update_typed_partition_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/972_update_typed_partition_cdc.sql",
      "description": "Typed UPDATE + partition + CDC. Three-way combination.",
      "status": "pass",
      "duration_ms": 7,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 7,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/973_update_typed_constraint_evolve",
      "num": 973,
      "name": "update_typed_constraint_evolve",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/973_update_typed_constraint_evolve.py",
      "read_script": "generator/df-reads-spark-iceberg/973_update_typed_constraint_evolve.sql",
      "description": "Typed UPDATE + constraint + schema evolution. Three-way.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:constraints",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/974_update_typed_optimize_partition",
      "num": 974,
      "name": "update_typed_optimize_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/974_update_typed_optimize_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/974_update_typed_optimize_partition.sql",
      "description": "Typed UPDATE + OPTIMIZE + partition. Three-way.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "delta:optimize",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/975_update_colmap_evolve_typed",
      "num": 975,
      "name": "update_colmap_evolve_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/975_update_colmap_evolve_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/975_update_colmap_evolve_typed.sql",
      "description": "Column mapping (name) + schema evolution + typed UPDATE.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/976_update_cdc_constraint_typed",
      "num": 976,
      "name": "update_cdc_constraint_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/976_update_cdc_constraint_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/976_update_cdc_constraint_typed.sql",
      "description": "CDC + constraint + typed UPDATE. Three-way.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/977_update_large_decimal",
      "num": 977,
      "name": "update_large_decimal",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/977_update_large_decimal.py",
      "read_script": "generator/df-reads-spark-iceberg/977_update_large_decimal.sql",
      "description": "Large scale UPDATE (2000 rows) with DECIMAL precision.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/978_update_large_mixed",
      "num": 978,
      "name": "update_large_mixed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/978_update_large_mixed.py",
      "read_script": "generator/df-reads-spark-iceberg/978_update_large_mixed.sql",
      "description": "Large scale UPDATE (2000 rows) with 4 typed columns.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/979_update_large_sequential",
      "num": 979,
      "name": "update_large_sequential",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/979_update_large_sequential.py",
      "read_script": "generator/df-reads-spark-iceberg/979_update_large_sequential.sql",
      "description": "Large scale (1000 rows) with 10 sequential UPDATEs.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/97_binary_data_type_handling",
      "num": 97,
      "name": "binary_data_type_handling",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/97_binary_data_type_handling.py",
      "read_script": "generator/df-reads-spark-iceberg/97_binary_data_type_handling.sql",
      "description": "Demonstrates binary data type handling in Delta Lake. Tests how Delta handles binary columns: - Raw binary data storage - Statistics for binary columns (typically not collected) - NULL handling for binary - Various binary content types",
      "status": "pending",
      "duration_ms": null,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": null,
      "tags": [
        "type:binary",
        "type:boolean",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "storage:parquet-compression",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/980_update_single_row_typed",
      "num": 980,
      "name": "update_single_row_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/980_update_single_row_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/980_update_single_row_typed.sql",
      "description": "UPDATE single row with all types. Tests minimum-scale",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/981_update_empty_result_typed",
      "num": 981,
      "name": "update_empty_result_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/981_update_empty_result_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/981_update_empty_result_typed.sql",
      "description": "UPDATE WHERE false on typed table. No rows match the",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/982_update_full_table_typed",
      "num": 982,
      "name": "update_full_table_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/982_update_full_table_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/982_update_full_table_typed.sql",
      "description": "UPDATE all rows (no WHERE clause) with typed columns.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/983_update_typed_delete_typed",
      "num": 983,
      "name": "update_typed_delete_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/983_update_typed_delete_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/983_update_typed_delete_typed.sql",
      "description": "UPDATE typed then DELETE on typed predicate. Tests",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/984_update_delete_update_typed",
      "num": 984,
      "name": "update_delete_update_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/984_update_delete_update_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/984_update_delete_update_typed.sql",
      "description": "UPDATE then DELETE then UPDATE. Three-step DML chain",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:delete",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/985_update_typed_then_insert",
      "num": 985,
      "name": "update_typed_then_insert",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/985_update_typed_then_insert.py",
      "read_script": "generator/df-reads-spark-iceberg/985_update_typed_then_insert.sql",
      "description": "UPDATE typed columns then INSERT more rows. Tests that",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/986_update_struct_fields",
      "num": 986,
      "name": "update_struct_fields",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/986_update_struct_fields.py",
      "read_script": "generator/df-reads-spark-iceberg/986_update_struct_fields.sql",
      "description": "UPDATE non-struct columns on table with nested STRUCT.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:floating",
        "type:integer",
        "type:string",
        "type:struct",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "scale:nested-types",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/987_update_decimal_two_constraints",
      "num": 987,
      "name": "update_decimal_two_constraints",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/987_update_decimal_two_constraints.py",
      "read_script": "generator/df-reads-spark-iceberg/987_update_decimal_two_constraints.sql",
      "description": "Two CHECK constraints on DECIMAL column + UPDATE.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:constraints",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/988_update_typed_nmbys_style",
      "num": 988,
      "name": "update_typed_nmbys_style",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/988_update_typed_nmbys_style.py",
      "read_script": "generator/df-reads-spark-iceberg/988_update_typed_nmbys_style.sql",
      "description": "UPDATE simulating NOT-MATCHED-BY-SOURCE pattern.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:default-values",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/989_update_typed_colmap_partition",
      "num": 989,
      "name": "update_typed_colmap_partition",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/989_update_typed_colmap_partition.py",
      "read_script": "generator/df-reads-spark-iceberg/989_update_typed_colmap_partition.sql",
      "description": "Column mapping (name) + partition + typed UPDATE.",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/98_decimal_precision_edge_cases",
      "num": 98,
      "name": "decimal_precision_edge_cases",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/98_decimal_precision_edge_cases.py",
      "read_script": "generator/df-reads-spark-iceberg/98_decimal_precision_edge_cases.sql",
      "description": "Demonstrates decimal precision and scale edge cases. Tests how Delta handles decimal types at their limits: - Maximum precision: Decimal(38, 0) - 38 significant digits - Maximum scale: Decimal(38, 38) - all decimal places - Various precision/scale combinations",
      "status": "pass",
      "duration_ms": 13,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 13,
      "read_warm_ms": 5,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "delta:constraints",
        "delta:deletion-vectors",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/990_update_evolve_decimal_constraint",
      "num": 990,
      "name": "update_evolve_decimal_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/990_update_evolve_decimal_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/990_update_evolve_decimal_constraint.sql",
      "description": "Schema evolution + DECIMAL + constraint + UPDATE.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:update",
        "delta:constraints",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/991_update_three_decimal_cols",
      "num": 991,
      "name": "update_three_decimal_cols",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/991_update_three_decimal_cols.py",
      "read_script": "generator/df-reads-spark-iceberg/991_update_three_decimal_cols.sql",
      "description": "UPDATE 3 DECIMAL columns with different scales simultaneously.",
      "status": "pass",
      "duration_ms": 11,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 11,
      "read_warm_ms": 2,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/992_update_timestamp_date_together",
      "num": 992,
      "name": "update_timestamp_date_together",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/992_update_timestamp_date_together.py",
      "read_script": "generator/df-reads-spark-iceberg/992_update_timestamp_date_together.sql",
      "description": "UPDATE both TIMESTAMP and DATE columns in the same statement.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:date",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/993_update_boolean_three_cols",
      "num": 993,
      "name": "update_boolean_three_cols",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/993_update_boolean_three_cols.py",
      "read_script": "generator/df-reads-spark-iceberg/993_update_boolean_three_cols.sql",
      "description": "UPDATE 3 BOOLEAN columns with different CASE conditions",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:integer",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/994_update_string_from_typed",
      "num": 994,
      "name": "update_string_from_typed",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/994_update_string_from_typed.py",
      "read_script": "generator/df-reads-spark-iceberg/994_update_string_from_typed.sql",
      "description": "UPDATE STRING columns derived from typed columns via CAST.",
      "status": "pass",
      "duration_ms": 8,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 8,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/995_update_decimal_partition_cdc",
      "num": 995,
      "name": "update_decimal_partition_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/995_update_decimal_partition_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/995_update_decimal_partition_cdc.sql",
      "description": "DECIMAL UPDATE + partition + CDC. Three-way combination.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 3,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/996_update_typed_colmap_evolve_cdc",
      "num": 996,
      "name": "update_typed_colmap_evolve_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/996_update_typed_colmap_evolve_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/996_update_typed_colmap_evolve_cdc.sql",
      "description": "Column mapping + schema evolution + CDC + typed UPDATE.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:change-data-feed",
        "delta:column-mapping",
        "delta:deletion-vectors",
        "schema:add-column",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/997_update_typed_optimize_cdc",
      "num": 997,
      "name": "update_typed_optimize_cdc",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/997_update_typed_optimize_cdc.py",
      "read_script": "generator/df-reads-spark-iceberg/997_update_typed_optimize_cdc.sql",
      "description": "OPTIMIZE + CDC + typed UPDATE. Three-way combination.",
      "status": "pass",
      "duration_ms": 9,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 9,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:change-data-feed",
        "delta:deletion-vectors",
        "delta:optimize",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/998_update_decimal_chain_four",
      "num": 998,
      "name": "update_decimal_chain_four",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/998_update_decimal_chain_four.py",
      "read_script": "generator/df-reads-spark-iceberg/998_update_decimal_chain_four.sql",
      "description": "4 sequential DECIMAL UPDATEs with maximum DV stacking.",
      "status": "pass",
      "duration_ms": 10,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 10,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "dml:insert",
        "dml:update",
        "delta:deletion-vectors",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/999_update_all_types_cdc_partition_constraint",
      "num": 999,
      "name": "update_all_types_cdc_partition_constraint",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/999_update_all_types_cdc_partition_constraint.py",
      "read_script": "generator/df-reads-spark-iceberg/999_update_all_types_cdc_partition_constraint.sql",
      "description": "Five-way combination: all types + CDC + partition +",
      "status": "pass",
      "duration_ms": 14,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T08:05:28.757444+00:00",
      "read_cold_ms": 14,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:insert",
        "dml:update",
        "delta:change-data-feed",
        "delta:constraints",
        "delta:deletion-vectors",
        "delta:partitioning",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    },
    {
      "id": "spark-writes/iceberg/99_checkpoint_parquet_schema_structure",
      "num": 99,
      "name": "checkpoint_parquet_schema_structure",
      "type": "spark-writes",
      "format": "iceberg",
      "writer": "spark",
      "reader": "delta-forge",
      "write_script": "generator/spark-writes-iceberg/99_checkpoint_parquet_schema_structure.py",
      "read_script": "generator/df-reads-spark-iceberg/99_checkpoint_parquet_schema_structure.sql",
      "description": "Checkpoint Parquet file internal schema structure.",
      "status": "pass",
      "duration_ms": 18,
      "error": null,
      "notes": null,
      "extras": {},
      "verified_at": "2026-05-15T07:48:40.237726+00:00",
      "read_cold_ms": 18,
      "read_warm_ms": 4,
      "skip_feature": null,
      "skip_cause": null,
      "tags": [
        "type:boolean",
        "type:date",
        "type:decimal",
        "type:floating",
        "type:integer",
        "type:string",
        "type:timestamp",
        "dml:delete",
        "dml:insert",
        "dml:overwrite",
        "delta:constraints",
        "delta:partitioning",
        "scale:large-dataset",
        "direction:spark-writes",
        "format:iceberg"
      ],
      "manual_tags": [],
      "concern_note": null
    }
  ],
  "tag_catalog": {
    "concerns": [
      {
        "key": "types",
        "label": "Data Types",
        "blurb": "Type fidelity across the round trip.",
        "tags": [
          {
            "slug": "type:integer",
            "label": "Integer types",
            "hint": "INT / BIGINT / SMALLINT / TINYINT round-trip."
          },
          {
            "slug": "type:floating",
            "label": "FLOAT / DOUBLE",
            "hint": "Float and double, including special values."
          },
          {
            "slug": "type:decimal",
            "label": "DECIMAL",
            "hint": "Fixed-point decimal with explicit precision and scale."
          },
          {
            "slug": "type:string",
            "label": "STRING",
            "hint": "Variable-length string columns."
          },
          {
            "slug": "type:binary",
            "label": "BINARY",
            "hint": "Binary / byte-array columns."
          },
          {
            "slug": "type:boolean",
            "label": "BOOLEAN",
            "hint": "Boolean columns and predicates."
          },
          {
            "slug": "type:date",
            "label": "DATE",
            "hint": "DATE (no time component)."
          },
          {
            "slug": "type:timestamp",
            "label": "TIMESTAMP",
            "hint": "Timezone-aware timestamp."
          },
          {
            "slug": "type:timestamp-ntz",
            "label": "TIMESTAMP_NTZ",
            "hint": "Timestamp without time zone (Databricks 13+)."
          },
          {
            "slug": "type:struct",
            "label": "STRUCT",
            "hint": "Nested struct columns."
          },
          {
            "slug": "type:array",
            "label": "ARRAY",
            "hint": "Array / list columns."
          },
          {
            "slug": "type:map",
            "label": "MAP",
            "hint": "Map / key-value columns."
          },
          {
            "slug": "type:unicode",
            "label": "Unicode column names",
            "hint": "Non-ASCII identifiers and values."
          },
          {
            "slug": "type:null-handling",
            "label": "NULL handling",
            "hint": "All-null rows, sparse nulls, NULL per type."
          },
          {
            "slug": "type:boundary",
            "label": "Boundary values",
            "hint": "INT/BIGINT min/max, decimal precision edges."
          }
        ]
      },
      {
        "key": "dml",
        "label": "DML",
        "blurb": "Mutation operations and the patterns engineers actually run.",
        "tags": [
          {
            "slug": "dml:insert",
            "label": "INSERT",
            "hint": "Single and multi-batch INSERT."
          },
          {
            "slug": "dml:update",
            "label": "UPDATE",
            "hint": "UPDATE with predicates and computed SET clauses."
          },
          {
            "slug": "dml:delete",
            "label": "DELETE",
            "hint": "DELETE with predicates including compound and modular forms."
          },
          {
            "slug": "dml:merge",
            "label": "MERGE",
            "hint": "MERGE / UPSERT (matched + not-matched)."
          },
          {
            "slug": "dml:overwrite",
            "label": "INSERT OVERWRITE",
            "hint": "INSERT OVERWRITE and overwrite-schema patterns."
          },
          {
            "slug": "dml:truncate",
            "label": "TRUNCATE",
            "hint": "TRUNCATE / wipe-then-reload."
          },
          {
            "slug": "dml:cdc-write",
            "label": "CDC-emitting DML",
            "hint": "DML that writes CDF entries (UPDATE / DELETE on CDF-enabled tables)."
          }
        ]
      },
      {
        "key": "delta",
        "label": "Delta Lake Features",
        "blurb": "Delta protocol features a Databricks workload relies on.",
        "tags": [
          {
            "slug": "delta:deletion-vectors",
            "label": "Deletion vectors",
            "hint": "delta.enableDeletionVectors -- bitmap-based deletes."
          },
          {
            "slug": "delta:change-data-feed",
            "label": "Change Data Feed (CDF)",
            "hint": "delta.enableChangeDataFeed -- _change_type / commit-version stream."
          },
          {
            "slug": "delta:column-mapping",
            "label": "Column mapping",
            "hint": "delta.columnMapping.mode -- rename/drop without rewriting data."
          },
          {
            "slug": "delta:generated-columns",
            "label": "Generated columns",
            "hint": "GENERATED ALWAYS AS column definitions."
          },
          {
            "slug": "delta:identity-columns",
            "label": "Identity columns",
            "hint": "GENERATED ... AS IDENTITY columns."
          },
          {
            "slug": "delta:constraints",
            "label": "CHECK / NOT NULL",
            "hint": "CHECK constraints and NOT NULL enforcement."
          },
          {
            "slug": "delta:default-values",
            "label": "DEFAULT values",
            "hint": "Column-level DEFAULT clauses."
          },
          {
            "slug": "delta:partitioning",
            "label": "Partitioning",
            "hint": "PARTITIONED BY / partition pruning."
          },
          {
            "slug": "delta:liquid-clustering",
            "label": "Liquid clustering",
            "hint": "CLUSTER BY / liquid clustering."
          },
          {
            "slug": "delta:z-order",
            "label": "Z-ORDER",
            "hint": "OPTIMIZE ZORDER BY data layout."
          },
          {
            "slug": "delta:optimize",
            "label": "OPTIMIZE",
            "hint": "File compaction via OPTIMIZE."
          },
          {
            "slug": "delta:vacuum",
            "label": "VACUUM",
            "hint": "Physical file cleanup."
          },
          {
            "slug": "delta:time-travel",
            "label": "Time travel",
            "hint": "VERSION AS OF / TIMESTAMP AS OF / restoreable history."
          },
          {
            "slug": "delta:row-tracking",
            "label": "Row tracking",
            "hint": "delta.enableRowTracking -- stable row IDs."
          },
          {
            "slug": "delta:checkpoint-v1",
            "label": "Checkpoint v1",
            "hint": "Classic single-file Parquet checkpoint."
          },
          {
            "slug": "delta:checkpoint-v2",
            "label": "Checkpoint v2",
            "hint": "v2 spec format with explicit metadata."
          },
          {
            "slug": "delta:checkpoint-multipart",
            "label": "Multipart checkpoint",
            "hint": "Multipart checkpoint split across multiple files."
          },
          {
            "slug": "delta:checkpoint-sidecar",
            "label": "Sidecar checkpoint",
            "hint": "Checkpoint with sidecar files."
          },
          {
            "slug": "delta:log-compaction",
            "label": "Log compaction",
            "hint": "Compacted delta-log file ranges."
          }
        ]
      },
      {
        "key": "iceberg",
        "label": "Iceberg / UniForm",
        "blurb": "Cross-format interoperability for Iceberg consumers.",
        "tags": [
          {
            "slug": "iceberg:uniform",
            "label": "UniForm enabled",
            "hint": "delta.universalFormat.enabledFormats = iceberg."
          },
          {
            "slug": "iceberg:snapshots",
            "label": "Iceberg snapshots",
            "hint": "Metadata.json + snapshot file layout."
          },
          {
            "slug": "iceberg:partition-spec",
            "label": "Partition spec",
            "hint": "Iceberg partition spec evolution."
          },
          {
            "slug": "iceberg:format-version",
            "label": "Format v2",
            "hint": "Iceberg format-version=2 (delete files, positional/equality)."
          }
        ]
      },
      {
        "key": "schema",
        "label": "Schema Evolution",
        "blurb": "Can the schema change without rewriting history.",
        "tags": [
          {
            "slug": "schema:add-column",
            "label": "ADD COLUMN",
            "hint": "Append new columns to an existing table."
          },
          {
            "slug": "schema:drop-column",
            "label": "DROP COLUMN",
            "hint": "Drop columns under column mapping."
          },
          {
            "slug": "schema:rename-column",
            "label": "RENAME COLUMN",
            "hint": "Rename columns under column mapping."
          },
          {
            "slug": "schema:type-widening",
            "label": "Type widening",
            "hint": "INT -> BIGINT and other widening conversions."
          },
          {
            "slug": "schema:reorder",
            "label": "Reorder columns",
            "hint": "Reorder column position without rewriting data."
          },
          {
            "slug": "schema:field-id-reuse",
            "label": "Field-id reuse",
            "hint": "Reuse of field IDs after drop / rename."
          }
        ]
      },
      {
        "key": "scale",
        "label": "Scale & Performance",
        "blurb": "Wide schemas, large datasets, and read-time efficiency.",
        "tags": [
          {
            "slug": "scale:large-dataset",
            "label": "Large datasets",
            "hint": "Tables with >=10k rows or millions in a single file."
          },
          {
            "slug": "scale:wide-schema",
            "label": "Wide schema",
            "hint": ">=20 columns / mixed-type wide rows."
          },
          {
            "slug": "scale:many-batches",
            "label": "Many batches",
            "hint": "Tables built via many small append batches."
          },
          {
            "slug": "scale:nested-types",
            "label": "Nested types",
            "hint": "Struct / array / map with non-trivial nesting."
          }
        ]
      },
      {
        "key": "storage",
        "label": "Storage & Files",
        "blurb": "Parquet-level behaviour and physical statistics.",
        "tags": [
          {
            "slug": "storage:parquet-encoding",
            "label": "Parquet encodings",
            "hint": "Plain, dictionary, RLE, delta-binary-packed."
          },
          {
            "slug": "storage:parquet-compression",
            "label": "Parquet compression",
            "hint": "Snappy / Zstd / Gzip / Uncompressed."
          },
          {
            "slug": "storage:rowgroup-stats",
            "label": "Row-group statistics",
            "hint": "Parquet row-group min/max vs Delta stats."
          },
          {
            "slug": "storage:statistics",
            "label": "Delta statistics",
            "hint": "Column-level stats and string truncation."
          }
        ]
      },
      {
        "key": "robustness",
        "label": "Robustness",
        "blurb": "How the system behaves when something is wrong or contested.",
        "tags": [
          {
            "slug": "robust:concurrent-writes",
            "label": "Concurrent writes",
            "hint": "Two writers, conflict detection."
          },
          {
            "slug": "robust:log-corruption",
            "label": "Log corruption",
            "hint": "Recovery from corrupted log entries."
          },
          {
            "slug": "robust:malformed-input",
            "label": "Malformed input",
            "hint": "Malformed JSON / partial files."
          },
          {
            "slug": "robust:cross-version",
            "label": "Cross-version",
            "hint": "Cross-version protocol compatibility."
          },
          {
            "slug": "robust:checkpoint-missing",
            "label": "Missing checkpoint parts",
            "hint": "Multipart checkpoint with missing parts."
          }
        ]
      },
      {
        "key": "context",
        "label": "Context",
        "blurb": "Format and round-trip direction filters.",
        "tags": [
          {
            "slug": "format:delta",
            "label": "Delta Lake",
            "hint": "Delta-format tables."
          },
          {
            "slug": "format:iceberg",
            "label": "Apache Iceberg",
            "hint": "Iceberg-format tables (incl. UniForm-bridged)."
          },
          {
            "slug": "direction:df-writes",
            "label": "DeltaForge writes",
            "hint": "DeltaForge writes, Spark reads."
          },
          {
            "slug": "direction:spark-writes",
            "label": "Spark writes",
            "hint": "Spark writes, DeltaForge reads."
          },
          {
            "slug": "direction:chaos",
            "label": "Coexistence",
            "hint": "Both engines touch the same table."
          }
        ]
      }
    ]
  },
  "tag_counts": {
    "delta:change-data-feed": 1051,
    "delta:checkpoint-multipart": 12,
    "delta:checkpoint-sidecar": 8,
    "delta:checkpoint-v1": 6,
    "delta:checkpoint-v2": 2,
    "delta:column-mapping": 802,
    "delta:constraints": 650,
    "delta:default-values": 150,
    "delta:deletion-vectors": 4189,
    "delta:generated-columns": 129,
    "delta:identity-columns": 327,
    "delta:liquid-clustering": 54,
    "delta:log-compaction": 4,
    "delta:optimize": 841,
    "delta:partitioning": 1114,
    "delta:row-tracking": 205,
    "delta:time-travel": 535,
    "delta:vacuum": 377,
    "delta:z-order": 307,
    "direction:spark-writes": 7662,
    "dml:cdc-write": 272,
    "dml:delete": 1918,
    "dml:insert": 7399,
    "dml:merge": 1271,
    "dml:overwrite": 215,
    "dml:truncate": 82,
    "dml:update": 483,
    "format:delta": 3880,
    "format:iceberg": 3782,
    "iceberg:format-version": 2,
    "iceberg:partition-spec": 4,
    "iceberg:snapshots": 15,
    "iceberg:uniform": 68,
    "robust:checkpoint-missing": 2,
    "robust:concurrent-writes": 33,
    "robust:cross-version": 2,
    "robust:log-corruption": 2,
    "robust:malformed-input": 2,
    "scale:large-dataset": 320,
    "scale:many-batches": 22,
    "scale:nested-types": 88,
    "scale:wide-schema": 301,
    "schema:add-column": 598,
    "schema:drop-column": 80,
    "schema:field-id-reuse": 2,
    "schema:rename-column": 82,
    "schema:reorder": 1,
    "schema:type-widening": 151,
    "storage:parquet-compression": 3,
    "storage:parquet-encoding": 6,
    "storage:rowgroup-stats": 6,
    "storage:statistics": 25,
    "type:array": 64,
    "type:binary": 59,
    "type:boolean": 671,
    "type:boundary": 118,
    "type:date": 267,
    "type:decimal": 1125,
    "type:floating": 1574,
    "type:integer": 7500,
    "type:map": 57,
    "type:null-handling": 35,
    "type:string": 5661,
    "type:struct": 127,
    "type:timestamp": 801,
    "type:timestamp-ntz": 30,
    "type:unicode": 74
  }
}